ifd_tools 0.1.7 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,51 +1,53 @@
1
1
  module IfdTools
2
- class Tracking::Event < ActiveRecord::Base
2
+ module Tracking
3
+ class Event < ActiveRecord::Base
3
4
 
4
- self.table_name = "ifd_tools_tracking_events"
5
+ self.table_name = "ifd_tools_tracking_events"
5
6
 
6
- belongs_to :customer
7
- belongs_to :trackable, polymorphic: true
7
+ belongs_to :customer
8
+ belongs_to :trackable, polymorphic: true
8
9
 
9
- attr_accessible :ip_address, :platform, :timestamp, :type, :customer_id
10
+ attr_accessible :ip_address, :platform, :timestamp, :type, :customer_id
10
11
 
11
- validates :customer, presence: true
12
+ validates :customer, presence: true
12
13
 
13
- default_scope order(:timestamp)
14
+ default_scope order(:timestamp)
14
15
 
15
- def assign_trackable_item_by_id(id)
16
- # self.trackable = AssociatedClass.find(id)
17
- raise "Must implement 'assign_trackable_item_by_id' in each IfdTools::Tracking::Event subclass to set association"
18
- end
16
+ def assign_trackable_item_by_id(id)
17
+ # self.trackable = AssociatedClass.find(id)
18
+ raise "Must implement 'assign_trackable_item_by_id' in each IfdTools::Tracking::Event subclass to set association"
19
+ end
19
20
 
20
- after_initialize do
21
- self.timestamp ||= Time.now if new_record?
22
- end
21
+ after_initialize do
22
+ self.timestamp ||= Time.now if new_record?
23
+ end
23
24
 
24
- # Class Methods
25
- class << self
25
+ # Class Methods
26
+ class << self
26
27
 
27
- def event_types
28
- Dir["#{Rails.root}/app/models/ifd_tools/tracking/*.rb"].each { |f| require f }
29
- Dir[File.expand_path(File.join(File.dirname(__FILE__), "/*.rb"))].delete_if { |f| f.end_with? "/event.rb" }.each { |f| require f }
30
- subclasses
31
- end
28
+ def event_types
29
+ Dir[File.expand_path(File.join(File.dirname(__FILE__), "/*.rb"))].delete_if { |f| f.end_with? "/event.rb" }.each { |f| require f }
30
+ Dir["#{Rails.root}/app/models/ifd_tools/tracking/*.rb"].each { |f| require f }
31
+ subclasses
32
+ end
32
33
 
33
- def platform_for_request(request)
34
- if request.headers["HTTP_USER_AGENT"] =~ /Macintosh|iPad|iPhone/
35
- "mac"
36
- else
37
- "pc"
34
+ def platform_for_request(request)
35
+ if request.headers["HTTP_USER_AGENT"] =~ /Macintosh|iPad|iPhone/
36
+ "mac"
37
+ else
38
+ "pc"
39
+ end
38
40
  end
39
- end
40
41
 
41
- def top_content
42
- content = self.where("type != ?", "IfdTools::Tracking::ApplicationEvent").group(:trackable_id).order("count(trackable_id) desc").limit(25).collect do |e|
43
- e.trackable_type.constantize.find(e.trackable_id) rescue nil
42
+ def top_content
43
+ content = self.where("type != ?", "IfdTools::Tracking::ApplicationEvent").group(:trackable_id).order("count(trackable_id) desc").limit(25).collect do |e|
44
+ e.trackable_type.constantize.find(e.trackable_id) rescue nil
45
+ end
46
+ content.compact.sort { |a,b| b.trackable_activity <=> a.trackable_activity }
44
47
  end
45
- content.compact.sort { |a,b| b.trackable_activity <=> a.trackable_activity }
46
- end
47
48
 
48
- end
49
+ end
49
50
 
51
+ end
50
52
  end
51
- end
53
+ end
@@ -1,28 +1,30 @@
1
1
  module IfdTools
2
- module Trackable
2
+ module Tracking
3
+ module Trackable
3
4
 
4
- def self.included(base)
5
- base.class_eval do
6
- has_many :tracking_events, :class_name => 'IfdTools::Tracking::Event', foreign_key: :trackable_id, dependent: :destroy
5
+ def self.included(base)
6
+ base.class_eval do
7
+ has_many :tracking_events, :class_name => 'IfdTools::Tracking::Event', foreign_key: :trackable_id, dependent: :destroy
8
+ end
7
9
  end
8
- end
9
10
 
10
- def trackable_title
11
- name rescue title
12
- end
11
+ def trackable_title
12
+ name rescue title
13
+ end
13
14
 
14
- def trackable_type
15
- self.class.name.titleize
16
- end
15
+ def trackable_type
16
+ self.class.name.titleize
17
+ end
17
18
 
18
- # Override if you might want to link to something else
19
- def trackable_resource
20
- self
21
- end
19
+ # Override if you might want to link to something else
20
+ def trackable_resource
21
+ self
22
+ end
22
23
 
23
- def trackable_activity
24
- tracking_events.count
25
- end
24
+ def trackable_activity
25
+ tracking_events.count
26
+ end
26
27
 
28
+ end
27
29
  end
28
30
  end
@@ -1,3 +1,3 @@
1
1
  module IfdTools
2
- VERSION = "0.1.7"
2
+ VERSION = "0.1.8"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ifd_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -298,7 +298,6 @@ files:
298
298
  - app/models/ifd_tools/software_update.rb
299
299
  - app/models/ifd_tools/tracking/application_event.rb
300
300
  - app/models/ifd_tools/tracking/event.rb
301
- - app/models/ifd_tools/tracking.rb
302
301
  - app/uploaders/software_uploader.rb
303
302
  - app/views/admin/contact_requests/_form.html.haml
304
303
  - app/views/admin/customers/_trend.html.haml
@@ -1,7 +0,0 @@
1
- module IfdTools
2
- module Tracking
3
- def self.table_name_prefix
4
- 'tracking_'
5
- end
6
- end
7
- end