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