simple-feed 2.0.2 → 3.1.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 +5 -5
- data/.envrc +3 -0
- data/.github/workflows/rubocop.yml +33 -0
- data/.github/workflows/ruby.yml +34 -0
- data/.gitignore +2 -1
- data/.relaxed-rubocop-2.4.yml +174 -0
- data/.rspec +1 -1
- data/.rubocop.yml +43 -1150
- data/.rubocop_todo.yml +203 -0
- data/.travis.yml +7 -10
- data/CHANGELOG.md +120 -0
- data/Gemfile +4 -0
- data/Guardfile +3 -3
- data/README.adoc +601 -0
- data/Rakefile +5 -6
- data/bin/console +1 -0
- data/codecov.yml +28 -0
- data/examples/shared/provider_example.rb +51 -26
- data/lib/simple-feed.rb +2 -0
- data/lib/simple_feed.rb +2 -0
- data/lib/simplefeed/activity/base.rb +2 -0
- data/lib/simplefeed/activity/multi_user.rb +8 -6
- data/lib/simplefeed/activity/single_user.rb +7 -6
- data/lib/simplefeed/dsl/activities.rb +4 -3
- data/lib/simplefeed/dsl/formatter.rb +79 -40
- data/lib/simplefeed/dsl.rb +3 -1
- data/lib/simplefeed/event.rb +52 -13
- data/lib/simplefeed/feed.rb +36 -28
- data/lib/simplefeed/providers/base/provider.rb +7 -4
- data/lib/simplefeed/providers/hash.rb +2 -0
- data/lib/simplefeed/providers/key.rb +60 -36
- data/lib/simplefeed/providers/proxy.rb +28 -14
- data/lib/simplefeed/providers/redis/driver.rb +25 -27
- data/lib/simplefeed/providers/redis/provider.rb +41 -39
- data/lib/simplefeed/providers/redis/stats.rb +12 -13
- data/lib/simplefeed/providers/redis.rb +2 -0
- data/lib/simplefeed/providers.rb +24 -10
- data/lib/simplefeed/response.rb +7 -7
- data/lib/simplefeed/version.rb +3 -1
- data/lib/simplefeed.rb +27 -21
- data/man/running-example-redis-debug.png +0 -0
- data/man/running-example.png +0 -0
- data/man/sf-color-dump.png +0 -0
- data/simple-feed.gemspec +23 -16
- metadata +115 -44
- data/README.md +0 -415
- data/examples/hash_provider_example.rb +0 -24
- data/lib/simplefeed/key/template.rb +0 -52
- data/lib/simplefeed/key/type.rb +0 -26
- data/lib/simplefeed/providers/hash/paginator.rb +0 -31
- data/lib/simplefeed/providers/hash/provider.rb +0 -198
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'
|
@@ -10,11 +12,9 @@ module SimpleFeed
|
|
10
12
|
|
11
13
|
include Enumerable
|
12
14
|
|
13
|
-
def each
|
15
|
+
def each(&block)
|
14
16
|
if block_given?
|
15
|
-
@result.each_pair
|
16
|
-
yield(user_id, result)
|
17
|
-
end
|
17
|
+
@result.each_pair(&block)
|
18
18
|
else
|
19
19
|
@result.keys.to_enum
|
20
20
|
end
|
@@ -26,10 +26,10 @@ module SimpleFeed
|
|
26
26
|
|
27
27
|
def for(key_or_user_id, result = nil)
|
28
28
|
user_id = key_or_user_id.is_a?(SimpleFeed::Providers::Key) ?
|
29
|
-
key_or_user_id.
|
29
|
+
key_or_user_id.consumer :
|
30
30
|
key_or_user_id
|
31
31
|
|
32
|
-
@result[user_id] = result
|
32
|
+
@result[user_id] = result || yield(@result[user_id])
|
33
33
|
end
|
34
34
|
|
35
35
|
def user_ids
|
@@ -61,7 +61,7 @@ module SimpleFeed
|
|
61
61
|
end
|
62
62
|
|
63
63
|
def result(user_id = nil)
|
64
|
-
if user_id
|
64
|
+
if user_id
|
65
65
|
@result[user_id]
|
66
66
|
else
|
67
67
|
if @result.values.size == 1
|
data/lib/simplefeed/version.rb
CHANGED
data/lib/simplefeed.rb
CHANGED
@@ -1,60 +1,66 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'hashie/extensions/symbolize_keys'
|
2
4
|
require 'simplefeed/version'
|
5
|
+
require 'hashie'
|
3
6
|
|
4
7
|
Hashie.logger = Logger.new(nil)
|
5
8
|
|
6
9
|
::Dir.glob(::File.expand_path('../simplefeed/*.rb', __FILE__)).each { |f| require_relative(f) }
|
7
10
|
|
8
11
|
require 'simplefeed/providers/redis'
|
9
|
-
require 'simplefeed/providers/hash'
|
10
12
|
require 'simplefeed/dsl'
|
13
|
+
require 'simplefeed/feed'
|
11
14
|
|
12
15
|
# Main namespace module for the SimpleFeed gem. It provides several shortcuts and entry
|
13
16
|
# points into the library, such as ability to define and fetch new feeds via +define+,
|
14
17
|
# and so on.
|
15
18
|
module SimpleFeed
|
19
|
+
TIME_FORMAT = '%Y-%m-%d %H:%M:%S.%L'
|
20
|
+
|
16
21
|
@registry = {}
|
17
22
|
|
18
23
|
class << self
|
19
|
-
# @return
|
20
|
-
|
21
|
-
@registry
|
22
|
-
end
|
24
|
+
# @return Hash<Symbol, Feed> the registry of the defined feeds
|
25
|
+
attr_reader :registry
|
23
26
|
|
24
|
-
# @param name
|
25
|
-
# @param options
|
27
|
+
# @param <Symbol> name of the feed
|
28
|
+
# @param <Hash> options any key-value pairs to set on the feed
|
26
29
|
#
|
27
|
-
# @return [Feed]
|
28
|
-
def define(name, **options
|
30
|
+
# @return [Feed] the feed with the given name, and defined via options and a block
|
31
|
+
def define(name, **options)
|
29
32
|
name = name.to_sym unless name.is_a?(Symbol)
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
+
|
34
|
+
registry[name] ||= Feed.new(name)
|
35
|
+
registry[name].tap do |feed|
|
36
|
+
feed.configure(options) do
|
37
|
+
yield(feed) if block_given?
|
38
|
+
end
|
33
39
|
end
|
34
|
-
registry[name] = feed
|
35
|
-
feed
|
36
40
|
end
|
37
41
|
|
38
|
-
# @
|
42
|
+
# @param [Symbol] name
|
43
|
+
# @return <Feed> the pre-defined feed with the given name
|
39
44
|
def get(name)
|
40
45
|
registry[name.to_sym]
|
41
46
|
end
|
42
47
|
|
43
48
|
# A factory method that constructs an instance of a provider based on the provider name and arguments.
|
44
49
|
#
|
45
|
-
# @param provider_name
|
46
|
-
# @
|
47
|
-
# @
|
50
|
+
# @param <Symbol> provider_name short name of the provider, eg, :redis, :hash, etc.
|
51
|
+
# @param <Array> args constructor array arguments of the provider
|
52
|
+
# @param <Hash, NilClass> opts constructor hash arguments of the provider
|
48
53
|
#
|
49
|
-
# @return
|
54
|
+
# @return <Provider>
|
50
55
|
def provider(provider_name, *args, **opts, &block)
|
51
56
|
provider_class = SimpleFeed::Providers.registry[provider_name]
|
52
57
|
raise ArgumentError, "No provider named #{provider_name} was found, #{SimpleFeed::Providers.registry.inspect}" unless provider_class
|
58
|
+
|
53
59
|
provider_class.new(*args, **opts, &block)
|
54
60
|
end
|
55
61
|
|
56
62
|
# Forward all other method calls to the Provider
|
57
|
-
def method_missing(name, *args, &block)
|
63
|
+
def method_missing(name, *args, **opts, &block)
|
58
64
|
registry[name] || super
|
59
65
|
end
|
60
66
|
end
|
@@ -62,7 +68,7 @@ module SimpleFeed
|
|
62
68
|
# Returns list of class attributes based on the setter methods.
|
63
69
|
# Not fool-proof, but works in this context.
|
64
70
|
def self.class_attributes(klass)
|
65
|
-
klass.instance_methods.grep(
|
71
|
+
klass.instance_methods.grep(/[^=!]=$/).map { |m| m.to_s.gsub(/=/, '').to_sym }
|
66
72
|
end
|
67
73
|
|
68
74
|
# Shortcut method to symbolize hash keys, using Hashie::Extensions
|
Binary file
|
data/man/running-example.png
CHANGED
Binary file
|
data/man/sf-color-dump.png
CHANGED
Binary file
|
data/simple-feed.gemspec
CHANGED
@@ -1,7 +1,9 @@
|
|
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
|
+
# noinspection RubyResolve
|
6
|
+
load File.expand_path("#{lib}/simplefeed/version.rb")
|
5
7
|
|
6
8
|
Gem::Specification.new do |spec|
|
7
9
|
spec.name = 'simple-feed'
|
@@ -9,8 +11,8 @@ Gem::Specification.new do |spec|
|
|
9
11
|
spec.authors = ['Konstantin Gredeskoul']
|
10
12
|
spec.email = ['kigster@gmail.com']
|
11
13
|
|
12
|
-
spec.summary =
|
13
|
-
spec.description =
|
14
|
+
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.'
|
15
|
+
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
16
|
spec.homepage = 'https://github.com/kigster/simple-feed'
|
15
17
|
spec.license = 'MIT'
|
16
18
|
|
@@ -22,21 +24,26 @@ Gem::Specification.new do |spec|
|
|
22
24
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
25
|
spec.require_paths = ['lib']
|
24
26
|
|
27
|
+
spec.add_dependency 'activesupport'
|
28
|
+
spec.add_dependency 'awesome_print'
|
25
29
|
spec.add_dependency 'base62-rb'
|
30
|
+
spec.add_dependency 'colored2'
|
31
|
+
spec.add_dependency 'connection_pool', '~> 2'
|
32
|
+
spec.add_dependency 'hashie'
|
26
33
|
spec.add_dependency 'hiredis'
|
27
34
|
spec.add_dependency 'redis'
|
28
|
-
spec.add_dependency '
|
29
|
-
spec.add_dependency '
|
30
|
-
spec.add_dependency '
|
31
|
-
spec.add_dependency 'colored2'
|
35
|
+
spec.add_dependency 'sorted_set'
|
36
|
+
spec.add_dependency 'tty-box'
|
37
|
+
spec.add_dependency 'tty-screen'
|
32
38
|
|
33
|
-
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
39
|
spec.add_development_dependency 'bundler'
|
39
|
-
spec.add_development_dependency '
|
40
|
-
spec.add_development_dependency '
|
40
|
+
spec.add_development_dependency 'codeclimate-test-reporter'
|
41
|
+
spec.add_development_dependency 'codecov'
|
42
|
+
spec.add_development_dependency 'rake'
|
43
|
+
spec.add_development_dependency 'rspec'
|
41
44
|
spec.add_development_dependency 'rspec-its'
|
45
|
+
spec.add_development_dependency 'rubocop'
|
46
|
+
spec.add_development_dependency 'simplecov'
|
47
|
+
spec.add_development_dependency 'uuid'
|
48
|
+
spec.add_development_dependency 'yard'
|
42
49
|
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:
|
4
|
+
version: 3.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Konstantin Gredeskoul
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-02-23 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: awesome_print
|
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: base62-rb
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
45
|
- - ">="
|
@@ -53,7 +53,7 @@ dependencies:
|
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
|
-
name:
|
56
|
+
name: colored2
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
@@ -81,7 +81,7 @@ dependencies:
|
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '2'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
|
-
name:
|
84
|
+
name: hashie
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
87
|
- - ">="
|
@@ -95,7 +95,7 @@ dependencies:
|
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
|
-
name:
|
98
|
+
name: hiredis
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
101
|
- - ">="
|
@@ -109,13 +109,13 @@ dependencies:
|
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
|
-
name:
|
112
|
+
name: redis
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
115
|
- - ">="
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '0'
|
118
|
-
type: :
|
118
|
+
type: :runtime
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
@@ -123,13 +123,13 @@ dependencies:
|
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '0'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
|
-
name:
|
126
|
+
name: sorted_set
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
129
|
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
|
-
type: :
|
132
|
+
type: :runtime
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
@@ -137,35 +137,49 @@ dependencies:
|
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
- !ruby/object:Gem::Dependency
|
140
|
-
name:
|
140
|
+
name: tty-box
|
141
141
|
requirement: !ruby/object:Gem::Requirement
|
142
142
|
requirements:
|
143
|
-
- - "
|
143
|
+
- - ">="
|
144
144
|
- !ruby/object:Gem::Version
|
145
|
-
version: '0
|
146
|
-
type: :
|
145
|
+
version: '0'
|
146
|
+
type: :runtime
|
147
147
|
prerelease: false
|
148
148
|
version_requirements: !ruby/object:Gem::Requirement
|
149
149
|
requirements:
|
150
|
-
- - "
|
150
|
+
- - ">="
|
151
151
|
- !ruby/object:Gem::Version
|
152
|
-
version: '0
|
152
|
+
version: '0'
|
153
153
|
- !ruby/object:Gem::Dependency
|
154
|
-
name:
|
154
|
+
name: tty-screen
|
155
155
|
requirement: !ruby/object:Gem::Requirement
|
156
156
|
requirements:
|
157
|
-
- - "
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :runtime
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: bundler
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
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: codeclimate-test-reporter
|
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: codecov
|
183
197
|
requirement: !ruby/object:Gem::Requirement
|
184
198
|
requirements:
|
185
199
|
- - ">="
|
@@ -196,30 +210,30 @@ dependencies:
|
|
196
210
|
name: rake
|
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
224
|
name: rspec
|
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
238
|
name: rspec-its
|
225
239
|
requirement: !ruby/object:Gem::Requirement
|
@@ -234,6 +248,62 @@ dependencies:
|
|
234
248
|
- - ">="
|
235
249
|
- !ruby/object:Gem::Version
|
236
250
|
version: '0'
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: rubocop
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: '0'
|
258
|
+
type: :development
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: '0'
|
265
|
+
- !ruby/object:Gem::Dependency
|
266
|
+
name: simplecov
|
267
|
+
requirement: !ruby/object:Gem::Requirement
|
268
|
+
requirements:
|
269
|
+
- - ">="
|
270
|
+
- !ruby/object:Gem::Version
|
271
|
+
version: '0'
|
272
|
+
type: :development
|
273
|
+
prerelease: false
|
274
|
+
version_requirements: !ruby/object:Gem::Requirement
|
275
|
+
requirements:
|
276
|
+
- - ">="
|
277
|
+
- !ruby/object:Gem::Version
|
278
|
+
version: '0'
|
279
|
+
- !ruby/object:Gem::Dependency
|
280
|
+
name: uuid
|
281
|
+
requirement: !ruby/object:Gem::Requirement
|
282
|
+
requirements:
|
283
|
+
- - ">="
|
284
|
+
- !ruby/object:Gem::Version
|
285
|
+
version: '0'
|
286
|
+
type: :development
|
287
|
+
prerelease: false
|
288
|
+
version_requirements: !ruby/object:Gem::Requirement
|
289
|
+
requirements:
|
290
|
+
- - ">="
|
291
|
+
- !ruby/object:Gem::Version
|
292
|
+
version: '0'
|
293
|
+
- !ruby/object:Gem::Dependency
|
294
|
+
name: yard
|
295
|
+
requirement: !ruby/object:Gem::Requirement
|
296
|
+
requirements:
|
297
|
+
- - ">="
|
298
|
+
- !ruby/object:Gem::Version
|
299
|
+
version: '0'
|
300
|
+
type: :development
|
301
|
+
prerelease: false
|
302
|
+
version_requirements: !ruby/object:Gem::Requirement
|
303
|
+
requirements:
|
304
|
+
- - ">="
|
305
|
+
- !ruby/object:Gem::Version
|
306
|
+
version: '0'
|
237
307
|
description: 'This gem implements flexible time-ordered activity feeds commonly used
|
238
308
|
withing social networking applications. As events occur, they are pushed into the
|
239
309
|
Feed and distributed to all users that need to see the event. Upon the user visiting
|
@@ -247,19 +317,25 @@ extensions: []
|
|
247
317
|
extra_rdoc_files: []
|
248
318
|
files:
|
249
319
|
- ".codeclimate.yml"
|
320
|
+
- ".envrc"
|
321
|
+
- ".github/workflows/rubocop.yml"
|
322
|
+
- ".github/workflows/ruby.yml"
|
250
323
|
- ".gitignore"
|
324
|
+
- ".relaxed-rubocop-2.4.yml"
|
251
325
|
- ".rspec"
|
252
326
|
- ".rubocop.yml"
|
327
|
+
- ".rubocop_todo.yml"
|
253
328
|
- ".travis.yml"
|
254
329
|
- ".yardopts"
|
330
|
+
- CHANGELOG.md
|
255
331
|
- Gemfile
|
256
332
|
- Guardfile
|
257
333
|
- LICENSE.txt
|
258
|
-
- README.
|
334
|
+
- README.adoc
|
259
335
|
- Rakefile
|
260
336
|
- bin/console
|
261
337
|
- bin/setup
|
262
|
-
-
|
338
|
+
- codecov.yml
|
263
339
|
- examples/redis_provider_example.rb
|
264
340
|
- examples/shared/provider_example.rb
|
265
341
|
- lib/simple-feed.rb
|
@@ -273,13 +349,9 @@ files:
|
|
273
349
|
- lib/simplefeed/dsl/formatter.rb
|
274
350
|
- lib/simplefeed/event.rb
|
275
351
|
- lib/simplefeed/feed.rb
|
276
|
-
- lib/simplefeed/key/template.rb
|
277
|
-
- lib/simplefeed/key/type.rb
|
278
352
|
- lib/simplefeed/providers.rb
|
279
353
|
- lib/simplefeed/providers/base/provider.rb
|
280
354
|
- lib/simplefeed/providers/hash.rb
|
281
|
-
- lib/simplefeed/providers/hash/paginator.rb
|
282
|
-
- lib/simplefeed/providers/hash/provider.rb
|
283
355
|
- lib/simplefeed/providers/key.rb
|
284
356
|
- lib/simplefeed/providers/proxy.rb
|
285
357
|
- lib/simplefeed/providers/redis.rb
|
@@ -298,7 +370,7 @@ homepage: https://github.com/kigster/simple-feed
|
|
298
370
|
licenses:
|
299
371
|
- MIT
|
300
372
|
metadata: {}
|
301
|
-
post_install_message:
|
373
|
+
post_install_message:
|
302
374
|
rdoc_options: []
|
303
375
|
require_paths:
|
304
376
|
- lib
|
@@ -313,9 +385,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
313
385
|
- !ruby/object:Gem::Version
|
314
386
|
version: '0'
|
315
387
|
requirements: []
|
316
|
-
|
317
|
-
|
318
|
-
signing_key:
|
388
|
+
rubygems_version: 3.3.7
|
389
|
+
signing_key:
|
319
390
|
specification_version: 4
|
320
391
|
summary: Create multiple types of social networking activity feeds with simple-feed
|
321
392
|
gem, which uses a pluggable backend provider implementation, and ships with a Redis
|