module Croudia::API::Utils

Private Instance Methods

get_id(id) click to toggle source
# File lib/croudia/api/utils.rb, line 7
def get_id(id)
  case id
  when String, Integer
    id
  when Croudia::Identity
    id.id_str
  else
    raise ArgumentError, 'id is invalid'
  end
end
merge_file!(params, file, key=:file) click to toggle source
# File lib/croudia/api/utils.rb, line 18
def merge_file!(params, file, key=:file)
  case file
  when Hash
    params.merge!(file)
  when File
    params[key] = file
  else
    raise ArgumentError, "#{key} must be a File"
  end
  params
end
merge_id!(params, id, key=:id) click to toggle source
# File lib/croudia/api/utils.rb, line 94
def merge_id!(params, id, key=:id)
  case id
  when Hash
    params.merge!(id)
  else
    params[key] = get_id(id)
  end

  params
end
merge_query!(params, query) click to toggle source
# File lib/croudia/api/utils.rb, line 30
def merge_query!(params, query)
  case query
  when Hash
    params.merge!(query)
  when String
    params[:q] = query
  else
    raise ArgumentError, 'Search query must be a String'
  end
  params
end
merge_text!(params, text, key=:status) click to toggle source
# File lib/croudia/api/utils.rb, line 83
def merge_text!(params, text, key=:status)
  case text
  when Hash
    params.merge!(text)
  else
    params[key] ||= text.to_s
  end

  params
end
merge_user!(params, user, sn_key=:screen_name, user_key=:user_id) click to toggle source
# File lib/croudia/api/utils.rb, line 42
def merge_user!(params, user, sn_key=:screen_name, user_key=:user_id)
  case user
  when Hash
    params.merge!(user)
  when String
    params[sn_key] = user
  when Integer
    params[user_key] = user
  when Croudia::User
    params[user_key] = user.id_str
  else
    raise ArgumentError, 'user must be a String, Integer or User'
  end

  params
end
merge_users!(params, users) click to toggle source
# File lib/croudia/api/utils.rb, line 59
def merge_users!(params, users)
  user_ids = []
  screen_names = []

  users.each do |user|
    case user
    when Hash
      params.merge!(user)
    when Integer
      user_ids << user
    when String
      screen_names << user
    when Croudia::User
      user_ids << user.id_str
    else
      raise ArgumentError, 'invalid user'
    end
  end

  params[:user_id] = user_ids.join(',') unless user_ids.empty?
  params[:screen_name] = screen_names.join(',') unless screen_names.empty?
  params
end
objects(klass, array) click to toggle source
# File lib/croudia/api/utils.rb, line 105
def objects(klass, array)
  array.map { |hash| klass.new(hash) }
end