brutalismbot 0.5.3 → 0.6.0
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 +4 -4
- data/README.md +3 -2
- data/lib/brutalismbot/post.rb +10 -2
- data/lib/brutalismbot/r.rb +16 -24
- data/lib/brutalismbot/s3.rb +5 -2
- data/lib/brutalismbot/version.rb +1 -1
- metadata +7 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '090b1145444345aaf5209720d21d60ae747f5d0e7e7a3f4382762d957889692a'
|
4
|
+
data.tar.gz: ac882dbc8e4371cb38904557fea4509a42aecfa3c9b66e41dbef6c07011e3dea
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 829046540898067f999c8aef859cd06058ccd503e2d8e9528fff0340d2897d94e77b6c56ddecbd8a6a2a24b84882ae6a0fd32cdee9c3e99bd34a0718a64291ba
|
7
|
+
data.tar.gz: 477d74640589d39412e9b2ff109a73b1b8b8fcc1e32b99a77740050e4fbc939583df3d40b48517194bd7257e2a71f077bfc4bba795cc7288419740389e3fd988
|
data/README.md
CHANGED
@@ -1,8 +1,9 @@
|
|
1
1
|
<img alt="brutalismbot" src="https://brutalismbot.com/banner.png"/>
|
2
2
|
|
3
|
-
[](http://badge.fury.io/rb/brutalismbot)
|
4
3
|
[](https://travis-ci.com/brutalismbot/gem)
|
5
|
-
[](http://badge.fury.io/rb/brutalismbot)
|
5
|
+
[](https://codeclimate.com/github/brutalismbot/gem/test_coverage)
|
6
|
+
[](https://codeclimate.com/github/brutalismbot/gem/maintainability)
|
6
7
|
|
7
8
|
Brutalismbot RubyGem
|
8
9
|
|
data/lib/brutalismbot/post.rb
CHANGED
@@ -1,7 +1,15 @@
|
|
1
1
|
module Brutalismbot
|
2
2
|
class Post < Hash
|
3
|
-
def created_after?(time)
|
4
|
-
created_utc.to_i > time.to_i
|
3
|
+
def created_after?(time = nil)
|
4
|
+
time.nil? || created_utc.to_i > time.to_i
|
5
|
+
end
|
6
|
+
|
7
|
+
def created_before?(time = nil)
|
8
|
+
time.nil? || created_utc.to_i < time.to_i
|
9
|
+
end
|
10
|
+
|
11
|
+
def created_between?(start, stop)
|
12
|
+
created_after?(start) && created_before?(stop)
|
5
13
|
end
|
6
14
|
|
7
15
|
def created_utc
|
data/lib/brutalismbot/r.rb
CHANGED
@@ -1,29 +1,12 @@
|
|
1
1
|
module Brutalismbot
|
2
2
|
module R
|
3
|
-
class Subreddit
|
4
|
-
attr_reader :endpoint, :user_agent
|
5
|
-
|
6
|
-
def initialize(endpoint:nil, user_agent:nil)
|
7
|
-
@endpoint = endpoint
|
8
|
-
@user_agent = user_agent || "Brutalismbot #{VERSION}"
|
9
|
-
end
|
10
|
-
|
11
|
-
def posts(resource, params = {})
|
12
|
-
url = File.join @endpoint, "#{resource}.json"
|
13
|
-
qry = URI.encode_www_form params
|
14
|
-
uri = URI.parse "#{url}?#{qry}"
|
15
|
-
PostCollection.new uri: uri, user_agent: @user_agent
|
16
|
-
end
|
17
|
-
end
|
18
|
-
|
19
3
|
class PostCollection
|
20
4
|
include Enumerable
|
21
5
|
|
22
|
-
def initialize(uri:, user_agent
|
6
|
+
def initialize(uri:, user_agent:)
|
23
7
|
@uri = uri
|
24
8
|
@ssl = uri.scheme == "https"
|
25
9
|
@user_agent = user_agent
|
26
|
-
@min_time = min_time.to_i
|
27
10
|
end
|
28
11
|
|
29
12
|
def each
|
@@ -32,10 +15,7 @@ module Brutalismbot
|
|
32
15
|
request = Net::HTTP::Get.new @uri, "user-agent" => @user_agent
|
33
16
|
response = JSON.parse http.request(request).body
|
34
17
|
children = response.dig("data", "children") || []
|
35
|
-
children.each
|
36
|
-
post = Post[child]
|
37
|
-
yield post if post.created_after? @min_time
|
38
|
-
end
|
18
|
+
children.each{|x| yield Post[x] }
|
39
19
|
end
|
40
20
|
end
|
41
21
|
|
@@ -46,9 +26,21 @@ module Brutalismbot
|
|
46
26
|
def last
|
47
27
|
to_a.last
|
48
28
|
end
|
29
|
+
end
|
30
|
+
|
31
|
+
class Subreddit
|
32
|
+
attr_reader :endpoint, :user_agent
|
49
33
|
|
50
|
-
def
|
51
|
-
|
34
|
+
def initialize(endpoint:nil, user_agent:nil)
|
35
|
+
@endpoint = endpoint
|
36
|
+
@user_agent = user_agent || "Brutalismbot #{VERSION}"
|
37
|
+
end
|
38
|
+
|
39
|
+
def posts(resource, params = {})
|
40
|
+
url = File.join @endpoint, "#{resource}.json"
|
41
|
+
qry = URI.encode_www_form params
|
42
|
+
uri = URI.parse "#{url}?#{qry}"
|
43
|
+
PostCollection.new uri: uri, user_agent: @user_agent
|
52
44
|
end
|
53
45
|
end
|
54
46
|
|
data/lib/brutalismbot/s3.rb
CHANGED
@@ -170,8 +170,11 @@ module Brutalismbot
|
|
170
170
|
max_key.key.match(/(\d+).json\z/).to_a.last.to_i
|
171
171
|
end
|
172
172
|
|
173
|
-
def pull(
|
174
|
-
R::Brutalism.new.posts(:new)
|
173
|
+
def pull(min_time = nil, max_time = nil)
|
174
|
+
posts = R::Brutalism.new.posts(:new)
|
175
|
+
posts = posts.select{|x| x.created_between?(min_time, max_time) }
|
176
|
+
posts = posts.sort{|a,b| a.created_utc <=> b.created_utc }
|
177
|
+
posts.map{|x| put x }
|
175
178
|
end
|
176
179
|
end
|
177
180
|
end
|
data/lib/brutalismbot/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: brutalismbot
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Alexander Mancevice
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-09-13 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: aws-sdk-s3
|
@@ -24,20 +24,6 @@ dependencies:
|
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '1.0'
|
27
|
-
- !ruby/object:Gem::Dependency
|
28
|
-
name: codecov
|
29
|
-
requirement: !ruby/object:Gem::Requirement
|
30
|
-
requirements:
|
31
|
-
- - "~>"
|
32
|
-
- !ruby/object:Gem::Version
|
33
|
-
version: '0.1'
|
34
|
-
type: :development
|
35
|
-
prerelease: false
|
36
|
-
version_requirements: !ruby/object:Gem::Requirement
|
37
|
-
requirements:
|
38
|
-
- - "~>"
|
39
|
-
- !ruby/object:Gem::Version
|
40
|
-
version: '0.1'
|
41
27
|
- !ruby/object:Gem::Dependency
|
42
28
|
name: bundler
|
43
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -72,28 +58,28 @@ dependencies:
|
|
72
58
|
requirements:
|
73
59
|
- - "~>"
|
74
60
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
61
|
+
version: '12.3'
|
76
62
|
type: :development
|
77
63
|
prerelease: false
|
78
64
|
version_requirements: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
66
|
- - "~>"
|
81
67
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
68
|
+
version: '12.3'
|
83
69
|
- !ruby/object:Gem::Dependency
|
84
70
|
name: rspec
|
85
71
|
requirement: !ruby/object:Gem::Requirement
|
86
72
|
requirements:
|
87
73
|
- - "~>"
|
88
74
|
- !ruby/object:Gem::Version
|
89
|
-
version: '3.
|
75
|
+
version: '3.8'
|
90
76
|
type: :development
|
91
77
|
prerelease: false
|
92
78
|
version_requirements: !ruby/object:Gem::Requirement
|
93
79
|
requirements:
|
94
80
|
- - "~>"
|
95
81
|
- !ruby/object:Gem::Version
|
96
|
-
version: '3.
|
82
|
+
version: '3.8'
|
97
83
|
- !ruby/object:Gem::Dependency
|
98
84
|
name: simplecov
|
99
85
|
requirement: !ruby/object:Gem::Requirement
|
@@ -157,7 +143,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
157
143
|
- !ruby/object:Gem::Version
|
158
144
|
version: '0'
|
159
145
|
requirements: []
|
160
|
-
rubygems_version: 3.0.
|
146
|
+
rubygems_version: 3.0.3
|
161
147
|
signing_key:
|
162
148
|
specification_version: 4
|
163
149
|
summary: Mirror posts from /r/brutalism to Slack
|