counter_culture 2.2.2 → 2.2.3

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.
Files changed (104) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +65 -0
  3. data/.travis.yml +23 -6
  4. data/Appraisals +22 -0
  5. data/CHANGELOG.md +8 -0
  6. data/Gemfile +6 -45
  7. data/README.md +2 -2
  8. data/Rakefile +7 -35
  9. data/counter_culture.gemspec +40 -175
  10. data/gemfiles/rails_4.2.gemfile +10 -0
  11. data/gemfiles/rails_5.0.gemfile +10 -0
  12. data/gemfiles/rails_5.1.gemfile +10 -0
  13. data/gemfiles/rails_5.2.gemfile +10 -0
  14. data/gemfiles/rails_6.0.0.rc1.gemfile +10 -0
  15. data/lib/counter_culture.rb +1 -0
  16. data/lib/counter_culture/counter.rb +11 -3
  17. data/lib/counter_culture/version.rb +3 -0
  18. data/run_tests_locally.sh +18 -0
  19. metadata +88 -122
  20. data/VERSION +0 -1
  21. data/spec/counter_culture_spec.rb +0 -2282
  22. data/spec/models/another_post.rb +0 -13
  23. data/spec/models/another_post_comment.rb +0 -4
  24. data/spec/models/candidate.rb +0 -3
  25. data/spec/models/candidate_profile.rb +0 -3
  26. data/spec/models/categ.rb +0 -13
  27. data/spec/models/category.rb +0 -3
  28. data/spec/models/company.rb +0 -11
  29. data/spec/models/conditional_dependent.rb +0 -7
  30. data/spec/models/conditional_main.rb +0 -3
  31. data/spec/models/conversation.rb +0 -4
  32. data/spec/models/has_non_pk_id.rb +0 -4
  33. data/spec/models/has_string_id.rb +0 -4
  34. data/spec/models/industry.rb +0 -2
  35. data/spec/models/person.rb +0 -4
  36. data/spec/models/poly_employee.rb +0 -3
  37. data/spec/models/poly_image.rb +0 -15
  38. data/spec/models/poly_product.rb +0 -4
  39. data/spec/models/post.rb +0 -10
  40. data/spec/models/post_comment.rb +0 -6
  41. data/spec/models/product.rb +0 -9
  42. data/spec/models/review.rb +0 -34
  43. data/spec/models/simple_dependent.rb +0 -5
  44. data/spec/models/simple_main.rb +0 -7
  45. data/spec/models/simple_review.rb +0 -3
  46. data/spec/models/soft_delete_discard.rb +0 -7
  47. data/spec/models/soft_delete_paranoia.rb +0 -7
  48. data/spec/models/subcateg.rb +0 -14
  49. data/spec/models/transaction.rb +0 -15
  50. data/spec/models/twitter_review.rb +0 -6
  51. data/spec/models/user.rb +0 -46
  52. data/spec/models/with_module/model1.rb +0 -8
  53. data/spec/models/with_module/model2.rb +0 -7
  54. data/spec/rails_app/.gitignore +0 -15
  55. data/spec/rails_app/Gemfile +0 -41
  56. data/spec/rails_app/README.rdoc +0 -261
  57. data/spec/rails_app/Rakefile +0 -7
  58. data/spec/rails_app/app/assets/images/rails.png +0 -0
  59. data/spec/rails_app/app/assets/javascripts/application.js +0 -15
  60. data/spec/rails_app/app/assets/stylesheets/application.css +0 -13
  61. data/spec/rails_app/app/controllers/application_controller.rb +0 -3
  62. data/spec/rails_app/app/helpers/application_helper.rb +0 -2
  63. data/spec/rails_app/app/mailers/.gitkeep +0 -0
  64. data/spec/rails_app/app/models/.gitkeep +0 -0
  65. data/spec/rails_app/app/views/layouts/application.html.erb +0 -14
  66. data/spec/rails_app/config.ru +0 -4
  67. data/spec/rails_app/config/application.rb +0 -62
  68. data/spec/rails_app/config/boot.rb +0 -6
  69. data/spec/rails_app/config/database.yml +0 -25
  70. data/spec/rails_app/config/environment.rb +0 -5
  71. data/spec/rails_app/config/environments/development.rb +0 -32
  72. data/spec/rails_app/config/environments/test.rb +0 -31
  73. data/spec/rails_app/config/initializers/backtrace_silencers.rb +0 -7
  74. data/spec/rails_app/config/initializers/inflections.rb +0 -15
  75. data/spec/rails_app/config/initializers/mime_types.rb +0 -5
  76. data/spec/rails_app/config/initializers/paper_trail.rb +0 -1
  77. data/spec/rails_app/config/initializers/secret_token.rb +0 -12
  78. data/spec/rails_app/config/initializers/session_store.rb +0 -8
  79. data/spec/rails_app/config/initializers/wrap_parameters.rb +0 -14
  80. data/spec/rails_app/config/locales/en.yml +0 -5
  81. data/spec/rails_app/config/routes.rb +0 -58
  82. data/spec/rails_app/db/seeds.rb +0 -7
  83. data/spec/rails_app/lib/assets/.gitkeep +0 -0
  84. data/spec/rails_app/lib/tasks/.gitkeep +0 -0
  85. data/spec/rails_app/log/.gitkeep +0 -0
  86. data/spec/rails_app/public/404.html +0 -26
  87. data/spec/rails_app/public/422.html +0 -26
  88. data/spec/rails_app/public/500.html +0 -25
  89. data/spec/rails_app/public/favicon.ico +0 -0
  90. data/spec/rails_app/public/index.html +0 -241
  91. data/spec/rails_app/public/robots.txt +0 -5
  92. data/spec/rails_app/script/rails +0 -6
  93. data/spec/rails_app/test/fixtures/.gitkeep +0 -0
  94. data/spec/rails_app/test/functional/.gitkeep +0 -0
  95. data/spec/rails_app/test/integration/.gitkeep +0 -0
  96. data/spec/rails_app/test/performance/browsing_test.rb +0 -12
  97. data/spec/rails_app/test/test_helper.rb +0 -13
  98. data/spec/rails_app/test/unit/.gitkeep +0 -0
  99. data/spec/rails_app/vendor/assets/javascripts/.gitkeep +0 -0
  100. data/spec/rails_app/vendor/assets/stylesheets/.gitkeep +0 -0
  101. data/spec/rails_app/vendor/plugins/.gitkeep +0 -0
  102. data/spec/schema.rb +0 -255
  103. data/spec/spec_helper.rb +0 -32
  104. data/test_rails_versions.sh +0 -26
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c8c929583c30094df5eb38dce579819edf8e528fce64b06e3f5bddb95d5f2d13
4
- data.tar.gz: 75a32b65babe86a8fef2d7aeb006b29db1c39210134b95c6854103eab72ee756
3
+ metadata.gz: 74cbe60d3814256ebdde674294cde8b9a086ecd181651370c4785b751b7e7c00
4
+ data.tar.gz: 8a1487ddb9f56cedefec29a96c900083b27975079b11e0bacc0aacbdc4c049da
5
5
  SHA512:
6
- metadata.gz: 890a315177031dedb9d63ab8b2bb40887ec81ff240a11b323cf6bfb1287f16ab1c9cf479591a111562278e9e63fd840ea9751e486bbe7ef4ed58364c89bd7cd6
7
- data.tar.gz: 8feec9380863959dbc3e362e31c0392d238508378f644335c6a10032fedb16641deaafea436442f231e9dc1b6bd917198251fb5bda85afc0aae2d1183b80f322
6
+ metadata.gz: f7fade10fb91c25c24a7d233e75cc1cf7f9d3989ac3fbb11833e592b5746c3e6880f8d83d63873b3d2c2d5195e93ff291b217daa33aad4c8e95b0edc34d1f92b
7
+ data.tar.gz: 2b6f5f9accf8e20eb5eca36d1a5189ef9050d279165a1750d784ea130b33b4128e6464f18cb44f3e7f61f4dcb82872e32e4cdb6ead764113686c55ef902a479d
data/.gitignore ADDED
@@ -0,0 +1,65 @@
1
+ # appraisal lockfiles
2
+ gemfiles/*.lock
3
+
4
+ # spec coverage
5
+ coverage
6
+ coverage.data
7
+
8
+ # rdoc generated
9
+ rdoc
10
+
11
+ # yard generated
12
+ doc
13
+ .yardoc
14
+
15
+ # bundler
16
+ .bundle
17
+
18
+ # jeweler generated
19
+ pkg
20
+
21
+ # this changes all the time when we change multiple Rails versions
22
+ Gemfile.lock
23
+
24
+ # allow people to manage their own Ruby versions / gemsets
25
+ .ruby-version
26
+ .ruby-gemset
27
+
28
+ # rspec pass/fail status
29
+ .rspec_status
30
+
31
+ # sqlite3 db
32
+ db
33
+
34
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
35
+ #
36
+ # * Create a file at ~/.gitignore
37
+ # * Include files you want ignored
38
+ # * Run: git config --global core.excludesfile ~/.gitignore
39
+ #
40
+ # After doing this, these files will be ignored in all your git projects,
41
+ # saving you from having to 'pollute' every project you touch with them
42
+ #
43
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
44
+ #
45
+ # For MacOS:
46
+ #
47
+ #.DS_Store
48
+
49
+ # For TextMate
50
+ #*.tmproj
51
+ #tmtags
52
+
53
+ # For emacs:
54
+ #*~
55
+ #\#*
56
+ #.\#*
57
+
58
+ # For vim:
59
+ #*.swp
60
+
61
+ # For redcar:
62
+ #.redcar
63
+
64
+ # For rubinius:
65
+ #*.rbc
data/.travis.yml CHANGED
@@ -1,19 +1,36 @@
1
1
  language: ruby
2
+ services:
3
+ - postgresql
4
+ - mysql
5
+ addons:
6
+ postgresql: "9.6"
2
7
  rvm:
3
8
  - "2.3.8"
4
9
  - "2.4.6"
5
10
  - "2.5.5"
6
11
  - "2.6.2"
12
+ gemfile:
13
+ - gemfiles/rails_4.2.gemfile
14
+ - gemfiles/rails_5.0.gemfile
15
+ - gemfiles/rails_5.1.gemfile
16
+ - gemfiles/rails_5.2.gemfile
17
+ - gemfiles/rails_6.0.0.rc1.gemfile
7
18
  env:
8
- - 'RAILS_VERSION="~> 4.2.0"'
9
- - 'RAILS_VERSION="~> 5.0.0"'
10
- - 'RAILS_VERSION="= 5.1.4"'
11
- - 'RAILS_VERSION="= 5.1.5"'
12
- - 'RAILS_VERSION="~> 5.1.5"'
13
- - 'RAILS_VERSION="~> 5.2.0"'
19
+ - DB=postgresql
20
+ - DB=sqlite3
21
+ - DB=mysql2
22
+ matrix:
23
+ exclude:
24
+ - rvm: "2.3.8"
25
+ gemfile: gemfiles/rails_6.0.0.rc1.gemfile
26
+ - rvm: "2.4.6"
27
+ gemfile: gemfiles/rails_6.0.0.rc1.gemfile
14
28
  before_install:
15
29
  - gem uninstall -v '>= 2' -i $(rvm gemdir)@global -ax bundler || true
16
30
  - gem install bundler -v '< 2'
17
31
  install:
18
32
  - bundle update
33
+ before_script:
34
+ - psql -c 'create database counter_culture_test;' -U postgres
35
+ - mysql -e 'CREATE DATABASE counter_culture_test;'
19
36
  script: TRAVIS=true bundle exec rake spec
data/Appraisals ADDED
@@ -0,0 +1,22 @@
1
+ %w[
2
+ 4.2
3
+ 5.0
4
+ 5.1
5
+ 5.2
6
+ 6.0.0.rc1
7
+ ].each do |rails_version|
8
+ gem_rails_version = Gem::Version.new(rails_version)
9
+ if Gem::Version.new(RUBY_VERSION) < Gem::Version.new('2.5.0') &&
10
+ gem_rails_version >= Gem::Version.new('6.0.0.beta')
11
+
12
+ # Rails 6 requires Ruby >= 2.5
13
+ next
14
+ end
15
+ appraise "rails-#{rails_version}" do
16
+ gem 'rails', "~> #{rails_version}.0"
17
+
18
+ gem 'pg', gem_rails_version < Gem::Version.new('5.0') ? '~> 0.15' : '~> 1.0'
19
+ gem 'mysql2'
20
+ gem 'sqlite3', gem_rails_version < Gem::Version.new(5.2) ? '~> 1.3.0' : '~> 1.4'
21
+ end
22
+ end
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## 2.2.3 (June 20, 2019)
2
+
3
+ Improvements:
4
+ - Start testing against MySQL and PostgreSQL as well as sqlite3 (#257)
5
+
6
+ Bugfixes:
7
+ - Fix edge cases in MySQL (#257)
8
+
1
9
  ## 2.2.2 (May 5, 2019)
2
10
 
3
11
  Bugfixes:
data/Gemfile CHANGED
@@ -1,48 +1,9 @@
1
- source "https://rubygems.org"
2
- # Add dependencies required to use your gem here.
3
- # Example:
4
- # gem "activesupport", ">= 2.3.5"
1
+ source 'https://rubygems.org'
5
2
 
6
- gem "after_commit_action", "~> 1.0"
7
- gem "activerecord", ">= 4.2.0"
8
- gem "activesupport", ">= 4.2.0"
3
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
9
4
 
10
- # Add dependencies to develop your gem here.
11
- # Include everything needed to run rake, tests, features, etc.
12
- group :development, :test do
13
- gem "rake"
5
+ # Specify the gem's dependencies in counter_culture.gemspec
6
+ gemspec
14
7
 
15
- rails = case ENV["RAILS_VERSION"]
16
- when "master"
17
- { github: "rails/rails" }
18
- when nil, ""
19
- ">= 4.2.0"
20
- else
21
- ENV["RAILS_VERSION"]
22
- end
23
- gem "rails", rails
24
-
25
- gem "rspec", "~> 3.0"
26
- gem "awesome_print"
27
- gem "timecop"
28
-
29
- # To test integrations
30
- gem "discard"
31
- gem "paranoia"
32
- gem "paper_trail"
33
- end
34
-
35
- group :development do
36
- gem "rdoc", "~> 3.12"
37
- gem "bundler", ">= 1.2.0"
38
- gem "jeweler", "~> 2.1"
39
- end
40
-
41
- group :test do
42
- # something's going on with sqlite 1.4 that doesn't work with ActiveRecord, see
43
- # https://stackoverflow.com/questions/54527277/cant-activate-sqlite3-1-3-6-already-activated-sqlite3-1-4-0
44
- # this seems like a hack but it works, so...
45
- gem 'sqlite3', '~> 1.3.13'
46
- gem "rspec-extra-formatters"
47
- gem "database_cleaner", ">= 1.1.1"
48
- end
8
+ # Ensure we have the default DB adapter for testing
9
+ gem 'sqlite3'
data/README.md CHANGED
@@ -76,9 +76,9 @@ end
76
76
  class Membership < ActiveRecord::Base
77
77
  belongs_to :group
78
78
  belongs_to :member, class: "User"
79
- counter_cuture :group, column: "members_count"
79
+ counter_culture :group, column_name: "members_count"
80
80
  # If you'd like to also touch the group when `members_count` is updated
81
- # counter_culture :group, column: "members_count", touch: true
81
+ # counter_culture :group, column_name: "members_count", touch: true
82
82
  end
83
83
  ```
84
84
 
data/Rakefile CHANGED
@@ -1,49 +1,21 @@
1
- # encoding: utf-8
2
-
3
1
  require 'rubygems'
4
2
  require 'bundler'
5
- begin
6
- Bundler.setup(:default, :development)
7
- rescue Bundler::BundlerError => e
8
- $stderr.puts e.message
9
- $stderr.puts "Run `bundle install` to install missing gems"
10
- exit e.status_code
11
- end
12
- require 'rake'
13
-
14
- require 'jeweler'
15
- Jeweler::Tasks.new do |gem|
16
- # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
17
- gem.name = "counter_culture"
18
- gem.homepage = "http://github.com/magnusvk/counter_culture"
19
- gem.license = "MIT"
20
- gem.summary = %Q{Turbo-charged counter caches for your Rails app.}
21
- gem.description = %Q{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.}
22
- gem.email = "magnus@vonkoeller.de"
23
- gem.authors = ["Magnus von Koeller"]
24
- gem.required_ruby_version = '>= 2.3.0'
25
- end
26
- Jeweler::RubygemsDotOrgTasks.new
27
-
28
- require 'rspec/core'
3
+ require 'bundler/gem_tasks'
29
4
  require 'rspec/core/rake_task'
5
+ require 'rdoc/task'
6
+ require 'counter_culture/version'
7
+
30
8
  RSpec::Core::RakeTask.new(:spec) do |spec|
31
9
  spec.pattern = FileList['spec/**/*_spec.rb']
32
10
  end
33
11
 
34
- RSpec::Core::RakeTask.new(:rcov) do |spec|
35
- spec.pattern = 'spec/**/*_spec.rb'
36
- spec.rcov = true
37
- end
38
-
39
- task :default => :spec
40
-
41
- require 'rdoc/task'
42
12
  Rake::RDocTask.new do |rdoc|
43
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
13
+ version = CounterCulture::VERSION
44
14
 
45
15
  rdoc.rdoc_dir = 'rdoc'
46
16
  rdoc.title = "counter_culture #{version}"
47
17
  rdoc.rdoc_files.include('README*')
48
18
  rdoc.rdoc_files.include('lib/**/*.rb')
49
19
  end
20
+
21
+ task default: :spec
@@ -1,181 +1,46 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: counter_culture 2.2.2 ruby lib
1
+ lib = File.expand_path('lib', __dir__)
2
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
+ require 'counter_culture/version'
6
4
 
7
- Gem::Specification.new do |s|
8
- s.name = "counter_culture".freeze
9
- s.version = "2.2.2"
5
+ Gem::Specification.new do |spec|
6
+ spec.name = 'counter_culture'
7
+ spec.version = CounterCulture::VERSION
8
+ spec.authors = ['Magnus von Koeller']
9
+ spec.email = ["magnus@vonkoeller.de"]
10
10
 
11
- s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
12
- s.require_paths = ["lib".freeze]
13
- s.authors = ["Magnus von Koeller".freeze]
14
- s.date = "2019-05-05"
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.".freeze
16
- s.email = "magnus@vonkoeller.de".freeze
17
- s.extra_rdoc_files = [
18
- "LICENSE.txt",
19
- "README.md"
20
- ]
21
- s.files = [
22
- ".document",
23
- ".rspec",
24
- ".travis.yml",
25
- "CHANGELOG.md",
26
- "Gemfile",
27
- "LICENSE.txt",
28
- "README.md",
29
- "Rakefile",
30
- "VERSION",
31
- "circle.yml",
32
- "counter_culture.gemspec",
33
- "lib/counter_culture.rb",
34
- "lib/counter_culture/counter.rb",
35
- "lib/counter_culture/extensions.rb",
36
- "lib/counter_culture/reconciler.rb",
37
- "lib/generators/counter_culture_generator.rb",
38
- "lib/generators/templates/counter_culture_migration.rb.erb",
39
- "spec/counter_culture_spec.rb",
40
- "spec/models/another_post.rb",
41
- "spec/models/another_post_comment.rb",
42
- "spec/models/candidate.rb",
43
- "spec/models/candidate_profile.rb",
44
- "spec/models/categ.rb",
45
- "spec/models/category.rb",
46
- "spec/models/company.rb",
47
- "spec/models/conditional_dependent.rb",
48
- "spec/models/conditional_main.rb",
49
- "spec/models/conversation.rb",
50
- "spec/models/has_non_pk_id.rb",
51
- "spec/models/has_string_id.rb",
52
- "spec/models/industry.rb",
53
- "spec/models/person.rb",
54
- "spec/models/poly_employee.rb",
55
- "spec/models/poly_image.rb",
56
- "spec/models/poly_product.rb",
57
- "spec/models/post.rb",
58
- "spec/models/post_comment.rb",
59
- "spec/models/product.rb",
60
- "spec/models/review.rb",
61
- "spec/models/simple_dependent.rb",
62
- "spec/models/simple_main.rb",
63
- "spec/models/simple_review.rb",
64
- "spec/models/soft_delete_discard.rb",
65
- "spec/models/soft_delete_paranoia.rb",
66
- "spec/models/subcateg.rb",
67
- "spec/models/transaction.rb",
68
- "spec/models/twitter_review.rb",
69
- "spec/models/user.rb",
70
- "spec/models/with_module/model1.rb",
71
- "spec/models/with_module/model2.rb",
72
- "spec/rails_app/.gitignore",
73
- "spec/rails_app/Gemfile",
74
- "spec/rails_app/README.rdoc",
75
- "spec/rails_app/Rakefile",
76
- "spec/rails_app/app/assets/images/rails.png",
77
- "spec/rails_app/app/assets/javascripts/application.js",
78
- "spec/rails_app/app/assets/stylesheets/application.css",
79
- "spec/rails_app/app/controllers/application_controller.rb",
80
- "spec/rails_app/app/helpers/application_helper.rb",
81
- "spec/rails_app/app/mailers/.gitkeep",
82
- "spec/rails_app/app/models/.gitkeep",
83
- "spec/rails_app/app/views/layouts/application.html.erb",
84
- "spec/rails_app/config.ru",
85
- "spec/rails_app/config/application.rb",
86
- "spec/rails_app/config/boot.rb",
87
- "spec/rails_app/config/database.yml",
88
- "spec/rails_app/config/environment.rb",
89
- "spec/rails_app/config/environments/development.rb",
90
- "spec/rails_app/config/environments/test.rb",
91
- "spec/rails_app/config/initializers/backtrace_silencers.rb",
92
- "spec/rails_app/config/initializers/inflections.rb",
93
- "spec/rails_app/config/initializers/mime_types.rb",
94
- "spec/rails_app/config/initializers/paper_trail.rb",
95
- "spec/rails_app/config/initializers/secret_token.rb",
96
- "spec/rails_app/config/initializers/session_store.rb",
97
- "spec/rails_app/config/initializers/wrap_parameters.rb",
98
- "spec/rails_app/config/locales/en.yml",
99
- "spec/rails_app/config/routes.rb",
100
- "spec/rails_app/db/seeds.rb",
101
- "spec/rails_app/lib/assets/.gitkeep",
102
- "spec/rails_app/lib/tasks/.gitkeep",
103
- "spec/rails_app/log/.gitkeep",
104
- "spec/rails_app/public/404.html",
105
- "spec/rails_app/public/422.html",
106
- "spec/rails_app/public/500.html",
107
- "spec/rails_app/public/favicon.ico",
108
- "spec/rails_app/public/index.html",
109
- "spec/rails_app/public/robots.txt",
110
- "spec/rails_app/script/rails",
111
- "spec/rails_app/test/fixtures/.gitkeep",
112
- "spec/rails_app/test/functional/.gitkeep",
113
- "spec/rails_app/test/integration/.gitkeep",
114
- "spec/rails_app/test/performance/browsing_test.rb",
115
- "spec/rails_app/test/test_helper.rb",
116
- "spec/rails_app/test/unit/.gitkeep",
117
- "spec/rails_app/vendor/assets/javascripts/.gitkeep",
118
- "spec/rails_app/vendor/assets/stylesheets/.gitkeep",
119
- "spec/rails_app/vendor/plugins/.gitkeep",
120
- "spec/schema.rb",
121
- "spec/spec_helper.rb",
122
- "test_rails_versions.sh"
123
- ]
124
- s.homepage = "http://github.com/magnusvk/counter_culture".freeze
125
- s.licenses = ["MIT".freeze]
126
- s.required_ruby_version = Gem::Requirement.new(">= 2.3.0".freeze)
127
- s.rubygems_version = "2.7.6.2".freeze
128
- s.summary = "Turbo-charged counter caches for your Rails app.".freeze
11
+ spec.summary = 'Turbo-charged counter caches for your Rails app.'
12
+ spec.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.'
13
+ spec.homepage = 'http://github.com/magnusvk/counter_culture'
14
+ spec.license = 'MIT'
129
15
 
130
- if s.respond_to? :specification_version then
131
- s.specification_version = 4
16
+ spec.required_ruby_version = Gem::Requirement.new('>= 2.3.0')
132
17
 
133
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
134
- s.add_runtime_dependency(%q<after_commit_action>.freeze, ["~> 1.0"])
135
- s.add_runtime_dependency(%q<activerecord>.freeze, [">= 4.2.0"])
136
- s.add_runtime_dependency(%q<activesupport>.freeze, [">= 4.2.0"])
137
- s.add_development_dependency(%q<rake>.freeze, [">= 0"])
138
- s.add_development_dependency(%q<rails>.freeze, [">= 4.2.0"])
139
- s.add_development_dependency(%q<rspec>.freeze, ["~> 3.0"])
140
- s.add_development_dependency(%q<awesome_print>.freeze, [">= 0"])
141
- s.add_development_dependency(%q<timecop>.freeze, [">= 0"])
142
- s.add_development_dependency(%q<discard>.freeze, [">= 0"])
143
- s.add_development_dependency(%q<paranoia>.freeze, [">= 0"])
144
- s.add_development_dependency(%q<paper_trail>.freeze, [">= 0"])
145
- s.add_development_dependency(%q<rdoc>.freeze, ["~> 3.12"])
146
- s.add_development_dependency(%q<bundler>.freeze, [">= 1.2.0"])
147
- s.add_development_dependency(%q<jeweler>.freeze, ["~> 2.1"])
148
- else
149
- s.add_dependency(%q<after_commit_action>.freeze, ["~> 1.0"])
150
- s.add_dependency(%q<activerecord>.freeze, [">= 4.2.0"])
151
- s.add_dependency(%q<activesupport>.freeze, [">= 4.2.0"])
152
- s.add_dependency(%q<rake>.freeze, [">= 0"])
153
- s.add_dependency(%q<rails>.freeze, [">= 4.2.0"])
154
- s.add_dependency(%q<rspec>.freeze, ["~> 3.0"])
155
- s.add_dependency(%q<awesome_print>.freeze, [">= 0"])
156
- s.add_dependency(%q<timecop>.freeze, [">= 0"])
157
- s.add_dependency(%q<discard>.freeze, [">= 0"])
158
- s.add_dependency(%q<paranoia>.freeze, [">= 0"])
159
- s.add_dependency(%q<paper_trail>.freeze, [">= 0"])
160
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
161
- s.add_dependency(%q<bundler>.freeze, [">= 1.2.0"])
162
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.1"])
163
- end
164
- else
165
- s.add_dependency(%q<after_commit_action>.freeze, ["~> 1.0"])
166
- s.add_dependency(%q<activerecord>.freeze, [">= 4.2.0"])
167
- s.add_dependency(%q<activesupport>.freeze, [">= 4.2.0"])
168
- s.add_dependency(%q<rake>.freeze, [">= 0"])
169
- s.add_dependency(%q<rails>.freeze, [">= 4.2.0"])
170
- s.add_dependency(%q<rspec>.freeze, ["~> 3.0"])
171
- s.add_dependency(%q<awesome_print>.freeze, [">= 0"])
172
- s.add_dependency(%q<timecop>.freeze, [">= 0"])
173
- s.add_dependency(%q<discard>.freeze, [">= 0"])
174
- s.add_dependency(%q<paranoia>.freeze, [">= 0"])
175
- s.add_dependency(%q<paper_trail>.freeze, [">= 0"])
176
- s.add_dependency(%q<rdoc>.freeze, ["~> 3.12"])
177
- s.add_dependency(%q<bundler>.freeze, [">= 1.2.0"])
178
- s.add_dependency(%q<jeweler>.freeze, ["~> 2.1"])
18
+ # Specify which files should be added to the gem when it is released.
19
+ # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
20
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
21
+ `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
179
22
  end
180
- end
23
+ spec.extra_rdoc_files = ['LICENSE.txt', 'README.md']
24
+ spec.bindir = 'exe'
25
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
26
+ spec.require_paths = ['lib']
27
+
28
+ spec.add_dependency 'after_commit_action', '~> 1.0'
29
+ spec.add_dependency 'activerecord', '>= 4.2'
30
+ spec.add_dependency 'activesupport', '>= 4.2'
181
31
 
32
+ spec.add_development_dependency 'appraisal', '> 2.0.0'
33
+ spec.add_development_dependency 'awesome_print'
34
+ spec.add_development_dependency 'bundler', '~> 1.17'
35
+ spec.add_development_dependency 'database_cleaner', '>= 1.1.1'
36
+ spec.add_development_dependency 'discard'
37
+ spec.add_development_dependency 'paper_trail'
38
+ spec.add_development_dependency 'paranoia'
39
+ spec.add_development_dependency 'rails', '>= 4.2'
40
+ spec.add_development_dependency 'rake', '>= 10.0'
41
+ spec.add_development_dependency 'rdoc', '~> 5.0.0'
42
+ spec.add_development_dependency 'rspec', '~> 3.0'
43
+ spec.add_development_dependency 'rspec-extra-formatters'
44
+ spec.add_development_dependency 'simplecov', '~> 0.16.1'
45
+ spec.add_development_dependency 'timecop'
46
+ end