counter_culture 2.2.2 → 2.2.3

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