class SimpleFeed::Response

Public Class Methods

new(data = {}) click to toggle source
# File lib/simplefeed/response.rb, line 25
def initialize(data = {})
  @result = data.dup
end

Public Instance Methods

[](user_id = nil)
Alias for: result
each() { |user_id, result| ... } click to toggle source
# File lib/simplefeed/response.rb, line 15
def each
  if block_given?
    @result.each_pair do |user_id, result|
      yield(user_id, result)
    end
  else
    @result.keys.to_enum
  end
end
for(key_or_user_id, result = nil) { |result| ... } click to toggle source
# File lib/simplefeed/response.rb, line 29
def for(key_or_user_id, result = nil)
  user_id = key_or_user_id.is_a?(SimpleFeed::Providers::Key) ?
    key_or_user_id.consumer :
    key_or_user_id

  @result[user_id] = result || yield(@result[user_id])
end
has_user?(user_id) click to toggle source
# File lib/simplefeed/response.rb, line 41
def has_user?(user_id)
  @result.key?(user_id)
end
result(user_id = nil) click to toggle source
# File lib/simplefeed/response.rb, line 65
def result(user_id = nil)
  if user_id
    @result[user_id]
  else
    if @result.values.size == 1
      @result.values.first
    else
      @result.to_hash
    end
  end
end
Also aliased as: []
to_h() click to toggle source
# File lib/simplefeed/response.rb, line 49
def to_h
  @result.to_h
end
transform() { |user_id, value| ... } click to toggle source

Passes results assigned to each user to a transformation function that in turn must return a transformed value for an individual response, and be implemented in the subclasses

# File lib/simplefeed/response.rb, line 56
def transform
  if block_given?
    @result.each_pair do |user_id, value|
      @result[user_id] = yield(user_id, value)
    end
  end
  self
end
user_count() click to toggle source
# File lib/simplefeed/response.rb, line 45
def user_count
  @result.size
end
user_ids() click to toggle source
# File lib/simplefeed/response.rb, line 37
def user_ids
  @result.keys
end