ruboty-feed 0.0.2 → 0.0.3

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 674c2e151a57a9cea4b27316703c229b894a226e
4
- data.tar.gz: c689843d6ef507099874ea41db4e31344d70b474
3
+ metadata.gz: 3b9a662b6ba579923bf89ac5ebca9a0d70954031
4
+ data.tar.gz: c43616c429a4a25ebfa1057e8dc52ff81689d263
5
5
  SHA512:
6
- metadata.gz: e00df28bde6f6cbe77fc2e6138e4759ffdd01f69f1e997b6c613c44e3658cc0d642f2789876af722c2d657f2f472bf5d9da0ccb34f04292ba25a926a1726c8cd
7
- data.tar.gz: 0d6e175f189e7c853055e00972a567a20a482b10edf0537f1352c92179865ed54bc552f7ee8a695680b52741d436d287c51c21b6eca221a52e1e1d7cafd52e02
6
+ metadata.gz: 3b6403a5166695d01d977468e7213954385feb629f9985e8ec0d65c88bfbef4ab98269713122219e86cae654251e03a85c45ee172ed6ab42a019f884313246fb
7
+ data.tar.gz: a80fa8f6429a1455540e91472507a51710a27e3731df070fec657b8b6ba572fced83696c5e830640a34a32f7dbc670671813dc0758b11f10d4713ac2964fa62b
@@ -0,0 +1,40 @@
1
+ module Ruboty
2
+ module Feed
3
+ class Entry
4
+ NAMESPACE = -'entry'
5
+
6
+ attr_reader :url
7
+
8
+ def initialize(e, robot)
9
+ p e
10
+ @url = e.url
11
+ @id = e.entry_id
12
+ @published = e.published
13
+ @updated = e.updated
14
+ @title = e.title
15
+ @author = e.author
16
+ @content = e.content
17
+ @robot = robot
18
+ end
19
+
20
+ def stored?
21
+ store[@id] ? true : false
22
+ end
23
+
24
+ def store!
25
+ store[@id] = true
26
+ end
27
+
28
+ def store
29
+ @robot.brain.data[NAMESPACE] ||= {}
30
+ end
31
+
32
+ def format
33
+ <<-EOS
34
+ *#{@title}* (#{@published.strftime('%Y-%m-%d %H:%M:%S %Z')})
35
+ #{@url}
36
+ EOS
37
+ end
38
+ end
39
+ end
40
+ end
@@ -1,5 +1,5 @@
1
1
  module Ruboty
2
2
  module Feed
3
- VERSION = '0.0.2'
3
+ VERSION = '0.0.3'
4
4
  end
5
5
  end
data/lib/ruboty/feed.rb CHANGED
@@ -1,2 +1,3 @@
1
- require "ruboty/handlers/feed"
2
1
  require "ruboty/feed/version"
2
+ require "ruboty/feed/entry"
3
+ require "ruboty/handlers/feed"
@@ -5,8 +5,6 @@ require 'feedjira'
5
5
  module Ruboty
6
6
  module Handlers
7
7
  class Feed < Base
8
- NAMESPACE = 'feed'
9
-
10
8
  on(
11
9
  /subscribe (?<feed_url>.+)/,
12
10
  description: 'Subscribe a feed',
@@ -17,26 +15,14 @@ module Ruboty
17
15
  feed_url = message[:feed_url].strip
18
16
  feed = Feedjira::Feed.fetch_and_parse(feed_url)
19
17
 
20
- feed.entries.each do |entry|
21
- next if stored?(entry.url)
22
- message.reply(entry.url)
23
- store_entry_url(entry.url)
18
+ feed.entries.each do |e|
19
+ entry = Ruboty::Feed::Entry.new(e, robot)
20
+ next if entry.stored?.tap
21
+ message.reply(entry.format)
22
+ entry.store!
23
+ sleep 0.5
24
24
  end
25
25
  end
26
-
27
- private
28
-
29
- def store
30
- robot.brain.data[NAMESPACE] ||= {}
31
- end
32
-
33
- def store_entry_url(entry_url)
34
- store[entry_url] = true
35
- end
36
-
37
- def stored?(entry_url)
38
- store[entry_url] ? true : false
39
- end
40
26
  end
41
27
  end
42
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruboty-feed
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hirofumi Wakasugi
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-05-06 00:00:00.000000000 Z
11
+ date: 2016-12-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: ruboty
@@ -93,6 +93,7 @@ files:
93
93
  - README.md
94
94
  - Rakefile
95
95
  - lib/ruboty/feed.rb
96
+ - lib/ruboty/feed/entry.rb
96
97
  - lib/ruboty/feed/version.rb
97
98
  - lib/ruboty/handlers/feed.rb
98
99
  - ruboty-feed.gemspec
@@ -116,7 +117,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
116
117
  version: '0'
117
118
  requirements: []
118
119
  rubyforge_project:
119
- rubygems_version: 2.5.1
120
+ rubygems_version: 2.5.2
120
121
  signing_key:
121
122
  specification_version: 4
122
123
  summary: Ruboty plug-in to subscribe RSS/Atom feed.