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