impressionist 1.6.0 → 1.6.1
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.
- checksums.yaml +4 -4
- data/CHANGELOG.rdoc +8 -1
- data/README.md +2 -1
- data/UPGRADE_GUIDE.md +13 -0
- data/app/controllers/impressionist_controller.rb +2 -1
- data/lib/generators/active_record/templates/create_impressions_table.rb +1 -1
- data/lib/impressionist/models/mongoid/impression.rb +1 -0
- data/lib/impressionist/setup_association.rb +5 -1
- data/lib/impressionist/version.rb +1 -1
- data/tests/spec/minitest_helper.rb +3 -0
- data/tests/test_app/spec/controllers/articles_controller_spec.rb +16 -0
- data/upgrade_migrations/version_1_5_2.rb +12 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ece53bd074111938c17d3cbd3b97949cdd87b94b
|
4
|
+
data.tar.gz: e3f6c58a7dee094cbd9f34414d455edbc64402ef
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b104697a66dc806f93d6da4666cf2fb39610f0a63641f276b7f9b2ca627d964aded1c995bc83ec0bfbae984111d60804f3bac714f2b344d1801a429c8d4170c6
|
7
|
+
data.tar.gz: d877a077d993b98d466b614c392325aad1123bd3894503c51ee95cb893a5b04d4303e637bc58d2189e41f42d320cf3649dffd573ff5aabf74883a6292838947e
|
data/CHANGELOG.rdoc
CHANGED
@@ -1,4 +1,11 @@
|
|
1
|
-
== 1.6.
|
1
|
+
== 1.6.1 (2018-04-16)
|
2
|
+
* Add belongs_to optional true to setup_association (#264, @josephMG)
|
3
|
+
* Add missing field for Mongoid (#254, @Fibrasek)
|
4
|
+
* Implemented patch that will add the Rails major version to the migration file (#248, @jordanhudgens)
|
5
|
+
* Add params filtering on new column (#246, @rposborne)
|
6
|
+
* Add a DB migration to add params to schema. (#245, @rposborne)
|
7
|
+
|
8
|
+
== 1.6.0 (2017-05-24)
|
2
9
|
* Documentation example for counter_cache (#239, @fwolfst)
|
3
10
|
* Green Travis CI builds (#238, @jgrau)
|
4
11
|
* Rails 5.1 support (#241, @msimonborg)
|
data/README.md
CHANGED
@@ -247,7 +247,8 @@ Want to run the tests? Ok mummy
|
|
247
247
|
Contributors
|
248
248
|
------------
|
249
249
|
* [johnmcaliley - creator](https://github.com/johnmcaliley)
|
250
|
-
* [
|
250
|
+
* [jgrau - maintainer](https://github.com/jgrau)
|
251
|
+
* [acnalesso](https://github.com/acnalesso)
|
251
252
|
* [coryschires](https://github.com/coryschires)
|
252
253
|
* [georgmittendorfer](https://github.com/georgmittendorfer)
|
253
254
|
|
data/UPGRADE_GUIDE.md
ADDED
@@ -0,0 +1,13 @@
|
|
1
|
+
# Upgrade guide
|
2
|
+
|
3
|
+
## v1.5.1 -> v1.5.2
|
4
|
+
|
5
|
+
Version 1.5.2 adds are new column to the `impressions` table. If you're on v1.5.1 you need to manually add the new column using
|
6
|
+
|
7
|
+
```
|
8
|
+
add_column :impressions, :params, :text
|
9
|
+
|
10
|
+
add_index :impressions, [:impressionable_type, :impressionable_id, :params], :name => "poly_params_request_index", :unique => false
|
11
|
+
```
|
12
|
+
|
13
|
+
before upgrading.
|
@@ -51,6 +51,7 @@ module ImpressionistController
|
|
51
51
|
|
52
52
|
# creates a statment hash that contains default values for creating an impression via an AR relation.
|
53
53
|
def associative_create_statement(query_params={})
|
54
|
+
filter = ActionDispatch::Http::ParameterFilter.new(Rails.application.config.filter_parameters)
|
54
55
|
query_params.reverse_merge!(
|
55
56
|
:controller_name => controller_name,
|
56
57
|
:action_name => action_name,
|
@@ -59,7 +60,7 @@ module ImpressionistController
|
|
59
60
|
:session_hash => session_hash,
|
60
61
|
:ip_address => request.remote_ip,
|
61
62
|
:referrer => request.referer,
|
62
|
-
:params => params_hash
|
63
|
+
:params => filter.filter(params_hash)
|
63
64
|
)
|
64
65
|
end
|
65
66
|
|
@@ -1,4 +1,4 @@
|
|
1
|
-
class CreateImpressionsTable < ActiveRecord::Migration
|
1
|
+
class CreateImpressionsTable < ActiveRecord::Migration<%= Rails::VERSION::MAJOR >= 5 ? "[#{Rails.version.to_f}]" : "" %>
|
2
2
|
def self.up
|
3
3
|
create_table :impressions, :force => true do |t|
|
4
4
|
t.string :impressionable_type
|
@@ -12,7 +12,11 @@ module Impressionist
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def define_belongs_to
|
15
|
-
|
15
|
+
if ::Rails::VERSION::MAJOR.to_i >= 5
|
16
|
+
receiver.belongs_to(:impressionable, :polymorphic => true, :optional => true)
|
17
|
+
else
|
18
|
+
receiver.belongs_to(:impressionable, :polymorphic => true)
|
19
|
+
end
|
16
20
|
end
|
17
21
|
|
18
22
|
def set
|
@@ -71,4 +71,20 @@ describe ArticlesController do
|
|
71
71
|
Impression.last.session_hash.size.should eq 32
|
72
72
|
Impression.last.referrer.should eq nil
|
73
73
|
end
|
74
|
+
|
75
|
+
describe "when filtering params" do
|
76
|
+
before do
|
77
|
+
@_filtered_params = Rails.application.config.filter_parameters
|
78
|
+
Rails.application.config.filter_parameters = [:password]
|
79
|
+
end
|
80
|
+
|
81
|
+
it "values should not be recorded" do
|
82
|
+
get "index", password: "best-password-ever"
|
83
|
+
Impression.last.params.should eq("password" => "[FILTERED]")
|
84
|
+
end
|
85
|
+
|
86
|
+
after do
|
87
|
+
Rails.application.config.filter_parameters = @_filtered_params
|
88
|
+
end
|
89
|
+
end
|
74
90
|
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class Version152UpdateImpressionsTable < ActiveRecord::Migration
|
2
|
+
def self.up
|
3
|
+
add_column :impressions, :params, :text
|
4
|
+
|
5
|
+
add_index :impressions, [:impressionable_type, :impressionable_id, :params], :name => "poly_params_request_index", :unique => false
|
6
|
+
end
|
7
|
+
|
8
|
+
def self.down
|
9
|
+
remove_index :impressions, [:impressionable_type, :impressionable_id, :params], :name => "poly_params_request_index"
|
10
|
+
remove_column :impressions, :params
|
11
|
+
end
|
12
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: impressionist
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.6.
|
4
|
+
version: 1.6.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- johnmcaliley
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-04-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nokogiri
|
@@ -52,6 +52,7 @@ files:
|
|
52
52
|
- LICENSE.txt
|
53
53
|
- README.md
|
54
54
|
- Rakefile
|
55
|
+
- UPGRADE_GUIDE.md
|
55
56
|
- app/controllers/impressionist_controller.rb
|
56
57
|
- app/models/impression.rb
|
57
58
|
- app/models/impressionist/bots.rb
|
@@ -187,6 +188,7 @@ files:
|
|
187
188
|
- tests/test_app/spec/spec_helper.rb
|
188
189
|
- upgrade_migrations/version_0_3_0.rb
|
189
190
|
- upgrade_migrations/version_0_4_0.rb
|
191
|
+
- upgrade_migrations/version_1_5_2.rb
|
190
192
|
homepage: http://github.com/charlotte-ruby/impressionist
|
191
193
|
licenses:
|
192
194
|
- MIT
|
@@ -207,7 +209,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
207
209
|
version: 1.3.6
|
208
210
|
requirements: []
|
209
211
|
rubyforge_project:
|
210
|
-
rubygems_version: 2.
|
212
|
+
rubygems_version: 2.6.11
|
211
213
|
signing_key:
|
212
214
|
specification_version: 4
|
213
215
|
summary: Easy way to log impressions
|