class FlexValidations::Call
Public Class Methods
new(method, *args)
click to toggle source
# File lib/flex_validations/call.rb, line 7 def initialize(method, *args) @method = method @args = args end
Public Instance Methods
to_s()
click to toggle source
@return [String]
# File lib/flex_validations/call.rb, line 27 def to_s args = "(#{@args.map(&:inspect).join(', ')})" if @args.length > 0 "value.#{@method}#{args} should not raise error" end
validate(value)
click to toggle source
@param value [Object] Value to be validated
@return [FlexValidations::Result]
# File lib/flex_validations/call.rb, line 15 def validate(value) return not_respond(value) unless value.respond_to?(@method, false) begin ret = value.public_send(@method, *@args) success(value, ret) rescue => e failed(value, e) end end
Private Instance Methods
failed(value, error)
click to toggle source
# File lib/flex_validations/call.rb, line 94 def failed(value, error) msg = FailedMessage.new(value, @method, @args, error) Result::Fail::Simple.new(self, msg, value, error) end
not_respond(value)
click to toggle source
# File lib/flex_validations/call.rb, line 88 def not_respond(value) msg = NotRespondMessage.new(value, @method) Result::Fail::Simple.new(self, msg, value, false) end
success(value, ret)
click to toggle source
# File lib/flex_validations/call.rb, line 82 def success(value, ret) msg = SuccessMessage.new(value, @method, @args, ret) Result::Success::Simple.new(self, msg, value, ret) end