simple-feed 2.0.2 → 2.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/.github/workflows/rubocop.yml +33 -0
- data/.github/workflows/ruby.yml +35 -0
- data/.relaxed-rubocop-2.4.yml +174 -0
- data/.rspec +1 -1
- data/.rubocop.yml +42 -1149
- data/.rubocop_todo.yml +134 -0
- data/.travis.yml +15 -8
- data/Gemfile +2 -0
- data/Guardfile +3 -3
- data/{README.md → README.adoc} +205 -140
- data/Rakefile +6 -7
- data/bin/console +1 -0
- data/examples/shared/provider_example.rb +10 -3
- data/lib/simple-feed.rb +2 -0
- data/lib/simple_feed.rb +2 -0
- data/lib/simplefeed.rb +9 -7
- data/lib/simplefeed/activity/base.rb +2 -0
- data/lib/simplefeed/activity/multi_user.rb +8 -6
- data/lib/simplefeed/activity/single_user.rb +5 -4
- data/lib/simplefeed/dsl.rb +3 -1
- data/lib/simplefeed/dsl/activities.rb +4 -3
- data/lib/simplefeed/dsl/formatter.rb +12 -12
- data/lib/simplefeed/event.rb +4 -3
- data/lib/simplefeed/feed.rb +19 -22
- data/lib/simplefeed/key/template.rb +5 -9
- data/lib/simplefeed/key/type.rb +4 -2
- data/lib/simplefeed/providers.rb +24 -9
- data/lib/simplefeed/providers/base/provider.rb +6 -3
- data/lib/simplefeed/providers/hash.rb +2 -0
- data/lib/simplefeed/providers/hash/paginator.rb +4 -2
- data/lib/simplefeed/providers/hash/provider.rb +11 -21
- data/lib/simplefeed/providers/key.rb +20 -11
- data/lib/simplefeed/providers/proxy.rb +13 -12
- data/lib/simplefeed/providers/redis.rb +2 -0
- data/lib/simplefeed/providers/redis/driver.rb +23 -23
- data/lib/simplefeed/providers/redis/provider.rb +35 -33
- data/lib/simplefeed/providers/redis/stats.rb +12 -13
- data/lib/simplefeed/response.rb +4 -2
- data/lib/simplefeed/version.rb +3 -1
- data/simple-feed.gemspec +16 -14
- metadata +58 -41
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'redis'
|
2
4
|
require 'base62-rb'
|
3
5
|
require 'forwardable'
|
@@ -21,7 +23,6 @@ module SimpleFeed
|
|
21
23
|
# u.afkj234.meta: { total: 2, unread: 2, last_read: 2016-11-20 22:00:34 -08:00 GMT }
|
22
24
|
# ```
|
23
25
|
class Provider < ::SimpleFeed::Providers::Base::Provider
|
24
|
-
|
25
26
|
# SimpleFeed::Providers.define_provider_methods(self) do |provider, method, **opts, &block|
|
26
27
|
# users = Users.new(provider: provider, user_ids: opts.delete(:user_ids))
|
27
28
|
# opts.empty? ?
|
@@ -48,6 +49,7 @@ module SimpleFeed
|
|
48
49
|
|
49
50
|
def delete_if(user_ids:)
|
50
51
|
raise ArgumentError, '#delete_if must be called with a block that receives (user_id, event) as arguments.' unless block_given?
|
52
|
+
|
51
53
|
with_response_batched(user_ids) do |key|
|
52
54
|
fetch(user_ids: [key.user_id])[key.user_id].map do |event|
|
53
55
|
with_redis do |redis|
|
@@ -129,7 +131,7 @@ module SimpleFeed
|
|
129
131
|
end
|
130
132
|
end
|
131
133
|
|
132
|
-
FEED_METHODS = %i(total_memory_bytes total_users last_disk_save_time)
|
134
|
+
FEED_METHODS = %i(total_memory_bytes total_users last_disk_save_time).freeze
|
133
135
|
|
134
136
|
def total_memory_bytes
|
135
137
|
with_stats(:used_memory_since_boot)
|
@@ -147,39 +149,39 @@ module SimpleFeed
|
|
147
149
|
|
148
150
|
def transform_response(user_id = nil, result)
|
149
151
|
case result
|
150
|
-
|
151
|
-
|
152
|
+
when ::Redis::Future
|
153
|
+
transform_response(user_id, result.value)
|
152
154
|
|
153
|
-
|
155
|
+
when ::Hash
|
154
156
|
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
157
|
+
if result.values.any? { |v| transformable_type?(v) }
|
158
|
+
result.each { |k, v| result[k] = transform_response(user_id, v) }
|
159
|
+
else
|
160
|
+
result
|
161
|
+
end
|
160
162
|
|
161
|
-
|
163
|
+
when ::Array
|
162
164
|
|
163
|
-
|
164
|
-
|
165
|
-
|
165
|
+
if result.any? { |v| transformable_type?(v) }
|
166
|
+
result = result.map { |v| transform_response(user_id, v) }
|
167
|
+
end
|
166
168
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
169
|
+
if result.size == 2 && result[1].is_a?(Float)
|
170
|
+
SimpleFeed::Event.new(value: result[0], at: Time.at(result[1]))
|
171
|
+
else
|
172
|
+
result
|
173
|
+
end
|
172
174
|
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
else
|
179
|
-
result
|
180
|
-
end
|
175
|
+
when ::String
|
176
|
+
if result =~ /^\d+\.\d+$/
|
177
|
+
result.to_f
|
178
|
+
elsif result =~ /^\d+$/
|
179
|
+
result.to_i
|
181
180
|
else
|
182
181
|
result
|
182
|
+
end
|
183
|
+
else
|
184
|
+
result
|
183
185
|
end
|
184
186
|
end
|
185
187
|
|
@@ -194,9 +196,9 @@ module SimpleFeed
|
|
194
196
|
|
195
197
|
private
|
196
198
|
|
197
|
-
|
199
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
198
200
|
# helpers
|
199
|
-
|
201
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
200
202
|
|
201
203
|
def reset_users_last_read(redis, key, time = nil)
|
202
204
|
time = time.nil? ? Time.now.to_f : time.to_f
|
@@ -214,9 +216,9 @@ module SimpleFeed
|
|
214
216
|
redis.zrevrange(key.data, (page - 1) * per_page, page * per_page - 1, withscores: true)
|
215
217
|
end
|
216
218
|
|
217
|
-
|
219
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
218
220
|
# Operations with response
|
219
|
-
|
221
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
220
222
|
|
221
223
|
def with_response_pipelined(user_ids, response = nil)
|
222
224
|
with_response(response) do |response|
|
@@ -234,9 +236,9 @@ module SimpleFeed
|
|
234
236
|
end
|
235
237
|
end
|
236
238
|
|
237
|
-
|
239
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
238
240
|
# Batch operations
|
239
|
-
|
241
|
+
# ——————————————————————————————————————————————————————————————————————————————————————
|
240
242
|
def batch_pipelined(user_ids)
|
241
243
|
to_array(user_ids).each_slice(batch_size) do |batch|
|
242
244
|
with_pipelined do |redis|
|
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'redis'
|
2
4
|
require 'hashie/mash'
|
3
5
|
require 'yaml'
|
@@ -6,7 +8,6 @@ module SimpleFeed
|
|
6
8
|
module Providers
|
7
9
|
module Redis
|
8
10
|
class Stats
|
9
|
-
|
10
11
|
attr_accessor :redis
|
11
12
|
|
12
13
|
def initialize(redis)
|
@@ -56,27 +57,25 @@ module SimpleFeed
|
|
56
57
|
end
|
57
58
|
|
58
59
|
def load_boot_stats!
|
59
|
-
@boot_info ||= destringify(YAML.load(File.open(File.expand_path('
|
60
|
+
@boot_info ||= destringify(YAML.load(File.open(File.expand_path('boot_info.yml', __dir__))))
|
60
61
|
end
|
61
|
-
|
62
62
|
end
|
63
63
|
|
64
64
|
load_boot_stats!
|
65
65
|
|
66
66
|
boot_info.keys.each do |key|
|
67
|
-
|
67
|
+
next if key.to_s =~ /^db[0-9]+/
|
68
68
|
|
69
|
-
|
70
|
-
|
71
|
-
|
69
|
+
define_method(key.to_sym) do
|
70
|
+
info[key]
|
71
|
+
end
|
72
72
|
|
73
|
-
|
74
|
-
|
75
|
-
|
73
|
+
define_method("#{key}_at_boot".to_sym) do
|
74
|
+
boot_info[key]
|
75
|
+
end
|
76
76
|
|
77
|
-
|
78
|
-
|
79
|
-
end
|
77
|
+
define_method("#{key}_since_boot".to_sym) do
|
78
|
+
info[key] - boot_info[key]
|
80
79
|
end
|
81
80
|
end
|
82
81
|
end
|
data/lib/simplefeed/response.rb
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'hashie'
|
2
4
|
require 'forwardable'
|
3
5
|
require 'simplefeed'
|
@@ -29,7 +31,7 @@ module SimpleFeed
|
|
29
31
|
key_or_user_id.user_id :
|
30
32
|
key_or_user_id
|
31
33
|
|
32
|
-
@result[user_id] = result
|
34
|
+
@result[user_id] = result || yield(@result[user_id])
|
33
35
|
end
|
34
36
|
|
35
37
|
def user_ids
|
@@ -61,7 +63,7 @@ module SimpleFeed
|
|
61
63
|
end
|
62
64
|
|
63
65
|
def result(user_id = nil)
|
64
|
-
if user_id
|
66
|
+
if user_id
|
65
67
|
@result[user_id]
|
66
68
|
else
|
67
69
|
if @result.values.size == 1
|
data/lib/simplefeed/version.rb
CHANGED
data/simple-feed.gemspec
CHANGED
@@ -1,5 +1,6 @@
|
|
1
|
-
#
|
2
|
-
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
lib = File.expand_path('lib', __dir__)
|
3
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
5
|
require 'simplefeed/version'
|
5
6
|
|
@@ -9,8 +10,8 @@ Gem::Specification.new do |spec|
|
|
9
10
|
spec.authors = ['Konstantin Gredeskoul']
|
10
11
|
spec.email = ['kigster@gmail.com']
|
11
12
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
13
|
+
spec.summary = 'Create multiple types of social networking activity feeds with simple-feed gem, which uses a pluggable backend provider implementation, and ships with a Redis provider by default.'
|
14
|
+
spec.description = 'This gem implements flexible time-ordered activity feeds commonly used withing social networking applications. As events occur, they are pushed into the Feed and distributed to all users that need to see the event. Upon the user visiting their "feed page", a pre-populated ordered list of events is returned by the library. Typically the data stored in the feed is a short-hand condensed variant of models, but it can also be a fully Marshalled objects, or JSON serializations. '
|
14
15
|
spec.homepage = 'https://github.com/kigster/simple-feed'
|
15
16
|
spec.license = 'MIT'
|
16
17
|
|
@@ -22,21 +23,22 @@ Gem::Specification.new do |spec|
|
|
22
23
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
24
|
spec.require_paths = ['lib']
|
24
25
|
|
26
|
+
spec.add_dependency 'activesupport'
|
25
27
|
spec.add_dependency 'base62-rb'
|
28
|
+
spec.add_dependency 'colored2'
|
29
|
+
spec.add_dependency 'connection_pool', '~> 2'
|
30
|
+
spec.add_dependency 'hashie'
|
26
31
|
spec.add_dependency 'hiredis'
|
27
32
|
spec.add_dependency 'redis'
|
28
|
-
spec.add_dependency 'hashie'
|
29
|
-
spec.add_dependency 'connection_pool', '~> 2'
|
30
|
-
spec.add_dependency 'activesupport'
|
31
|
-
spec.add_dependency 'colored2'
|
32
33
|
|
33
34
|
spec.add_development_dependency 'awesome_print'
|
34
|
-
spec.add_development_dependency 'yard'
|
35
|
-
spec.add_development_dependency 'simplecov', '~> 0.12'
|
36
|
-
spec.add_development_dependency 'codeclimate-test-reporter', '~> 1.0'
|
37
|
-
spec.add_development_dependency 'knjrbfw'
|
38
35
|
spec.add_development_dependency 'bundler'
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
36
|
+
spec.add_development_dependency 'codeclimate-test-reporter'
|
37
|
+
spec.add_development_dependency 'rake'
|
38
|
+
spec.add_development_dependency 'rspec'
|
41
39
|
spec.add_development_dependency 'rspec-its'
|
40
|
+
spec.add_development_dependency 'rubocop'
|
41
|
+
spec.add_development_dependency 'simplecov'
|
42
|
+
spec.add_development_dependency 'uuid'
|
43
|
+
spec.add_development_dependency 'yard'
|
42
44
|
end
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-feed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0
|
4
|
+
version: 2.1.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Gredeskoul
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2020-05-24 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
|
-
name:
|
14
|
+
name: activesupport
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
17
|
- - ">="
|
@@ -25,7 +25,7 @@ dependencies:
|
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
|
-
name:
|
28
|
+
name: base62-rb
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
31
|
- - ">="
|
@@ -39,7 +39,7 @@ dependencies:
|
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
|
-
name:
|
42
|
+
name: colored2
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -52,6 +52,20 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: connection_pool
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '2'
|
55
69
|
- !ruby/object:Gem::Dependency
|
56
70
|
name: hashie
|
57
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -67,21 +81,21 @@ dependencies:
|
|
67
81
|
- !ruby/object:Gem::Version
|
68
82
|
version: '0'
|
69
83
|
- !ruby/object:Gem::Dependency
|
70
|
-
name:
|
84
|
+
name: hiredis
|
71
85
|
requirement: !ruby/object:Gem::Requirement
|
72
86
|
requirements:
|
73
|
-
- - "
|
87
|
+
- - ">="
|
74
88
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
89
|
+
version: '0'
|
76
90
|
type: :runtime
|
77
91
|
prerelease: false
|
78
92
|
version_requirements: !ruby/object:Gem::Requirement
|
79
93
|
requirements:
|
80
|
-
- - "
|
94
|
+
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
96
|
+
version: '0'
|
83
97
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
98
|
+
name: redis
|
85
99
|
requirement: !ruby/object:Gem::Requirement
|
86
100
|
requirements:
|
87
101
|
- - ">="
|
@@ -95,13 +109,13 @@ dependencies:
|
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0'
|
97
111
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
112
|
+
name: awesome_print
|
99
113
|
requirement: !ruby/object:Gem::Requirement
|
100
114
|
requirements:
|
101
115
|
- - ">="
|
102
116
|
- !ruby/object:Gem::Version
|
103
117
|
version: '0'
|
104
|
-
type: :
|
118
|
+
type: :development
|
105
119
|
prerelease: false
|
106
120
|
version_requirements: !ruby/object:Gem::Requirement
|
107
121
|
requirements:
|
@@ -109,7 +123,7 @@ dependencies:
|
|
109
123
|
- !ruby/object:Gem::Version
|
110
124
|
version: '0'
|
111
125
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
126
|
+
name: bundler
|
113
127
|
requirement: !ruby/object:Gem::Requirement
|
114
128
|
requirements:
|
115
129
|
- - ">="
|
@@ -123,7 +137,7 @@ dependencies:
|
|
123
137
|
- !ruby/object:Gem::Version
|
124
138
|
version: '0'
|
125
139
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
140
|
+
name: codeclimate-test-reporter
|
127
141
|
requirement: !ruby/object:Gem::Requirement
|
128
142
|
requirements:
|
129
143
|
- - ">="
|
@@ -137,35 +151,35 @@ dependencies:
|
|
137
151
|
- !ruby/object:Gem::Version
|
138
152
|
version: '0'
|
139
153
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
154
|
+
name: rake
|
141
155
|
requirement: !ruby/object:Gem::Requirement
|
142
156
|
requirements:
|
143
|
-
- - "
|
157
|
+
- - ">="
|
144
158
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0
|
159
|
+
version: '0'
|
146
160
|
type: :development
|
147
161
|
prerelease: false
|
148
162
|
version_requirements: !ruby/object:Gem::Requirement
|
149
163
|
requirements:
|
150
|
-
- - "
|
164
|
+
- - ">="
|
151
165
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0
|
166
|
+
version: '0'
|
153
167
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
168
|
+
name: rspec
|
155
169
|
requirement: !ruby/object:Gem::Requirement
|
156
170
|
requirements:
|
157
|
-
- - "
|
171
|
+
- - ">="
|
158
172
|
- !ruby/object:Gem::Version
|
159
|
-
version: '
|
173
|
+
version: '0'
|
160
174
|
type: :development
|
161
175
|
prerelease: false
|
162
176
|
version_requirements: !ruby/object:Gem::Requirement
|
163
177
|
requirements:
|
164
|
-
- - "
|
178
|
+
- - ">="
|
165
179
|
- !ruby/object:Gem::Version
|
166
|
-
version: '
|
180
|
+
version: '0'
|
167
181
|
- !ruby/object:Gem::Dependency
|
168
|
-
name:
|
182
|
+
name: rspec-its
|
169
183
|
requirement: !ruby/object:Gem::Requirement
|
170
184
|
requirements:
|
171
185
|
- - ">="
|
@@ -179,7 +193,7 @@ dependencies:
|
|
179
193
|
- !ruby/object:Gem::Version
|
180
194
|
version: '0'
|
181
195
|
- !ruby/object:Gem::Dependency
|
182
|
-
name:
|
196
|
+
name: rubocop
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
184
198
|
requirements:
|
185
199
|
- - ">="
|
@@ -193,35 +207,35 @@ dependencies:
|
|
193
207
|
- !ruby/object:Gem::Version
|
194
208
|
version: '0'
|
195
209
|
- !ruby/object:Gem::Dependency
|
196
|
-
name:
|
210
|
+
name: simplecov
|
197
211
|
requirement: !ruby/object:Gem::Requirement
|
198
212
|
requirements:
|
199
|
-
- - "
|
213
|
+
- - ">="
|
200
214
|
- !ruby/object:Gem::Version
|
201
|
-
version: '
|
215
|
+
version: '0'
|
202
216
|
type: :development
|
203
217
|
prerelease: false
|
204
218
|
version_requirements: !ruby/object:Gem::Requirement
|
205
219
|
requirements:
|
206
|
-
- - "
|
220
|
+
- - ">="
|
207
221
|
- !ruby/object:Gem::Version
|
208
|
-
version: '
|
222
|
+
version: '0'
|
209
223
|
- !ruby/object:Gem::Dependency
|
210
|
-
name:
|
224
|
+
name: uuid
|
211
225
|
requirement: !ruby/object:Gem::Requirement
|
212
226
|
requirements:
|
213
|
-
- - "
|
227
|
+
- - ">="
|
214
228
|
- !ruby/object:Gem::Version
|
215
|
-
version: '
|
229
|
+
version: '0'
|
216
230
|
type: :development
|
217
231
|
prerelease: false
|
218
232
|
version_requirements: !ruby/object:Gem::Requirement
|
219
233
|
requirements:
|
220
|
-
- - "
|
234
|
+
- - ">="
|
221
235
|
- !ruby/object:Gem::Version
|
222
|
-
version: '
|
236
|
+
version: '0'
|
223
237
|
- !ruby/object:Gem::Dependency
|
224
|
-
name:
|
238
|
+
name: yard
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
226
240
|
requirements:
|
227
241
|
- - ">="
|
@@ -247,15 +261,19 @@ extensions: []
|
|
247
261
|
extra_rdoc_files: []
|
248
262
|
files:
|
249
263
|
- ".codeclimate.yml"
|
264
|
+
- ".github/workflows/rubocop.yml"
|
265
|
+
- ".github/workflows/ruby.yml"
|
250
266
|
- ".gitignore"
|
267
|
+
- ".relaxed-rubocop-2.4.yml"
|
251
268
|
- ".rspec"
|
252
269
|
- ".rubocop.yml"
|
270
|
+
- ".rubocop_todo.yml"
|
253
271
|
- ".travis.yml"
|
254
272
|
- ".yardopts"
|
255
273
|
- Gemfile
|
256
274
|
- Guardfile
|
257
275
|
- LICENSE.txt
|
258
|
-
- README.
|
276
|
+
- README.adoc
|
259
277
|
- Rakefile
|
260
278
|
- bin/console
|
261
279
|
- bin/setup
|
@@ -313,8 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
313
331
|
- !ruby/object:Gem::Version
|
314
332
|
version: '0'
|
315
333
|
requirements: []
|
316
|
-
|
317
|
-
rubygems_version: 2.6.13
|
334
|
+
rubygems_version: 3.1.3
|
318
335
|
signing_key:
|
319
336
|
specification_version: 4
|
320
337
|
summary: Create multiple types of social networking activity feeds with simple-feed
|