impressiongram 0.0.0 → 0.0.2

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.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.0
1
+ 0.0.2
@@ -1,7 +1,7 @@
1
- require "impressionist"
1
+ require "impressiongram"
2
2
  require "rails"
3
3
 
4
- module Impressionist
4
+ module Impressiongram
5
5
  class Engine < Rails::Engine
6
6
  initializer 'impressionist.extend_ar' do |app|
7
7
  ActiveRecord::Base.extend Impressionist::Impressionable
data/lib/impressionist.rb CHANGED
@@ -1,5 +1,5 @@
1
- IMPRESSIONIST_PATH = File.dirname(__FILE__) + "/impressionist"
1
+ IMPRESSIONIST_PATH = File.dirname(__FILE__) + "/impressiongram"
2
2
  require "#{IMPRESSIONIST_PATH}/engine.rb"
3
3
 
4
- module Impressionist
4
+ module Impressiongram
5
5
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: impressiongram
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.0
5
+ version: 0.0.2
6
6
  platform: ruby
7
7
  authors:
8
8
  - paulkaplan
@@ -94,10 +94,7 @@ files:
94
94
  - README.md
95
95
  - Rakefile
96
96
  - VERSION
97
- - app/controllers/impressionist_controller.rb
98
97
  - app/models/impression.rb
99
- - app/models/impressionist/bots.rb
100
- - app/models/impressionist/impressionable.rb
101
98
  - config/routes.rb
102
99
  - lib/generators/impressionist/impressionist_generator.rb
103
100
  - lib/generators/impressionist/templates/create_impressions_table.rb
@@ -1,68 +0,0 @@
1
- require 'digest/sha2'
2
-
3
- module ImpressionistController
4
- module ClassMethods
5
- def impressionist(opts={})
6
- before_filter { |c| c.impressionist_subapp_filter opts[:actions] }
7
- end
8
- end
9
-
10
- module InstanceMethods
11
- def self.included(base)
12
- base.before_filter :impressionist_app_filter
13
- end
14
-
15
- def impressionist(obj,message=nil)
16
- unless bypass
17
- if obj.respond_to?("impressionable?")
18
- obj.impressions.create(:message=> message,
19
- :request_hash=> @impressionist_hash,
20
- :session_hash=> request.session_options[:id],
21
- :ip_address=> request.remote_ip,
22
- :user_id=> user_id,
23
- :controller_name=>controller_name,
24
- :action_name=> action_name,
25
- :referrer=>request.referer)
26
- else
27
- raise "#{obj.class.to_s} is not impressionable!"
28
- end
29
- end
30
- end
31
-
32
- def impressionist_app_filter
33
- @impressionist_hash = Digest::SHA2.hexdigest(Time.now.to_f.to_s+rand(10000).to_s)
34
- end
35
-
36
- def impressionist_subapp_filter(actions=nil)
37
- unless bypass
38
- actions.collect!{|a|a.to_s} unless actions.blank?
39
- if actions.blank? or actions.include?(action_name)
40
- Impression.create(:controller_name=> controller_name,
41
- :action_name=> action_name,
42
- :user_id=> user_id,
43
- :request_hash=> @impressionist_hash,
44
- :session_hash=> request.session_options[:id],
45
- :ip_address=> request.remote_ip,
46
- :impressionable_type=> controller_name.singularize.camelize,
47
- :impressionable_id=> params[:id],
48
- :referrer=>request.referer)
49
- end
50
- end
51
- end
52
-
53
- private
54
- def bypass
55
- Impressionist::Bots::WILD_CARDS.each do |wild_card|
56
- return true if request.user_agent and request.user_agent.downcase.include? wild_card
57
- end
58
- Impressionist::Bots::LIST.include? request.user_agent
59
- end
60
-
61
- #use both @current_user and current_user helper
62
- def user_id
63
- user_id = @current_user ? @current_user.id : nil rescue nil
64
- user_id = current_user ? current_user.id : nil rescue nil if user_id.blank?
65
- user_id
66
- end
67
- end
68
- end