module Ocs::Resources::DynamicDefiners

Private Instance Methods

action_parameters(required_keys, optional_keys) click to toggle source
# File lib/ocs/resources/dynamic_definers.rb, line 99
def action_parameters(required_keys, optional_keys)
  check_required_keys(required_keys)
  parameters(required_keys + optional_keys)
end
check_required_keys(required_keys) click to toggle source
# File lib/ocs/resources/dynamic_definers.rb, line 104
def check_required_keys(required_keys)
  required_keys.each do |key|
    key = key[:attribute] if key.is_a?(Hash)
    raise MissingKeyError.new("#{key} key is required") if public_send(key).nil?
  end
end
parameters(keys) click to toggle source
# File lib/ocs/resources/dynamic_definers.rb, line 111
def parameters(keys)
  keys.each_with_object({}) do |key, params|
    attribute_name = key.is_a?(Hash) ? key[:attribute] : key
    request_key = key.is_a?(Hash) ? key[:as].to_s : key.to_s.delete("_")
    value = public_send(attribute_name)
    params[request_key] = value if value
  end
end