counter_culture 1.9.1 → 1.9.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.
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