counter_culture 1.9.1 → 1.9.2

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: dbd19171ad987974f7c8b1a22586f79d213480fb
4
- data.tar.gz: ec110a9a8e59b1edd33b1208d588bf2640229dec
3
+ metadata.gz: d533810e55052bcda7977adb7fdff4137d04067a
4
+ data.tar.gz: 674d61d6f4252bdf24f79d4aaab15be41c2ef258
5
5
  SHA512:
6
- metadata.gz: ecc374dd09b2af3f7ae325acb30f567b87258aeebce9fbd236266f1ed64b13965dd4c50b11db7a45d634c107d314438c578819975aa10e37c1abc1445ce474ff
7
- data.tar.gz: 6c837a717f549c2b4767c769c9d79087ab0b6c8bde80ed411acbf5fbd75bc144e4fceb0ded912624a2a68c8f5b830a24eac6ecc34416dd10e40304da70630274
6
+ metadata.gz: 34d9fea6a252d09e834425d7f385d4662335335ac98bf84bd8eb25afd480119ce6017731ba9bf2a716b9d9026e02931531ccb79841595de0e32676640e921d56
7
+ data.tar.gz: d505de4c567898de988956e15656e214b9733d7d0b910a4de34c7b0cda64acb255d57795bcf824973ea8e918bf1fc15732769fb24b0381259383158531766ffd
data/.travis.yml CHANGED
@@ -1,7 +1,9 @@
1
1
  language: ruby
2
2
  rvm:
3
- - "2.2.5"
4
- - "2.3.1"
3
+ - "2.2.10"
4
+ - "2.3.7"
5
+ - "2.4.4"
6
+ - "2.5.1"
5
7
  env:
6
8
  - 'RAILS_VERSION="~> 3.2.0"'
7
9
  - 'RAILS_VERSION="~> 4.0.0"'
@@ -11,6 +13,25 @@ env:
11
13
  - 'RAILS_VERSION="= 5.1.4"'
12
14
  - 'RAILS_VERSION="= 5.1.5"'
13
15
  - 'RAILS_VERSION="~> 5.1.5"'
16
+ - 'RAILS_VERSION="~> 5.2.0"'
17
+ matrix:
18
+ exclude:
19
+ - rvm: "2.2.10"
20
+ env: 'RAILS_VERSION="= 5.1.4"'
21
+ - rvm: "2.2.10"
22
+ env: 'RAILS_VERSION="= 5.1.5"'
23
+ - rvm: "2.4.4"
24
+ env: 'RAILS_VERSION="~> 3.2.0"'
25
+ - rvm: "2.4.4"
26
+ env: 'RAILS_VERSION="~> 4.0.0"'
27
+ - rvm: "2.4.4"
28
+ env: 'RAILS_VERSION="~> 4.1.0"'
29
+ - rvm: "2.5.1"
30
+ env: 'RAILS_VERSION="~> 3.2.0"'
31
+ - rvm: "2.5.1"
32
+ env: 'RAILS_VERSION="~> 4.0.0"'
33
+ - rvm: "2.5.1"
34
+ env: 'RAILS_VERSION="~> 4.1.0"'
14
35
  install:
15
36
  - bundle update
16
37
  script: TRAVIS=true bundle exec rake spec
data/CHANGELOG.md CHANGED
@@ -1,4 +1,18 @@
1
- ## 1.9.1 (March 1, 2017)
1
+ ## 1.9.2 (April 13, 2018)
2
+
3
+ Bugfixes:
4
+ - When using paranoia, call increment / decrement only once when calling destroy or restore on the same model multiple times
5
+
6
+ Improvements:
7
+ - Address deprecation warning when enabling paper_trail touch in paper_trail version 9.0
8
+ - Address `Arel` deprecation warnings in Rails 5.2
9
+
10
+ Changes:
11
+ - Test against Ruby 2.2 through 2.5, Rails 3.2 through 5.2
12
+ - Don't test Rails 3.2 through 4.1 against Ruby 2.4 or 2.5 as those versions of Rails will not work with those versions of Ruby
13
+ - Avoid various deprecation warnings being triggered in the test
14
+
15
+ ## 1.9.1 (March 1, 2018)
2
16
 
3
17
  Bugfixes:
4
18
  - Address an edge-case test regression caused by Rails 5.1.5 that was causing counts to be off when saving changes from an `after_create` callback
data/Gemfile CHANGED
@@ -20,7 +20,7 @@ group :development, :test do
20
20
  else
21
21
  ENV["RAILS_VERSION"]
22
22
  end
23
- gem "rails", ENV['RAILS_VERSION']
23
+ gem "rails", rails
24
24
 
25
25
  gem "rspec", "~> 3.0"
26
26
  gem "awesome_print"
@@ -28,7 +28,11 @@ group :development, :test do
28
28
 
29
29
  # to test the integration
30
30
  gem "paranoia"
31
- gem "paper_trail"
31
+ if RUBY_VERSION < "2.3.0"
32
+ gem "paper_trail", "< 9.0.0"
33
+ else
34
+ gem "paper_trail"
35
+ end
32
36
  end
33
37
 
34
38
  group :development do
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.9.1
1
+ 1.9.2
@@ -2,16 +2,16 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
- # stub: counter_culture 1.9.1 ruby lib
5
+ # stub: counter_culture 1.9.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "counter_culture"
9
- s.version = "1.9.1"
9
+ s.version = "1.9.2"
10
10
 
11
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
12
  s.require_paths = ["lib"]
13
13
  s.authors = ["Magnus von Koeller"]
14
- s.date = "2018-03-01"
14
+ s.date = "2018-04-14"
15
15
  s.description = "counter_culture provides turbo-charged counter caches that are kept up-to-date not just on create and destroy, that support multiple levels of indirection through relationships, allow dynamic column names and that avoid deadlocks by updating in the after_commit callback."
16
16
  s.email = "magnus@vonkoeller.de"
17
17
  s.extra_rdoc_files = [
@@ -67,7 +67,6 @@ Gem::Specification.new do |s|
67
67
  "spec/models/user.rb",
68
68
  "spec/rails_app/.gitignore",
69
69
  "spec/rails_app/Gemfile",
70
- "spec/rails_app/Gemfile.lock",
71
70
  "spec/rails_app/README.rdoc",
72
71
  "spec/rails_app/Rakefile",
73
72
  "spec/rails_app/app/assets/images/rails.png",
@@ -131,7 +130,7 @@ Gem::Specification.new do |s|
131
130
  s.add_runtime_dependency(%q<activerecord>, [">= 3.0.0"])
132
131
  s.add_runtime_dependency(%q<activesupport>, [">= 3.0.0"])
133
132
  s.add_development_dependency(%q<rake>, [">= 0"])
134
- s.add_development_dependency(%q<rails>, ["= 5.1.5"])
133
+ s.add_development_dependency(%q<rails>, [">= 3.1.0"])
135
134
  s.add_development_dependency(%q<rspec>, ["~> 3.0"])
136
135
  s.add_development_dependency(%q<awesome_print>, [">= 0"])
137
136
  s.add_development_dependency(%q<timecop>, [">= 0"])
@@ -145,7 +144,7 @@ Gem::Specification.new do |s|
145
144
  s.add_dependency(%q<activerecord>, [">= 3.0.0"])
146
145
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
147
146
  s.add_dependency(%q<rake>, [">= 0"])
148
- s.add_dependency(%q<rails>, ["= 5.1.5"])
147
+ s.add_dependency(%q<rails>, [">= 3.1.0"])
149
148
  s.add_dependency(%q<rspec>, ["~> 3.0"])
150
149
  s.add_dependency(%q<awesome_print>, [">= 0"])
151
150
  s.add_dependency(%q<timecop>, [">= 0"])
@@ -160,7 +159,7 @@ Gem::Specification.new do |s|
160
159
  s.add_dependency(%q<activerecord>, [">= 3.0.0"])
161
160
  s.add_dependency(%q<activesupport>, [">= 3.0.0"])
162
161
  s.add_dependency(%q<rake>, [">= 0"])
163
- s.add_dependency(%q<rails>, ["= 5.1.5"])
162
+ s.add_dependency(%q<rails>, [">= 3.1.0"])
164
163
  s.add_dependency(%q<rspec>, ["~> 3.0"])
165
164
  s.add_dependency(%q<awesome_print>, [">= 0"])
166
165
  s.add_dependency(%q<timecop>, [">= 0"])
@@ -70,7 +70,13 @@ module CounterCulture
70
70
 
71
71
  if @with_papertrail
72
72
  instance = klass.where(primary_key => id_to_change).first
73
- instance.paper_trail.touch_with_version if instance
73
+ if instance
74
+ if PaperTrail::VERSION::MAJOR >= 9
75
+ instance.touch
76
+ else
77
+ instance.paper_trail.touch_with_version
78
+ end
79
+ end
74
80
  end
75
81
 
76
82
  klass.where(primary_key => id_to_change).update_all updates.join(', ')
@@ -19,10 +19,17 @@ module CounterCulture
19
19
 
20
20
  # initialize callbacks only once
21
21
  after_create :_update_counts_after_create
22
- after_destroy :_update_counts_after_destroy
22
+ before_destroy :_update_counts_after_destroy, if: -> (model) do
23
+ if model.respond_to?(:paranoia_destroyed?)
24
+ !model.paranoia_destroyed?
25
+ else
26
+ true
27
+ end
28
+ end
23
29
  after_update :_update_counts_after_update
24
- if respond_to?(:after_restore)
25
- after_restore :_update_counts_after_create
30
+ if respond_to?(:before_restore)
31
+ before_restore :_update_counts_after_create,
32
+ if: -> (model) { model.deleted? }
26
33
  end
27
34
 
28
35
  # we keep a list of all counter caches we must maintain
@@ -47,7 +47,7 @@ module CounterCulture
47
47
 
48
48
  def polymorphic_associated_model_classes
49
49
  foreign_type_field = relation_reflect(relation).foreign_type
50
- model.pluck("DISTINCT #{foreign_type_field}").compact.map(&:constantize)
50
+ model.pluck(Arel.sql("DISTINCT #{foreign_type_field}")).compact.map(&:constantize)
51
51
  end
52
52
 
53
53
  def associated_model_class
@@ -1302,7 +1302,7 @@ describe "CounterCulture" do
1302
1302
 
1303
1303
  SimpleMain.find_each { |main| expect(main.simple_dependents_count).to eq(3) }
1304
1304
 
1305
- SimpleMain.order('random()').limit(A_FEW).update_all simple_dependents_count: 1
1305
+ SimpleMain.order(Arel.sql('random()')).limit(A_FEW).update_all simple_dependents_count: 1
1306
1306
  SimpleDependent.counter_culture_fix_counts :batch_size => A_BATCH
1307
1307
 
1308
1308
  SimpleMain.find_each { |main| expect(main.simple_dependents_count).to eq(3) }
@@ -1320,7 +1320,7 @@ describe "CounterCulture" do
1320
1320
 
1321
1321
  ConditionalMain.find_each { |main| expect(main.conditional_dependents_count).to eq(main.id % 2 == 0 ? 3 : 0) }
1322
1322
 
1323
- ConditionalMain.order('random()').limit(A_FEW).update_all :conditional_dependents_count => 1
1323
+ ConditionalMain.order(Arel.sql('random()')).limit(A_FEW).update_all :conditional_dependents_count => 1
1324
1324
  ConditionalDependent.counter_culture_fix_counts :batch_size => A_BATCH
1325
1325
 
1326
1326
  ConditionalMain.find_each { |main| expect(main.conditional_dependents_count).to eq(main.id % 2 == 0 ? 3 : 0) }
@@ -1338,7 +1338,7 @@ describe "CounterCulture" do
1338
1338
 
1339
1339
  SimpleMain.find_each { |main| expect(main.simple_dependents_count).to eq(main.id % 4) }
1340
1340
 
1341
- SimpleMain.order('random()').limit(A_FEW).update_all simple_dependents_count: 1
1341
+ SimpleMain.order(Arel.sql('random()')).limit(A_FEW).update_all simple_dependents_count: 1
1342
1342
  SimpleDependent.counter_culture_fix_counts :batch_size => A_BATCH
1343
1343
 
1344
1344
  SimpleMain.find_each { |main| expect(main.simple_dependents_count).to eq(main.id % 4) }
@@ -1663,6 +1663,39 @@ describe "CounterCulture" do
1663
1663
  sd.restore
1664
1664
  expect(company.reload.soft_deletes_count).to eq(1)
1665
1665
  end
1666
+
1667
+ it "runs destroy callback only once" do
1668
+ skip("Unsupported in this version of Rails") if Rails.version < "4.2.0"
1669
+
1670
+ company = Company.create!
1671
+ sd = SoftDelete.create!(company_id: company.id)
1672
+
1673
+ expect(company.reload.soft_deletes_count).to eq(1)
1674
+
1675
+ sd.destroy
1676
+ expect(company.reload.soft_deletes_count).to eq(0)
1677
+
1678
+ sd.destroy
1679
+ expect(company.reload.soft_deletes_count).to eq(0)
1680
+ end
1681
+
1682
+ it "runs restore callback only once" do
1683
+ skip("Unsupported in this version of Rails") if Rails.version < "4.2.0"
1684
+
1685
+ company = Company.create!
1686
+ sd = SoftDelete.create!(company_id: company.id)
1687
+
1688
+ expect(company.reload.soft_deletes_count).to eq(1)
1689
+
1690
+ sd.destroy
1691
+ expect(company.reload.soft_deletes_count).to eq(0)
1692
+
1693
+ sd.restore
1694
+ expect(company.reload.soft_deletes_count).to eq(1)
1695
+
1696
+ sd.restore
1697
+ expect(company.reload.soft_deletes_count).to eq(1)
1698
+ end
1666
1699
  end
1667
1700
 
1668
1701
  describe "with polymorphic_associations" do
@@ -1840,9 +1873,12 @@ describe "CounterCulture" do
1840
1873
 
1841
1874
  describe "with papertrail support", versioning: true do
1842
1875
  it "creates a papertrail version when changed" do
1843
- if Rails.version > "4.0.0" && Rails.version < "4.1.0"
1876
+ if Rails.version < "5.0.0"
1844
1877
  skip("Unsupported in this version of Rails")
1845
1878
  end
1879
+ if RUBY_VERSION < "2.3.0" && Rails.version >= "5.2.0"
1880
+ skip("Unsupported in this combination of Ruby and Rails")
1881
+ end
1846
1882
 
1847
1883
  user = User.create
1848
1884
  product = Product.create
@@ -1859,9 +1895,12 @@ describe "CounterCulture" do
1859
1895
  end
1860
1896
 
1861
1897
  it "does not create a papertrail version when papertrail flag not set" do
1862
- if Rails.version > "4.0.0" && Rails.version < "4.1.0"
1898
+ if Rails.version < "5.0.0"
1863
1899
  skip("Unsupported in this version of Rails")
1864
1900
  end
1901
+ if RUBY_VERSION < "2.3.0" && Rails.version >= "5.2.0"
1902
+ skip("Unsupported in this combination of Ruby and Rails")
1903
+ end
1865
1904
 
1866
1905
  user = User.create
1867
1906
  product = Product.create
@@ -3,5 +3,7 @@ class Product < ActiveRecord::Base
3
3
 
4
4
  counter_culture :category, :foreign_key_values => proc {|foreign_key_value| Category.pluck(:id) }
5
5
 
6
- has_paper_trail
6
+ if Rails.version >= "5.0.0"
7
+ has_paper_trail
8
+ end
7
9
  end
@@ -2,7 +2,7 @@ class Review < ActiveRecord::Base
2
2
  belongs_to :user
3
3
  belongs_to :product
4
4
 
5
- counter_culture :product, :touch => true, :with_papertrail => true
5
+ counter_culture :product, :touch => true, :with_papertrail => Rails.version >= "5.0.0"
6
6
  counter_culture :product, :column_name => 'rexiews_count', touch: :rexiews_updated_at
7
7
  counter_culture :user
8
8
  counter_culture :user, :column_name => proc { |model| model.review_type && model.review_type != 'null' ? "#{model.review_type}_count" : nil }, :column_names => {"reviews.review_type = 'using'" => 'using_count', "reviews.review_type = 'tried'" => 'tried_count', "reviews.review_type = 'null'" => nil}
data/spec/models/user.rb CHANGED
@@ -9,7 +9,9 @@ class User < ActiveRecord::Base
9
9
  has_many :reviews
10
10
  accepts_nested_attributes_for :reviews, :allow_destroy => true
11
11
 
12
- has_paper_trail
12
+ if Rails.version >= "5.0.0"
13
+ has_paper_trail
14
+ end
13
15
 
14
16
  default_scope do
15
17
  if _default_scope_enabled
@@ -54,5 +54,9 @@ module RailsApp
54
54
  if Rails.version >= "4.2.0" && Rails.version < "5.0.0"
55
55
  config.active_record.raise_in_transactional_callbacks = true
56
56
  end
57
+
58
+ if config.active_record.sqlite3.respond_to?(:represent_boolean_as_integer=)
59
+ config.active_record.sqlite3.represent_boolean_as_integer = true
60
+ end
57
61
  end
58
62
  end
@@ -2,12 +2,22 @@
2
2
 
3
3
  set -e
4
4
 
5
- for RAILS_VERSION in "~> 3.2.0" "~> 4.0.0" "~> 4.1.0" "~> 4.2.0" "~> 5.0.0" "= 5.1.4" "= 5.1.5" "~> 5.1.5"
6
- do
7
- export RAILS_VERSION
8
- echo "Rails $RAILS_VERSION"
9
- bundle update
10
- bundle exec rspec spec
5
+ source /usr/local/share/chruby/chruby.sh
6
+
7
+ for RUBY_VERSION in "2.2.10" "2.3.7" "2.4.4" "2.5.1"; do
8
+ chruby $RUBY_VERSION
9
+ for RAILS_VERSION in "~> 3.2.0" "~> 4.0.0" "~> 4.1.0" "~> 4.2.0" "~> 5.0.0" "= 5.1.4" "= 5.1.5" "~> 5.1.6" "~> 5.2.0"; do
10
+ echo "Ruby $RUBY_VERSION; Rails $RAILS_VERSION"
11
+ if ( [ "$RUBY_VERSION" == "2.2.10" ] && ( [ "$RAILS_VERSION" == "= 5.1.4" ] || [ "$RAILS_VERSION" == "= 5.1.5" ] ) ) || \
12
+ ( ( [ "$RUBY_VERSION" == "2.4.4" ] || ( [ "$RUBY_VERSION" == "2.5.1" ] ) && ( [ "$RAILS_VERSION" == "~> 3.2.0" ] || [ "$RAILS_VERSION" == "~> 4.0.0" ] || [ "$RAILS_VERSION" == "~> 4.1.0" ] ) ) ); then
13
+ echo "Skipping"
14
+ continue
15
+ fi
16
+ export RAILS_VERSION
17
+ type bundle > /dev/null || gem install bundler
18
+ bundle update
19
+ bundle exec rspec spec
20
+ done
11
21
  done
12
22
 
13
23
  unset RAILS_VERSION
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: counter_culture
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.9.1
4
+ version: 1.9.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Magnus von Koeller
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-03-01 00:00:00.000000000 Z
11
+ date: 2018-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: after_commit_action
@@ -70,16 +70,16 @@ dependencies:
70
70
  name: rails
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - '='
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: 5.1.5
75
+ version: 3.1.0
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - '='
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: 5.1.5
82
+ version: 3.1.0
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rspec
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -251,7 +251,6 @@ files:
251
251
  - spec/models/user.rb
252
252
  - spec/rails_app/.gitignore
253
253
  - spec/rails_app/Gemfile
254
- - spec/rails_app/Gemfile.lock
255
254
  - spec/rails_app/README.rdoc
256
255
  - spec/rails_app/Rakefile
257
256
  - spec/rails_app/app/assets/images/rails.png
@@ -1,150 +0,0 @@
1
- PATH
2
- remote: ../..
3
- specs:
4
- counter_culture (1.6.2)
5
- activerecord (>= 3.0.0)
6
- activesupport (>= 3.0.0)
7
- after_commit_action (~> 1.0)
8
-
9
- GEM
10
- remote: https://rubygems.org/
11
- specs:
12
- actionmailer (4.2.7.1)
13
- actionpack (= 4.2.7.1)
14
- actionview (= 4.2.7.1)
15
- activejob (= 4.2.7.1)
16
- mail (~> 2.5, >= 2.5.4)
17
- rails-dom-testing (~> 1.0, >= 1.0.5)
18
- actionpack (4.2.7.1)
19
- actionview (= 4.2.7.1)
20
- activesupport (= 4.2.7.1)
21
- rack (~> 1.6)
22
- rack-test (~> 0.6.2)
23
- rails-dom-testing (~> 1.0, >= 1.0.5)
24
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
25
- actionview (4.2.7.1)
26
- activesupport (= 4.2.7.1)
27
- builder (~> 3.1)
28
- erubis (~> 2.7.0)
29
- rails-dom-testing (~> 1.0, >= 1.0.5)
30
- rails-html-sanitizer (~> 1.0, >= 1.0.2)
31
- activejob (4.2.7.1)
32
- activesupport (= 4.2.7.1)
33
- globalid (>= 0.3.0)
34
- activemodel (4.2.7.1)
35
- activesupport (= 4.2.7.1)
36
- builder (~> 3.1)
37
- activerecord (4.2.7.1)
38
- activemodel (= 4.2.7.1)
39
- activesupport (= 4.2.7.1)
40
- arel (~> 6.0)
41
- activesupport (4.2.7.1)
42
- i18n (~> 0.7)
43
- json (~> 1.7, >= 1.7.7)
44
- minitest (~> 5.1)
45
- thread_safe (~> 0.3, >= 0.3.4)
46
- tzinfo (~> 1.1)
47
- after_commit_action (1.0.1)
48
- activerecord (>= 3.0.0)
49
- activesupport (>= 3.0.0)
50
- arel (6.0.3)
51
- builder (3.2.2)
52
- coffee-rails (4.2.1)
53
- coffee-script (>= 2.2.0)
54
- railties (>= 4.0.0, < 5.2.x)
55
- coffee-script (2.4.1)
56
- coffee-script-source
57
- execjs
58
- coffee-script-source (1.10.0)
59
- concurrent-ruby (1.0.2)
60
- erubis (2.7.0)
61
- execjs (2.7.0)
62
- globalid (0.3.7)
63
- activesupport (>= 4.1.0)
64
- i18n (0.7.0)
65
- jquery-rails (4.2.1)
66
- rails-dom-testing (>= 1, < 3)
67
- railties (>= 4.2.0)
68
- thor (>= 0.14, < 2.0)
69
- json (1.8.3)
70
- loofah (2.0.3)
71
- nokogiri (>= 1.5.9)
72
- mail (2.6.4)
73
- mime-types (>= 1.16, < 4)
74
- mime-types (3.1)
75
- mime-types-data (~> 3.2015)
76
- mime-types-data (3.2016.0521)
77
- mini_portile2 (2.1.0)
78
- minitest (5.9.1)
79
- nokogiri (1.6.8.1)
80
- mini_portile2 (~> 2.1.0)
81
- paper_trail (7.0.3)
82
- activerecord (>= 4.0, < 5.2)
83
- request_store (~> 1.1)
84
- rack (1.6.5)
85
- rack-test (0.6.3)
86
- rack (>= 1.0)
87
- rails (4.2.7.1)
88
- actionmailer (= 4.2.7.1)
89
- actionpack (= 4.2.7.1)
90
- actionview (= 4.2.7.1)
91
- activejob (= 4.2.7.1)
92
- activemodel (= 4.2.7.1)
93
- activerecord (= 4.2.7.1)
94
- activesupport (= 4.2.7.1)
95
- bundler (>= 1.3.0, < 2.0)
96
- railties (= 4.2.7.1)
97
- sprockets-rails
98
- rails-deprecated_sanitizer (1.0.3)
99
- activesupport (>= 4.2.0.alpha)
100
- rails-dom-testing (1.0.7)
101
- activesupport (>= 4.2.0.beta, < 5.0)
102
- nokogiri (~> 1.6.0)
103
- rails-deprecated_sanitizer (>= 1.0.1)
104
- rails-html-sanitizer (1.0.3)
105
- loofah (~> 2.0)
106
- railties (4.2.7.1)
107
- actionpack (= 4.2.7.1)
108
- activesupport (= 4.2.7.1)
109
- rake (>= 0.8.7)
110
- thor (>= 0.18.1, < 2.0)
111
- rake (11.3.0)
112
- request_store (1.3.2)
113
- sass (3.4.22)
114
- sass-rails (5.0.6)
115
- railties (>= 4.0.0, < 6)
116
- sass (~> 3.1)
117
- sprockets (>= 2.8, < 4.0)
118
- sprockets-rails (>= 2.0, < 4.0)
119
- tilt (>= 1.1, < 3)
120
- sprockets (3.7.0)
121
- concurrent-ruby (~> 1.0)
122
- rack (> 1, < 3)
123
- sprockets-rails (3.2.0)
124
- actionpack (>= 4.0)
125
- activesupport (>= 4.0)
126
- sprockets (>= 3.0.0)
127
- sqlite3 (1.3.12)
128
- thor (0.19.1)
129
- thread_safe (0.3.5)
130
- tilt (2.0.5)
131
- tzinfo (1.2.2)
132
- thread_safe (~> 0.1)
133
- uglifier (3.0.3)
134
- execjs (>= 0.3.0, < 3)
135
-
136
- PLATFORMS
137
- ruby
138
-
139
- DEPENDENCIES
140
- coffee-rails
141
- counter_culture!
142
- jquery-rails
143
- paper_trail
144
- rails (~> 4.2.0)
145
- sass-rails
146
- sqlite3
147
- uglifier
148
-
149
- BUNDLED WITH
150
- 1.14.6