class GrowViral::Warehouse::FetchesUsers

Attributes

config[R]
options[R]
uids[R]

Public Class Methods

fetch(*args) click to toggle source
# File lib/warehouse/fetches_users.rb, line 21
def self.fetch(*args)
  new(*args).fetch
end
new(uids, options, deps) click to toggle source
# File lib/warehouse/fetches_users.rb, line 26
def initialize(uids, options, deps)
  uids.each do |uid|
    raise HandleNotUidError unless uid.is_a? Numeric
  end

  @uids = uids
  @options = options
  @config = deps[:config]
end

Public Instance Methods

fetch() click to toggle source
# File lib/warehouse/fetches_users.rb, line 36
def fetch
  response = Net::HTTP.get_response(uri)
  data = JSON.parse(response.body)
  Users.new(
    data['twitter_users'], 
    {
      missing_ids: data['missing_ids'],
      invalid_ids: data['invalid_ids'],
      protected_ids: data['protected_ids']
    }
  )
end
uri() click to toggle source
# File lib/warehouse/fetches_users.rb, line 49
def uri
  @uri ||= URI.parse(url)
end
url() click to toggle source
# File lib/warehouse/fetches_users.rb, line 53
def url 
  u = "#{config.host}/tweeps/#{uids.join(',')}"
  u += "?for_account=#{options[:for_account]}" if options[:for_account]
  u
end