module PostJson::ArgumentMethods

Public Instance Methods

assert_valid_indifferent_keys(options, *valid_keys) click to toggle source
# File lib/post_json/concerns/argument_methods.rb, line 29
def assert_valid_indifferent_keys(options, *valid_keys)
  options.stringify_keys.assert_valid_keys(flatten_arguments(*valid_keys))
end
flatten_arguments(*arguments) click to toggle source
# File lib/post_json/concerns/argument_methods.rb, line 25
def flatten_arguments(*arguments)
  join_arguments(*arguments).split(',')
end
join_arguments(*arguments) click to toggle source
# File lib/post_json/concerns/argument_methods.rb, line 5
def join_arguments(*arguments)
  arguments = arguments[0] if arguments.length == 1 && arguments[0].is_a?(Array)
  arguments = arguments[0].split(',') if arguments.length == 1 && arguments[0].is_a?(String)

  arguments = arguments.map do |arg|
    case arg
    when nil
      nil
    when String
      arg.strip.gsub(/\s+/, ' ')
    when Symbol
      arg.to_s
    else
      arg
    end
  end

  arguments.join(',')
end