class Ebanx::Command::Command
Attributes
params[RW]
request_action[RW]
request_body[RW]
request_method[RW]
response_type[RW]
Public Instance Methods
valid?()
click to toggle source
# File lib/ebanx/command/command.rb, line 8 def valid? validate end
Protected Instance Methods
validate()
click to toggle source
# File lib/ebanx/command/command.rb, line 22 def validate raise NotImplementedError end
validate_presence(*names)
click to toggle source
# File lib/ebanx/command/command.rb, line 26 def validate_presence(*names) raise ArgumentError.new("Missing argument #{names}") unless @params.dig *names true end
validate_presence_either(args)
click to toggle source
# File lib/ebanx/command/command.rb, line 43 def validate_presence_either(args) args.each do |arg| if @params.include?(arg) return true end end raise ArgumentError.new("Missing all arguments: #{args.join(", ")}.") end
validate_presence_or(name1, name2)
click to toggle source
# File lib/ebanx/command/command.rb, line 35 def validate_presence_or(name1, name2) unless @params.include?(name1) || @params.include?(name2) raise ArgumentError.new("Missing argument, obligatory #{name1} or #{name2}") end true end
validate_with_callback(names, callback)
click to toggle source
# File lib/ebanx/command/command.rb, line 31 def validate_with_callback(names, callback) callback.call(@params.dig(*names), @params) end