class NLBSG::GetAvailabilityInfoRequest

Constants

MODIFIERS
REQUIRED_REQUEST_FIELDS

Public Class Methods

new(hash) click to toggle source
# File lib/nlbsg/request/get_availability_info.rb, line 17
def initialize(hash)
  raise ArgumentError unless hash.is_a?(Hash)

  @options = hash
end

Public Instance Methods

build() click to toggle source
Calls superclass method NLBSG::RequestBase#build
# File lib/nlbsg/request/get_availability_info.rb, line 23
def build
  query = prepare_query.merge(modifiers: prepare_modifiers)

  super(query)
end

Private Instance Methods

prepare_modifiers() click to toggle source
# File lib/nlbsg/request/get_availability_info.rb, line 31
def prepare_modifiers
  keys = options.keys & MODIFIERS

  modifiers = {}

  keys.each do |key|
    modifiers[key] = options[key]
  end

  modifiers
end
prepare_query() click to toggle source
# File lib/nlbsg/request/get_availability_info.rb, line 43
def prepare_query
  if (options.keys & REQUIRED_REQUEST_FIELDS).empty?
    raise ArgumentError
  end

  keys = options.keys & REQUIRED_REQUEST_FIELDS

  query = {}

  keys.each do |key|
    query[key] = options[key]
  end

  query
end