Module: Newsfeed::Logging

Extended by:
ActiveSupport::Concern
Defined in:
lib/newsfeed/logging.rb

Instance Method Summary collapse

Instance Method Details

#activities(opts = {}) ⇒ Object



48
49
50
51
52
53
54
# File 'lib/newsfeed/logging.rb', line 48

def activities(opts={})
  defaults = {:start => 0, :count => 49, :feed_name => nil, :feed_id => nil}
  opts = defaults.merge(opts)
  
  feed = init_newsfeedlab(opts[:feed_name], opts[:feed_id])
  feed.fetch(opts[:start], opts[:count])
end

#init_newsfeedlab(feed_name = nil, feed_id = nil) ⇒ Object



11
12
13
14
15
16
17
18
19
# File 'lib/newsfeed/logging.rb', line 11

def init_newsfeedlab(feed_name=nil, feed_id=nil)
  newsfeedlab_config = YAML.load(ERB.new(Rails.root.join('config', 'newsfeedlab.yml').read).result)[Rails.env] || {}
  client = Newsfeed::Client.new(newsfeedlab_config['api_url'])
  project = client.projects(newsfeedlab_config['project_name'])
  
  @log_config = self.newsfeed_log_settings rescue {}
  feed = project.feed(feed_name || @log_config[:feed_name], feed_id || @log_config[:feed_id])
  return feed
end

#log_create_activityObject



21
22
23
24
25
26
27
28
# File 'lib/newsfeed/logging.rb', line 21

def log_create_activity
  feed = init_newsfeedlab()
  return unless @log_config[:log].include?(:create)
  
  obj = {:event => "create", :type => self.class.to_s.downcase, :id => (self.id.to_s rescue nil)}
  obj[:obj] = ActiveSupport::JSON.decode(@log_config[:obj]) unless @log_config[:obj].nil?
  feed.push(obj)
end

#log_destroy_activityObject



39
40
41
42
43
44
45
46
# File 'lib/newsfeed/logging.rb', line 39

def log_destroy_activity
  feed = init_newsfeedlab()
  return unless @log_config[:log].include?(:destroy)
  
  obj = {:event => "destroy", :type => self.class.to_s.downcase, :id => (self.id.to_s rescue nil)}
  obj[:obj] = ActiveSupport::JSON.decode(@log_config[:obj]) unless @log_config[:obj].nil?
  feed.push(obj)
end

#log_update_activityObject



30
31
32
33
34
35
36
37
# File 'lib/newsfeed/logging.rb', line 30

def log_update_activity
  feed = init_newsfeedlab()
  return unless @log_config[:log].include?(:update)
  
  obj = {:event => "update", :type => self.class.to_s.downcase, :id => (self.id.to_s rescue nil)}
  obj[:obj] = ActiveSupport::JSON.decode(@log_config[:obj]) unless @log_config[:obj].nil?
  feed.push(obj)
end