impressiongram 0.0.0 → 0.0.2

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