Use let
helper to add virtial memoized attributes to the scope/operation.
class CatsAPI < Evil::Client
option :version, default: proc { 0 }
option :release, default: proc { 1 }
let(:full_version) { [version, release].join(".") } # "0.1" by default
end
These virtual attributes are available inside all block declarations, including validations.