running_count 0.2.4 → 0.2.9

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
  SHA256:
3
- metadata.gz: 5a25557013c0e44affef46e2af562991970b1c5aff09a9240f09ad8a0c8498a1
4
- data.tar.gz: 3059b036f9a7cdad573a41fa1cab5af0868f1865fae8146982c660c4fb5f743f
3
+ metadata.gz: 145ddc284043b30d75e6aa9dad7804ec8941c334206f08553b27c616658fe35a
4
+ data.tar.gz: 2b45cb121fab92ed39ea3ddbc26bb881c9efb4fd8f4aad4cd4e7ef9b3fffa3db
5
5
  SHA512:
6
- metadata.gz: 80ab0b2c813f4471c2dc5a05282534133a06f8bcabe957eb52a3b4930ad3dede497a05331aa0a8b40c632d71e548b00a839b91448171b2e3ba04a6d586874210
7
- data.tar.gz: 8054ca18180af09106847c14e979d8e95d4f28086cbfd12a2a9ef747b26ff1ceed911ad27295ad085168fcdb25e2901f7fd13e4a8b6ad44e01c2d7b026454d97
6
+ metadata.gz: 52e916e41be73b6a57a0b7c64abb111a86537f93c6857a33ef1f2f99f2d2515315648da889f4de9227f0dc6dbb557c7c721cf002feb95a78708cc3bf20a1da1e
7
+ data.tar.gz: 51114565664c71f6d115d784414fe0628fd9cb4214849acfa4e770677c6303030d9dce8c4ae8315fa93f8b00dbb4560b3ac6e0eeea61f1b5580c344212e7169e
data/Gemfile CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
- git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
5
+ git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
4
6
 
5
7
  # Specify your gem's dependencies in running_count.gemspec
6
8
  gemspec
@@ -1,159 +1,164 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- running_count (0.2.4)
4
+ running_count (0.2.8)
5
5
  activesupport
6
- pg (= 0.20.0)
7
- redis-rails (>= 5.0)
6
+ pg (>= 0.20.0)
7
+ redis
8
8
 
9
9
  GEM
10
10
  remote: https://rubygems.org/
11
11
  specs:
12
- actionmailer (4.2.11)
13
- actionpack (= 4.2.11)
14
- actionview (= 4.2.11)
15
- activejob (= 4.2.11)
12
+ actioncable (6.0.3.2)
13
+ actionpack (= 6.0.3.2)
14
+ nio4r (~> 2.0)
15
+ websocket-driver (>= 0.6.1)
16
+ actionmailbox (6.0.3.2)
17
+ actionpack (= 6.0.3.2)
18
+ activejob (= 6.0.3.2)
19
+ activerecord (= 6.0.3.2)
20
+ activestorage (= 6.0.3.2)
21
+ activesupport (= 6.0.3.2)
22
+ mail (>= 2.7.1)
23
+ actionmailer (6.0.3.2)
24
+ actionpack (= 6.0.3.2)
25
+ actionview (= 6.0.3.2)
26
+ activejob (= 6.0.3.2)
16
27
  mail (~> 2.5, >= 2.5.4)
17
- rails-dom-testing (~> 1.0, >= 1.0.5)
18
- actionpack (4.2.11)
19
- actionview (= 4.2.11)
20
- activesupport (= 4.2.11)
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.11)
26
- activesupport (= 4.2.11)
28
+ rails-dom-testing (~> 2.0)
29
+ actionpack (6.0.3.2)
30
+ actionview (= 6.0.3.2)
31
+ activesupport (= 6.0.3.2)
32
+ rack (~> 2.0, >= 2.0.8)
33
+ rack-test (>= 0.6.3)
34
+ rails-dom-testing (~> 2.0)
35
+ rails-html-sanitizer (~> 1.0, >= 1.2.0)
36
+ actiontext (6.0.3.2)
37
+ actionpack (= 6.0.3.2)
38
+ activerecord (= 6.0.3.2)
39
+ activestorage (= 6.0.3.2)
40
+ activesupport (= 6.0.3.2)
41
+ nokogiri (>= 1.8.5)
42
+ actionview (6.0.3.2)
43
+ activesupport (= 6.0.3.2)
27
44
  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.3)
31
- activejob (4.2.11)
32
- activesupport (= 4.2.11)
33
- globalid (>= 0.3.0)
34
- activemodel (4.2.11)
35
- activesupport (= 4.2.11)
36
- builder (~> 3.1)
37
- activerecord (4.2.11)
38
- activemodel (= 4.2.11)
39
- activesupport (= 4.2.11)
40
- arel (~> 6.0)
41
- activesupport (4.2.11)
42
- i18n (~> 0.7)
45
+ erubi (~> 1.4)
46
+ rails-dom-testing (~> 2.0)
47
+ rails-html-sanitizer (~> 1.1, >= 1.2.0)
48
+ activejob (6.0.3.2)
49
+ activesupport (= 6.0.3.2)
50
+ globalid (>= 0.3.6)
51
+ activemodel (6.0.3.2)
52
+ activesupport (= 6.0.3.2)
53
+ activerecord (6.0.3.2)
54
+ activemodel (= 6.0.3.2)
55
+ activesupport (= 6.0.3.2)
56
+ activestorage (6.0.3.2)
57
+ actionpack (= 6.0.3.2)
58
+ activejob (= 6.0.3.2)
59
+ activerecord (= 6.0.3.2)
60
+ marcel (~> 0.3.1)
61
+ activesupport (6.0.3.2)
62
+ concurrent-ruby (~> 1.0, >= 1.0.2)
63
+ i18n (>= 0.7, < 2)
43
64
  minitest (~> 5.1)
44
- thread_safe (~> 0.3, >= 0.3.4)
45
65
  tzinfo (~> 1.1)
46
- arel (6.0.4)
47
- builder (3.2.3)
48
- byebug (10.0.2)
49
- coderay (1.1.2)
50
- concurrent-ruby (1.1.4)
51
- crass (1.0.4)
52
- database_cleaner (1.7.0)
53
- diff-lcs (1.3)
54
- erubis (2.7.0)
66
+ zeitwerk (~> 2.2, >= 2.2.2)
67
+ builder (3.2.4)
68
+ concurrent-ruby (1.1.7)
69
+ crass (1.0.6)
70
+ database_cleaner (1.8.5)
71
+ diff-lcs (1.4.4)
72
+ erubi (1.9.0)
55
73
  globalid (0.4.2)
56
74
  activesupport (>= 4.2.0)
57
- i18n (0.9.5)
75
+ i18n (1.8.5)
58
76
  concurrent-ruby (~> 1.0)
59
- loofah (2.2.3)
77
+ loofah (2.6.0)
60
78
  crass (~> 1.0.2)
61
79
  nokogiri (>= 1.5.9)
62
80
  mail (2.7.1)
63
81
  mini_mime (>= 0.1.1)
64
- method_source (0.9.2)
65
- mini_mime (1.0.1)
82
+ marcel (0.3.3)
83
+ mimemagic (~> 0.3.2)
84
+ method_source (1.0.0)
85
+ mimemagic (0.3.5)
86
+ mini_mime (1.0.2)
66
87
  mini_portile2 (2.4.0)
67
- minitest (5.11.3)
68
- nokogiri (1.10.1)
88
+ minitest (5.14.1)
89
+ nio4r (2.5.2)
90
+ nokogiri (1.10.10)
69
91
  mini_portile2 (~> 2.4.0)
70
- pg (0.20.0)
71
- pry (0.12.2)
72
- coderay (~> 1.1.0)
73
- method_source (~> 0.9.0)
74
- pry-byebug (3.6.0)
75
- byebug (~> 10.0)
76
- pry (~> 0.10)
77
- rack (1.6.11)
78
- rack-test (0.6.3)
79
- rack (>= 1.0)
80
- rails (4.2.11)
81
- actionmailer (= 4.2.11)
82
- actionpack (= 4.2.11)
83
- actionview (= 4.2.11)
84
- activejob (= 4.2.11)
85
- activemodel (= 4.2.11)
86
- activerecord (= 4.2.11)
87
- activesupport (= 4.2.11)
88
- bundler (>= 1.3.0, < 2.0)
89
- railties (= 4.2.11)
90
- sprockets-rails
91
- rails-deprecated_sanitizer (1.0.3)
92
- activesupport (>= 4.2.0.alpha)
93
- rails-dom-testing (1.0.9)
94
- activesupport (>= 4.2.0, < 5.0)
95
- nokogiri (~> 1.6)
96
- rails-deprecated_sanitizer (>= 1.0.1)
97
- rails-html-sanitizer (1.0.4)
98
- loofah (~> 2.2, >= 2.2.2)
99
- railties (4.2.11)
100
- actionpack (= 4.2.11)
101
- activesupport (= 4.2.11)
92
+ pg (1.2.3)
93
+ rack (2.2.3)
94
+ rack-test (1.1.0)
95
+ rack (>= 1.0, < 3)
96
+ rails (6.0.3.2)
97
+ actioncable (= 6.0.3.2)
98
+ actionmailbox (= 6.0.3.2)
99
+ actionmailer (= 6.0.3.2)
100
+ actionpack (= 6.0.3.2)
101
+ actiontext (= 6.0.3.2)
102
+ actionview (= 6.0.3.2)
103
+ activejob (= 6.0.3.2)
104
+ activemodel (= 6.0.3.2)
105
+ activerecord (= 6.0.3.2)
106
+ activestorage (= 6.0.3.2)
107
+ activesupport (= 6.0.3.2)
108
+ bundler (>= 1.3.0)
109
+ railties (= 6.0.3.2)
110
+ sprockets-rails (>= 2.0.0)
111
+ rails-dom-testing (2.0.3)
112
+ activesupport (>= 4.2.0)
113
+ nokogiri (>= 1.6)
114
+ rails-html-sanitizer (1.3.0)
115
+ loofah (~> 2.3)
116
+ railties (6.0.3.2)
117
+ actionpack (= 6.0.3.2)
118
+ activesupport (= 6.0.3.2)
119
+ method_source
102
120
  rake (>= 0.8.7)
103
- thor (>= 0.18.1, < 2.0)
104
- rake (10.5.0)
105
- redis (4.1.0)
106
- redis-actionpack (5.0.2)
107
- actionpack (>= 4.0, < 6)
108
- redis-rack (>= 1, < 3)
109
- redis-store (>= 1.1.0, < 2)
110
- redis-activesupport (5.0.7)
111
- activesupport (>= 3, < 6)
112
- redis-store (>= 1.3, < 2)
113
- redis-rack (2.0.5)
114
- rack (>= 1.5, < 3)
115
- redis-store (>= 1.2, < 2)
116
- redis-rails (5.0.2)
117
- redis-actionpack (>= 5.0, < 6)
118
- redis-activesupport (>= 5.0, < 6)
119
- redis-store (>= 1.2, < 2)
120
- redis-store (1.6.0)
121
- redis (>= 2.2, < 5)
122
- rspec (3.8.0)
123
- rspec-core (~> 3.8.0)
124
- rspec-expectations (~> 3.8.0)
125
- rspec-mocks (~> 3.8.0)
126
- rspec-core (3.8.0)
127
- rspec-support (~> 3.8.0)
128
- rspec-expectations (3.8.2)
121
+ thor (>= 0.20.3, < 2.0)
122
+ rake (13.0.1)
123
+ redis (4.2.1)
124
+ rspec (3.9.0)
125
+ rspec-core (~> 3.9.0)
126
+ rspec-expectations (~> 3.9.0)
127
+ rspec-mocks (~> 3.9.0)
128
+ rspec-core (3.9.2)
129
+ rspec-support (~> 3.9.3)
130
+ rspec-expectations (3.9.2)
129
131
  diff-lcs (>= 1.2.0, < 2.0)
130
- rspec-support (~> 3.8.0)
131
- rspec-mocks (3.8.0)
132
+ rspec-support (~> 3.9.0)
133
+ rspec-mocks (3.9.1)
132
134
  diff-lcs (>= 1.2.0, < 2.0)
133
- rspec-support (~> 3.8.0)
134
- rspec-support (3.8.0)
135
- sprockets (3.7.2)
135
+ rspec-support (~> 3.9.0)
136
+ rspec-support (3.9.3)
137
+ sprockets (4.0.2)
136
138
  concurrent-ruby (~> 1.0)
137
139
  rack (> 1, < 3)
138
140
  sprockets-rails (3.2.1)
139
141
  actionpack (>= 4.0)
140
142
  activesupport (>= 4.0)
141
143
  sprockets (>= 3.0.0)
142
- thor (0.20.3)
144
+ thor (1.0.1)
143
145
  thread_safe (0.3.6)
144
- tzinfo (1.2.5)
146
+ tzinfo (1.2.7)
145
147
  thread_safe (~> 0.1)
148
+ websocket-driver (0.7.3)
149
+ websocket-extensions (>= 0.1.0)
150
+ websocket-extensions (0.1.5)
151
+ zeitwerk (2.4.0)
146
152
 
147
153
  PLATFORMS
148
154
  ruby
149
155
 
150
156
  DEPENDENCIES
151
- database_cleaner (>= 1.7.0)
152
- pry-byebug (>= 3.6.0)
157
+ database_cleaner
153
158
  rails
154
- rake (>= 10.0)
155
- rspec (>= 3.0)
159
+ rake
160
+ rspec
156
161
  running_count!
157
162
 
158
163
  BUNDLED WITH
159
- 1.17.3
164
+ 2.1.4
data/Rakefile CHANGED
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
3
5
 
4
6
  RSpec::Core::RakeTask.new(:spec)
5
7
 
6
- task :default => :spec
8
+ task default: :spec
@@ -1,8 +1,8 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'active_support/concern'
4
- require 'active_support/lazy_load_hooks'
5
- require 'redis'
3
+ require "active_support/concern"
4
+ require "active_support/lazy_load_hooks"
5
+ require "redis"
6
6
 
7
7
  require "running_count/callbacks"
8
8
  require "running_count/counter"
@@ -11,10 +11,20 @@ require "running_count/format"
11
11
  require "running_count/storage"
12
12
 
13
13
  module RunningCount
14
+
14
15
  class Error < StandardError; end
16
+
17
+ class << self
18
+
19
+ attr_accessor :redis
20
+
21
+ end
22
+
15
23
  end
16
24
 
17
25
  # extend ActiveRecord with our own code here
18
26
  ActiveSupport.on_load(:active_record) do
19
27
  include RunningCount::Callbacks
28
+ RunningCount.redis ||= $redis # rubocop:disable Style/GlobalVars
29
+ RunningCount.redis ||= REDIS if defined?(REDIS)
20
30
  end
@@ -25,7 +25,7 @@ module RunningCount
25
25
  end
26
26
 
27
27
  def reconcile_changes
28
- self._counter_data.values.each do |data|
28
+ self._counter_data.each_value do |data|
29
29
  Counter.reconcile_changes(data)
30
30
  end
31
31
  end
@@ -12,7 +12,7 @@ module RunningCount
12
12
  .tap do |sums, counts|
13
13
  sums.each { |data| Counter.enqueue_sum(record, data) }
14
14
  counts.each { |data| Counter.enqueue_count(record, data) }
15
- end
15
+ end
16
16
  end
17
17
 
18
18
  def enqueue_sum(record, counter_data)
@@ -28,7 +28,7 @@ module RunningCount
28
28
  end
29
29
 
30
30
  def enqueue_count(record, counter_data)
31
- if changed_field = counter_data[:changed_field]
31
+ if (changed_field = counter_data[:changed_field])
32
32
  return true unless record.previous_changes.has_key?(changed_field) && counter_data[:if].call(record)
33
33
  end
34
34
 
@@ -39,11 +39,9 @@ module RunningCount
39
39
  end
40
40
 
41
41
  def enqueue_deletion(record, counter_data)
42
- counter_data
43
- .values
44
- .each do |data|
45
- Counter.enqueue_single_delete(record, data)
46
- end
42
+ counter_data.each_value do |data|
43
+ Counter.enqueue_single_delete(record, data)
44
+ end
47
45
  end
48
46
 
49
47
  def enqueue_single_delete(record, data)
@@ -52,6 +50,7 @@ module RunningCount
52
50
  amount = amount_from_deleted_record(record, data)
53
51
 
54
52
  Storage.add_item(item, data[:running_set_name], 0 - amount)
53
+ rescue StandardError => exception
55
54
  end
56
55
 
57
56
  def reconcile_changes(counter_data)
@@ -60,8 +59,6 @@ module RunningCount
60
59
  Storage
61
60
  .scores(counter_data[:running_set_name])
62
61
  .each { |item, _score| Statement.reconcile_item(item, counter_data) }
63
-
64
- Statement.release_statement(counter_data)
65
62
  end
66
63
 
67
64
  def running_count(destination, running_set_name)
@@ -97,7 +94,6 @@ module RunningCount
97
94
  destination: table_name,
98
95
  running_set_name: running_set_name,
99
96
  statement: statement,
100
- release_sql: Statement.release_sql(statement),
101
97
  aggregated_field: opts[:aggregated_field],
102
98
  changed_field: opts[:changed_field],
103
99
  statement_sql: sql,
@@ -14,11 +14,9 @@ module RunningCount
14
14
  )
15
15
  end
16
16
 
17
- def release_sql(name)
18
- %( DEALLOCATE #{name} )
19
- end
20
-
21
17
  def prepare_statement(counter_data)
18
+ return if ActiveRecord::Base.connection.exec_query("select name from pg_prepared_statements where name = '#{counter_data[:statement]}'").present?
19
+
22
20
  ActiveRecord::Base.connection.exec_query(counter_data[:statement_sql])
23
21
  rescue ActiveRecord::StatementInvalid
24
22
  Rails.logger.warn "Statement already exists: #{counter_data[:statement]}"
@@ -89,9 +87,12 @@ module RunningCount
89
87
  #
90
88
  %(
91
89
  PREPARE #{statement} (int) AS
92
- UPDATE "#{destination_table_name}" SET "#{set_name}" = (
90
+ UPDATE "#{destination_table_name}"
91
+ SET "#{set_name}" = (
93
92
  #{inner_sql}
94
- ) WHERE "#{destination_table_name}"."id" = $1
93
+ ),
94
+ "updated_at" = now()
95
+ WHERE "#{destination_table_name}"."id" = $1
95
96
  )
96
97
  end
97
98
 
@@ -7,18 +7,18 @@ module RunningCount
7
7
 
8
8
  def scores(running_set_name, item = nil)
9
9
  if item
10
- $redis.zscore(running_set_name, item)
10
+ RunningCount.redis.zscore(running_set_name, item)
11
11
  else
12
- $redis.zrange(running_set_name, 0, -1, with_scores: true)
12
+ RunningCount.redis.zrange(running_set_name, 0, -1, with_scores: true)
13
13
  end
14
14
  end
15
15
 
16
16
  def add_item(item, running_set_name, amount)
17
- $redis.zincrby(running_set_name, amount || 1, item)
17
+ RunningCount.redis.zincrby(running_set_name, amount || 1, item)
18
18
  end
19
19
 
20
20
  def clear_item(item, running_set_name)
21
- $redis.zrem(running_set_name, item)
21
+ RunningCount.redis.zrem(running_set_name, item)
22
22
  end
23
23
 
24
24
  end
@@ -1,3 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module RunningCount
2
- VERSION = "0.2.4"
4
+
5
+ VERSION = "0.2.9"
6
+
3
7
  end
@@ -1,7 +1,6 @@
1
+ # frozen_string_literal: true
1
2
 
2
- lib = File.expand_path("../lib", __FILE__)
3
- $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
- require "running_count/version"
3
+ require_relative "lib/running_count/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
7
6
  spec.name = "running_count"
@@ -9,27 +8,20 @@ Gem::Specification.new do |spec|
9
8
  spec.authors = ["Isaac Priestley"]
10
9
  spec.email = ["isaac@teachable.com"]
11
10
 
12
- spec.summary = %q{Write a short summary, because RubyGems requires one.}
13
- spec.description = %q{Write a longer description or delete this line.}
14
- spec.homepage = "http://www.teachable.com"
11
+ spec.summary = "Counter caches for Rails applications, including cached running counts."
12
+ spec.description = "Counter caches for Rails applications, including cached running counts. Using redis and native PostgreSQL features for performance gains"
13
+ spec.homepage = "https://github.com/UseFedora/running_count"
15
14
  spec.license = "MIT"
15
+ spec.required_ruby_version = Gem::Requirement.new(">= 2.3.0")
16
16
 
17
- # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
18
- # to allow pushing to a single host or delete this section to allow pushing to any host.
19
- if spec.respond_to?(:metadata)
20
- spec.metadata["allowed_push_host"] = "https://rubygems.org"
21
-
22
- spec.metadata["homepage_uri"] = spec.homepage
23
- spec.metadata["source_code_uri"] = "http://github.com/usefedora/running_count"
24
- spec.metadata["changelog_uri"] = "http://github.com/usefedora/running_count"
25
- else
26
- raise "RubyGems 2.0 or newer is required to protect against " \
27
- "public gem pushes."
28
- end
17
+ spec.metadata["allowed_push_host"] = "https://rubygems.org"
18
+ spec.metadata["homepage_uri"] = spec.homepage
19
+ spec.metadata["source_code_uri"] = "https://github.com/UseFedora/running_count"
20
+ spec.metadata["changelog_uri"] = "https://github.com/UseFedora/running_count"
29
21
 
30
22
  # Specify which files should be added to the gem when it is released.
31
23
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
32
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
24
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
33
25
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
34
26
  end
35
27
  spec.bindir = "exe"
@@ -37,12 +29,11 @@ Gem::Specification.new do |spec|
37
29
  spec.require_paths = ["lib"]
38
30
 
39
31
  spec.add_dependency "activesupport"
40
- spec.add_dependency "redis-rails", ">= 5.0"
41
- spec.add_dependency "pg", "0.20.0"
32
+ spec.add_dependency "redis"
33
+ spec.add_dependency "pg", ">= 0.20.0"
42
34
 
43
- spec.add_development_dependency "rake", ">= 10.0"
44
- spec.add_development_dependency "rspec", ">= 3.0"
35
+ spec.add_development_dependency "rake"
36
+ spec.add_development_dependency "rspec"
45
37
  spec.add_development_dependency "rails"
46
- spec.add_development_dependency "database_cleaner", ">= 1.7.0"
47
- spec.add_development_dependency "pry-byebug", ">= 3.6.0"
38
+ spec.add_development_dependency "database_cleaner"
48
39
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: running_count
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.2.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Isaac Priestley
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-03-29 00:00:00.000000000 Z
11
+ date: 2020-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -25,31 +25,31 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: redis-rails
28
+ name: redis
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '5.0'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '5.0'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: pg
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - '='
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
47
  version: 0.20.0
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - '='
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: 0.20.0
55
55
  - !ruby/object:Gem::Dependency
@@ -58,28 +58,28 @@ dependencies:
58
58
  requirements:
59
59
  - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rspec
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
73
  - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: '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: '3.0'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
84
  name: rails
85
85
  requirement: !ruby/object:Gem::Requirement
@@ -100,29 +100,16 @@ dependencies:
100
100
  requirements:
101
101
  - - ">="
102
102
  - !ruby/object:Gem::Version
103
- version: 1.7.0
104
- type: :development
105
- prerelease: false
106
- version_requirements: !ruby/object:Gem::Requirement
107
- requirements:
108
- - - ">="
109
- - !ruby/object:Gem::Version
110
- version: 1.7.0
111
- - !ruby/object:Gem::Dependency
112
- name: pry-byebug
113
- requirement: !ruby/object:Gem::Requirement
114
- requirements:
115
- - - ">="
116
- - !ruby/object:Gem::Version
117
- version: 3.6.0
103
+ version: '0'
118
104
  type: :development
119
105
  prerelease: false
120
106
  version_requirements: !ruby/object:Gem::Requirement
121
107
  requirements:
122
108
  - - ">="
123
109
  - !ruby/object:Gem::Version
124
- version: 3.6.0
125
- description: Write a longer description or delete this line.
110
+ version: '0'
111
+ description: Counter caches for Rails applications, including cached running counts.
112
+ Using redis and native PostgreSQL features for performance gains
126
113
  email:
127
114
  - isaac@teachable.com
128
115
  executables: []
@@ -148,14 +135,14 @@ files:
148
135
  - lib/running_count/storage.rb
149
136
  - lib/running_count/version.rb
150
137
  - running_count.gemspec
151
- homepage: http://www.teachable.com
138
+ homepage: https://github.com/UseFedora/running_count
152
139
  licenses:
153
140
  - MIT
154
141
  metadata:
155
142
  allowed_push_host: https://rubygems.org
156
- homepage_uri: http://www.teachable.com
157
- source_code_uri: http://github.com/usefedora/running_count
158
- changelog_uri: http://github.com/usefedora/running_count
143
+ homepage_uri: https://github.com/UseFedora/running_count
144
+ source_code_uri: https://github.com/UseFedora/running_count
145
+ changelog_uri: https://github.com/UseFedora/running_count
159
146
  post_install_message:
160
147
  rdoc_options: []
161
148
  require_paths:
@@ -164,16 +151,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
164
151
  requirements:
165
152
  - - ">="
166
153
  - !ruby/object:Gem::Version
167
- version: '0'
154
+ version: 2.3.0
168
155
  required_rubygems_version: !ruby/object:Gem::Requirement
169
156
  requirements:
170
157
  - - ">="
171
158
  - !ruby/object:Gem::Version
172
159
  version: '0'
173
160
  requirements: []
174
- rubyforge_project:
175
- rubygems_version: 2.7.4
161
+ rubygems_version: 3.0.8
176
162
  signing_key:
177
163
  specification_version: 4
178
- summary: Write a short summary, because RubyGems requires one.
164
+ summary: Counter caches for Rails applications, including cached running counts.
179
165
  test_files: []