simple-feed 2.1.0 → 3.0.1
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.
Potentially problematic release.
This version of simple-feed might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/.envrc +1 -0
- data/.github/workflows/ruby.yml +1 -0
- data/.gitignore +1 -1
- data/.travis.yml +3 -13
- data/CHANGELOG.md +93 -0
- data/README.adoc +168 -51
- data/Rakefile +1 -1
- data/codecov.yml +28 -0
- data/examples/shared/provider_example.rb +43 -25
- data/lib/simplefeed.rb +20 -15
- data/lib/simplefeed/activity/single_user.rb +2 -2
- data/lib/simplefeed/dsl/formatter.rb +58 -23
- data/lib/simplefeed/event.rb +47 -10
- data/lib/simplefeed/feed.rb +20 -9
- data/lib/simplefeed/providers/base/provider.rb +1 -1
- data/lib/simplefeed/providers/hash/provider.rb +26 -16
- data/lib/simplefeed/providers/key.rb +57 -42
- data/lib/simplefeed/providers/proxy.rb +20 -7
- data/lib/simplefeed/providers/redis/provider.rb +6 -6
- data/lib/simplefeed/response.rb +1 -1
- data/lib/simplefeed/version.rb +1 -1
- 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 +5 -1
- metadata +51 -8
- data/lib/simplefeed/key/template.rb +0 -48
- data/lib/simplefeed/key/type.rb +0 -28
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: simple-feed
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 3.0.1
|
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: 2020-
|
11
|
+
date: 2020-06-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -108,6 +108,34 @@ dependencies:
|
|
108
108
|
- - ">="
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '0'
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: tty-box
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - ">="
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: '0'
|
118
|
+
type: :runtime
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: tty-screen
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - ">="
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: '0'
|
132
|
+
type: :runtime
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - ">="
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: '0'
|
111
139
|
- !ruby/object:Gem::Dependency
|
112
140
|
name: awesome_print
|
113
141
|
requirement: !ruby/object:Gem::Requirement
|
@@ -150,6 +178,20 @@ dependencies:
|
|
150
178
|
- - ">="
|
151
179
|
- !ruby/object:Gem::Version
|
152
180
|
version: '0'
|
181
|
+
- !ruby/object:Gem::Dependency
|
182
|
+
name: codecov
|
183
|
+
requirement: !ruby/object:Gem::Requirement
|
184
|
+
requirements:
|
185
|
+
- - ">="
|
186
|
+
- !ruby/object:Gem::Version
|
187
|
+
version: '0'
|
188
|
+
type: :development
|
189
|
+
prerelease: false
|
190
|
+
version_requirements: !ruby/object:Gem::Requirement
|
191
|
+
requirements:
|
192
|
+
- - ">="
|
193
|
+
- !ruby/object:Gem::Version
|
194
|
+
version: '0'
|
153
195
|
- !ruby/object:Gem::Dependency
|
154
196
|
name: rake
|
155
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -261,6 +303,7 @@ extensions: []
|
|
261
303
|
extra_rdoc_files: []
|
262
304
|
files:
|
263
305
|
- ".codeclimate.yml"
|
306
|
+
- ".envrc"
|
264
307
|
- ".github/workflows/rubocop.yml"
|
265
308
|
- ".github/workflows/ruby.yml"
|
266
309
|
- ".gitignore"
|
@@ -270,6 +313,7 @@ files:
|
|
270
313
|
- ".rubocop_todo.yml"
|
271
314
|
- ".travis.yml"
|
272
315
|
- ".yardopts"
|
316
|
+
- CHANGELOG.md
|
273
317
|
- Gemfile
|
274
318
|
- Guardfile
|
275
319
|
- LICENSE.txt
|
@@ -277,6 +321,7 @@ files:
|
|
277
321
|
- Rakefile
|
278
322
|
- bin/console
|
279
323
|
- bin/setup
|
324
|
+
- codecov.yml
|
280
325
|
- examples/hash_provider_example.rb
|
281
326
|
- examples/redis_provider_example.rb
|
282
327
|
- examples/shared/provider_example.rb
|
@@ -291,8 +336,6 @@ files:
|
|
291
336
|
- lib/simplefeed/dsl/formatter.rb
|
292
337
|
- lib/simplefeed/event.rb
|
293
338
|
- lib/simplefeed/feed.rb
|
294
|
-
- lib/simplefeed/key/template.rb
|
295
|
-
- lib/simplefeed/key/type.rb
|
296
339
|
- lib/simplefeed/providers.rb
|
297
340
|
- lib/simplefeed/providers/base/provider.rb
|
298
341
|
- lib/simplefeed/providers/hash.rb
|
@@ -316,7 +359,7 @@ homepage: https://github.com/kigster/simple-feed
|
|
316
359
|
licenses:
|
317
360
|
- MIT
|
318
361
|
metadata: {}
|
319
|
-
post_install_message:
|
362
|
+
post_install_message:
|
320
363
|
rdoc_options: []
|
321
364
|
require_paths:
|
322
365
|
- lib
|
@@ -331,8 +374,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
331
374
|
- !ruby/object:Gem::Version
|
332
375
|
version: '0'
|
333
376
|
requirements: []
|
334
|
-
rubygems_version: 3.1.
|
335
|
-
signing_key:
|
377
|
+
rubygems_version: 3.1.4
|
378
|
+
signing_key:
|
336
379
|
specification_version: 4
|
337
380
|
summary: Create multiple types of social networking activity feeds with simple-feed
|
338
381
|
gem, which uses a pluggable backend provider implementation, and ships with a Redis
|
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require 'base62-rb'
|
4
|
-
require 'hashie/mash'
|
5
|
-
|
6
|
-
module SimpleFeed
|
7
|
-
module Key
|
8
|
-
class TextTemplate < Struct.new(:text)
|
9
|
-
def render(params = {})
|
10
|
-
output = text.dup
|
11
|
-
params.each_pair do |key, value|
|
12
|
-
output.gsub!(/{{\s*#{key}\s*}}/, value.to_s)
|
13
|
-
end
|
14
|
-
output
|
15
|
-
end
|
16
|
-
end
|
17
|
-
|
18
|
-
DEFAULT_TEXT_TEMPLATE = TextTemplate.new('{{ namespace }}u.{{ base62_user_id }}.{{ key_marker }}')
|
19
|
-
|
20
|
-
class Template
|
21
|
-
attr_accessor :namespace, :key_types, :text_template
|
22
|
-
|
23
|
-
def initialize(namespace,
|
24
|
-
key_types = DEFAULT_TYPES,
|
25
|
-
text_template = DEFAULT_TEXT_TEMPLATE)
|
26
|
-
|
27
|
-
self.namespace = namespace
|
28
|
-
self.key_types = key_types
|
29
|
-
self.text_template = text_template
|
30
|
-
|
31
|
-
self.key_types.each do |type|
|
32
|
-
type.template ||= text_template if text_template
|
33
|
-
end
|
34
|
-
end
|
35
|
-
|
36
|
-
def render_options
|
37
|
-
h = {}
|
38
|
-
h.merge!({ 'namespace' => namespace ? "#{namespace}|" : '' })
|
39
|
-
h
|
40
|
-
end
|
41
|
-
|
42
|
-
# Returns array of key names, such as [:meta, :data]
|
43
|
-
def key_names
|
44
|
-
key_types.map(&:name).map(&:to_s).sort
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
data/lib/simplefeed/key/type.rb
DELETED
@@ -1,28 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require_relative 'template'
|
4
|
-
|
5
|
-
module SimpleFeed
|
6
|
-
module Key
|
7
|
-
class Type < Struct.new(:name, :marker)
|
8
|
-
attr_accessor :template
|
9
|
-
|
10
|
-
def initialize(name, marker, template = nil)
|
11
|
-
super(name, marker)
|
12
|
-
self.template = template
|
13
|
-
end
|
14
|
-
|
15
|
-
def render(opts = {})
|
16
|
-
template.render(opts.merge({ key_type: name,
|
17
|
-
key_marker: marker }))
|
18
|
-
end
|
19
|
-
end
|
20
|
-
|
21
|
-
DEFAULT_TYPES = [
|
22
|
-
{ name: :data, marker: 'd' },
|
23
|
-
{ name: :meta, marker: 'm' }
|
24
|
-
].map do |type|
|
25
|
-
Type.new(type[:name], type[:marker], DEFAULT_TEXT_TEMPLATE)
|
26
|
-
end
|
27
|
-
end
|
28
|
-
end
|