ifd_tools 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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