class SimpleFeed::Feed
Attributes
batch_size[RW]
data_key_transformer[RW]
max_size[RW]
meta_key_transformer[RW]
name[R]
namespace[RW]
per_page[RW]
Public Class Methods
new(name)
click to toggle source
# File lib/simplefeed/feed.rb, line 22 def initialize(name) @name = name @name = name.underscore.to_sym unless name.is_a?(Symbol) # set the defaults if not passed in @meta = {} @namespace = nil @per_page ||= 50 @max_size ||= 1000 @batch_size ||= 10 @meta_key_transformer = nil @data_key_transformer = nil @proxy = nil end
Public Instance Methods
activity(one_or_more_users)
click to toggle source
Depending on the argument returns either SingleUserActivity
or MultiUserActivity
# File lib/simplefeed/feed.rb, line 59 def activity(one_or_more_users) one_or_more_users.is_a?(Array) ? users_activity(one_or_more_users) : user_activity(one_or_more_users) end
class_attrs()
click to toggle source
# File lib/simplefeed/feed.rb, line 86 def class_attrs SimpleFeed.class_attributes(self.class) end
configure(hash = {}) { |self| ... }
click to toggle source
# File lib/simplefeed/feed.rb, line 65 def configure(hash = {}) SimpleFeed.symbolize!(hash) class_attrs.each do |attr| send("#{attr}=", hash[attr]) if hash.key?(attr) end yield self if block_given? end
eql?(other)
click to toggle source
# File lib/simplefeed/feed.rb, line 80 def eql?(other) other.class == self.class && %i(per_page max_size name namespace data_key_transformer meta_key_transformer).all? { |m| send(m).equal?(other.send(m)) } && provider.provider.class == other.provider.provider.class end
key(user_id)
click to toggle source
# File lib/simplefeed/feed.rb, line 73 def key(user_id) SimpleFeed::Providers::Key.new(user_id, namespace: namespace, data_key_transformer: data_key_transformer, meta_key_transformer: meta_key_transformer) end
provider()
click to toggle source
# File lib/simplefeed/feed.rb, line 42 def provider @proxy end
provider=(definition)
click to toggle source
# File lib/simplefeed/feed.rb, line 36 def provider=(definition) @proxy = Providers::Proxy.from(definition) @proxy.feed = self @proxy end
provider_type()
click to toggle source
# File lib/simplefeed/feed.rb, line 46 def provider_type SimpleFeed::Providers::Base::Provider.class_to_registry(@proxy.provider.class) end
user_activity(user_id)
click to toggle source
# File lib/simplefeed/feed.rb, line 50 def user_activity(user_id) Activity::SingleUser.new(user_id: user_id, feed: self) end
users_activity(user_ids)
click to toggle source
# File lib/simplefeed/feed.rb, line 54 def users_activity(user_ids) Activity::MultiUser.new(user_ids: user_ids, feed: self) end
Private Instance Methods
key_template()
click to toggle source
# File lib/simplefeed/feed.rb, line 92 def key_template SimpleFeed::Key::Template.new(namespace) end