feedcellar 0.6.0 → 0.7.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/.travis.yml +3 -1
- data/NEWS.md +12 -0
- data/feedcellar.gemspec +2 -0
- data/lib/feedcellar/command.rb +20 -9
- data/lib/feedcellar/version.rb +2 -2
- data/test/fixtures/feed.xml +42 -0
- data/test/fixtures/subscriptions.xml +3 -10
- data/test/run-test.rb +1 -0
- data/test/test-command.rb +51 -69
- data/test/test-opml.rb +2 -1
- metadata +34 -7
- data/test/fixtures/feeds.dump +0 -0
- data/test/fixtures/resources.dump +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 51ea5cd90472416d725cd56331eed41d118068a7
|
4
|
+
data.tar.gz: 49485354cc51a62bd6de68d3415d40829dd7e76d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 49fb61eb5b7dd8b6dd09cff3d81b8e7ba03dab46ec7e78b9b378432cea67816660edecd7c76bbef3db5dea2d39773052e8779a706955cbaf2a3078944bd05017
|
7
|
+
data.tar.gz: ca2e4666fefdf69db4badd5da346fd254a45fd74d697e04b63310906c9d90a30e31edad8d7083e8514fa495de28299a5eecffea987ce41eefdacd182b7279649
|
data/.travis.yml
CHANGED
data/NEWS.md
CHANGED
@@ -1,5 +1,17 @@
|
|
1
1
|
# NEWS
|
2
2
|
|
3
|
+
## 0.7.0: 2016-02-17
|
4
|
+
|
5
|
+
Speed up.
|
6
|
+
|
7
|
+
### Changes
|
8
|
+
|
9
|
+
#### Improvements
|
10
|
+
|
11
|
+
* Accepted multiple URLs for register command.
|
12
|
+
* Parallelized collect command.
|
13
|
+
* Added "parallel" option to "collect" command.
|
14
|
+
|
3
15
|
## 0.6.0: 2015-04-06
|
4
16
|
|
5
17
|
Support date related columns such as month.
|
data/feedcellar.gemspec
CHANGED
@@ -39,10 +39,12 @@ Gem::Specification.new do |spec|
|
|
39
39
|
|
40
40
|
spec.add_runtime_dependency("rroonga", ">= 5.0.0")
|
41
41
|
spec.add_runtime_dependency("thor")
|
42
|
+
spec.add_runtime_dependency("parallel")
|
42
43
|
|
43
44
|
spec.add_development_dependency("test-unit")
|
44
45
|
spec.add_development_dependency("test-unit-notify")
|
45
46
|
spec.add_development_dependency("test-unit-rr")
|
47
|
+
spec.add_development_dependency("webmock")
|
46
48
|
spec.add_development_dependency("bundler")
|
47
49
|
spec.add_development_dependency("rake")
|
48
50
|
end
|
data/lib/feedcellar/command.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# class Feedcellar::Command
|
2
2
|
#
|
3
|
-
# Copyright (C) 2013-
|
3
|
+
# Copyright (C) 2013-2016 Masafumi Yokoyama <myokoym@gmail.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -17,6 +17,7 @@
|
|
17
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
18
|
|
19
19
|
require "thor"
|
20
|
+
require "parallel"
|
20
21
|
require "feedcellar/version"
|
21
22
|
require "feedcellar/groonga_database"
|
22
23
|
require "feedcellar/groonga_searcher"
|
@@ -42,14 +43,15 @@ module Feedcellar
|
|
42
43
|
puts Feedcellar::VERSION
|
43
44
|
end
|
44
45
|
|
45
|
-
desc "register URL", "Register
|
46
|
-
def register(
|
47
|
-
resource = Resource.parse(url)
|
48
|
-
return 1 unless resource
|
49
|
-
return 1 if resource["xmlUrl"].empty?
|
50
|
-
|
46
|
+
desc "register URL...", "Register URLs."
|
47
|
+
def register(*urls)
|
51
48
|
GroongaDatabase.new.open(@database_dir) do |database|
|
52
|
-
|
49
|
+
urls.each do |url|
|
50
|
+
resource = Resource.parse(url)
|
51
|
+
next unless resource
|
52
|
+
next if resource["xmlUrl"].empty?
|
53
|
+
database.register(resource["xmlUrl"], resource)
|
54
|
+
end
|
53
55
|
end
|
54
56
|
end
|
55
57
|
|
@@ -88,9 +90,11 @@ module Feedcellar
|
|
88
90
|
end
|
89
91
|
|
90
92
|
desc "collect", "Collect feeds from WWW."
|
93
|
+
option :parallel, :type => :boolean, :desc => "run on multiple processes"
|
91
94
|
def collect
|
92
95
|
GroongaDatabase.new.open(@database_dir) do |database|
|
93
|
-
database.resources
|
96
|
+
resources = database.resources
|
97
|
+
collect_proc = lambda do |record|
|
94
98
|
feed_url = record.xmlUrl
|
95
99
|
next unless feed_url
|
96
100
|
|
@@ -105,6 +109,13 @@ module Feedcellar
|
|
105
109
|
item.date)
|
106
110
|
end
|
107
111
|
end
|
112
|
+
|
113
|
+
if options[:parallel]
|
114
|
+
Parallel.each(resources,
|
115
|
+
&collect_proc)
|
116
|
+
else
|
117
|
+
resources.each(&collect_proc)
|
118
|
+
end
|
108
119
|
end
|
109
120
|
end
|
110
121
|
|
data/lib/feedcellar/version.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# constant Feedcellar::VERSION
|
2
2
|
#
|
3
|
-
# Copyright (C) 2013-
|
3
|
+
# Copyright (C) 2013-2016 Masafumi Yokoyama <myokoym@gmail.com>
|
4
4
|
#
|
5
5
|
# This library is free software; you can redistribute it and/or
|
6
6
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -17,5 +17,5 @@
|
|
17
17
|
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
18
18
|
|
19
19
|
module Feedcellar
|
20
|
-
VERSION = "0.
|
20
|
+
VERSION = "0.7.0"
|
21
21
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<rss version="2.0"
|
3
|
+
xmlns:content="http://purl.org/rss/1.0/modules/content/"
|
4
|
+
xmlns:dc="http://purl.org/dc/elements/1.1/"
|
5
|
+
xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
|
6
|
+
xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
|
7
|
+
<channel>
|
8
|
+
<title>Feedcellar Test</title>
|
9
|
+
<link>http://localhost:20075</link>
|
10
|
+
<description>Test Site</description>
|
11
|
+
<item>
|
12
|
+
<title>Sample Article 1</title>
|
13
|
+
<link>http://localhost:20075/article1.html</link>
|
14
|
+
<description>Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?'
|
15
|
+
|
16
|
+
So she was considering in her own mind (as well as she could, for the hot day made her feel very sleepy and stupid), whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.
|
17
|
+
</description>
|
18
|
+
<pubDate>Mon, 01 Feb 2016 00:00:00 +0900</pubDate>
|
19
|
+
<dc:date>2016-02-01T00:00:00+09:00</dc:date>
|
20
|
+
</item>
|
21
|
+
<item>
|
22
|
+
<title>Sample Article 2</title>
|
23
|
+
<link>http://localhost:20075/article2.html</link>
|
24
|
+
<description>Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?'
|
25
|
+
|
26
|
+
So she was considering in her own mind (as well as she could, for the hot day made her feel very sleepy and stupid), whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.
|
27
|
+
</description>
|
28
|
+
<pubDate>Tue, 02 Feb 2016 00:00:00 +0900</pubDate>
|
29
|
+
<dc:date>2016-02-02T00:00:00+09:00</dc:date>
|
30
|
+
</item>
|
31
|
+
<item>
|
32
|
+
<title>Sample Article 3</title>
|
33
|
+
<link>http://localhost:20075/article3.html</link>
|
34
|
+
<description>Alice was beginning to get very tired of sitting by her sister on the bank, and of having nothing to do: once or twice she had peeped into the book her sister was reading, but it had no pictures or conversations in it, `and what is the use of a book,' thought Alice `without pictures or conversation?'
|
35
|
+
|
36
|
+
So she was considering in her own mind (as well as she could, for the hot day made her feel very sleepy and stupid), whether the pleasure of making a daisy-chain would be worth the trouble of getting up and picking the daisies, when suddenly a White Rabbit with pink eyes ran close by her.
|
37
|
+
</description>
|
38
|
+
<pubDate>Wed, 03 Feb 2016 00:00:00 +0900</pubDate>
|
39
|
+
<dc:date>2016-02-03T00:00:00+09:00</dc:date>
|
40
|
+
</item>
|
41
|
+
</channel>
|
42
|
+
</rss>
|
@@ -1,17 +1,10 @@
|
|
1
1
|
<?xml version="1.0" encoding="UTF-8"?>
|
2
2
|
<opml version="1.0">
|
3
3
|
<head>
|
4
|
-
<title>
|
4
|
+
<title>Feedcellar Test Feeds</title>
|
5
5
|
</head>
|
6
6
|
<body>
|
7
|
-
<outline text="
|
8
|
-
|
9
|
-
<outline text="Rubygems | Latest Versions for mister_fairy"
|
10
|
-
title="Rubygems | Latest Versions for mister_fairy" type="rss"
|
11
|
-
xmlUrl="https://rubygems.org/gems/mister_fairy/versions.atom" htmlUrl="https://rubygems.org/gems"/>
|
12
|
-
<outline title="shogi" text="shogi">
|
13
|
-
<outline text="函館将棋情報のブログ" title="函館将棋情報のブログ" type="rss"
|
14
|
-
xmlUrl="http://blogs.yahoo.co.jp/mi807258/rss.xml" htmlUrl="http://rd.yahoo.co.jp/rss/l/blog/myblog/rss2/url/*http://blogs.yahoo.co.jp/mi807258"/>
|
15
|
-
</outline>
|
7
|
+
<outline text="feedcellar-test" title="Feedcellar Test" type="rss"
|
8
|
+
xmlUrl="http://localhost:20075/feed.xml" htmlUrl="http://localhost:20075/"/>
|
16
9
|
</body>
|
17
10
|
</opml>
|
data/test/run-test.rb
CHANGED
data/test/test-command.rb
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
#
|
3
3
|
# class CommandTest
|
4
4
|
#
|
5
|
-
# Copyright (C) 2013-
|
5
|
+
# Copyright (C) 2013-2016 Masafumi Yokoyama <myokoym@gmail.com>
|
6
6
|
#
|
7
7
|
# This library is free software; you can redistribute it and/or
|
8
8
|
# modify it under the terms of the GNU Lesser General Public
|
@@ -32,6 +32,10 @@ class CommandTest < Test::Unit::TestCase
|
|
32
32
|
ENV["FEEDCELLAR_HOME"] = @tmpdir
|
33
33
|
@command = Feedcellar::Command.new
|
34
34
|
@database_dir = @command.database_dir
|
35
|
+
|
36
|
+
rss = File.new(File.join(fixtures_dir, "feed.xml"))
|
37
|
+
stub_request(:get, "http://localhost:20075/feed.xml").
|
38
|
+
to_return(:status => 200, :body => rss, :headers => {})
|
35
39
|
end
|
36
40
|
|
37
41
|
def teardown
|
@@ -48,46 +52,15 @@ class CommandTest < Test::Unit::TestCase
|
|
48
52
|
end
|
49
53
|
|
50
54
|
def test_command
|
51
|
-
# confirm register command if invalid URL
|
52
|
-
s = ""
|
53
|
-
io = StringIO.new(s)
|
54
|
-
$stderr = io
|
55
|
-
assert_equal(1, @command.register("hoge"))
|
56
|
-
assert_equal("ERROR: Invalid URL\n", s)
|
57
|
-
$stderr = STDERR
|
58
|
-
|
59
|
-
# confirm register command
|
60
|
-
resources = nil
|
61
|
-
resources_path = File.join(fixtures_dir, "resources.dump")
|
62
|
-
File.open(resources_path, "rb") do |file|
|
63
|
-
resources = Marshal.load(file)
|
64
|
-
end
|
65
|
-
mock(Feedcellar::Resource).parse("http://myokoym.github.io/entries.rss") {resources[0]}
|
66
|
-
mock(Feedcellar::Resource).parse("https://rubygems.org/gems/mister_fairy/versions.atom") {resources[1]}
|
67
|
-
@command.register("http://myokoym.github.io/entries.rss")
|
68
|
-
@command.register("https://rubygems.org/gems/mister_fairy/versions.atom")
|
69
|
-
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
70
|
-
assert_equal(2, database.resources.size)
|
71
|
-
end
|
72
|
-
|
73
55
|
# confirm import command
|
74
56
|
file = File.join(fixtures_dir, "subscriptions.xml")
|
75
57
|
@command.import(file)
|
76
|
-
|
77
|
-
feeds = nil
|
78
|
-
feeds_path = File.join(fixtures_dir, "feeds.dump")
|
79
|
-
File.open(feeds_path, "rb") do |file|
|
80
|
-
feeds = Marshal.load(file)
|
81
|
-
end
|
82
|
-
mock(Feedcellar::Feed).parse("http://myokoym.github.io/entries.rss") {feeds[0]}
|
83
|
-
mock(Feedcellar::Feed).parse("https://rubygems.org/gems/mister_fairy/versions.atom") {feeds[1]}
|
84
|
-
mock(Feedcellar::Feed).parse("http://blogs.yahoo.co.jp/mi807258/rss.xml") {feeds[2]}
|
85
58
|
@command.collect
|
86
59
|
|
87
60
|
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
88
61
|
# NOTE: a tag of outline is not register.
|
89
|
-
assert_equal(
|
90
|
-
|
62
|
+
assert_equal(1, database.resources.size)
|
63
|
+
assert_equal(3, database.feeds.count)
|
91
64
|
end
|
92
65
|
|
93
66
|
# confirm export command
|
@@ -96,34 +69,36 @@ class CommandTest < Test::Unit::TestCase
|
|
96
69
|
$stdout = io
|
97
70
|
@command.export
|
98
71
|
assert_equal(1, s.scan(/<opml/).size)
|
99
|
-
assert_equal(
|
72
|
+
assert_equal(1, s.scan(/<outline/).size)
|
100
73
|
$stdout = STDOUT
|
101
74
|
|
102
75
|
# confirm search command
|
103
76
|
s = ""
|
104
77
|
io = StringIO.new(s)
|
105
78
|
$stdout = io
|
106
|
-
@command.search("
|
107
|
-
|
79
|
+
@command.search("Alice")
|
80
|
+
assert_equal(<<-RESULT, s)
|
81
|
+
2016/02/03 Sample Article 3
|
82
|
+
2016/02/02 Sample Article 2
|
83
|
+
2016/02/01 Sample Article 1
|
84
|
+
RESULT
|
108
85
|
$stdout = STDOUT
|
109
86
|
|
110
|
-
# confirm unregister command
|
111
|
-
@command.unregister("my_letter")
|
112
|
-
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
113
|
-
assert_equal(2, database.resources.size)
|
114
|
-
end
|
115
|
-
@command.unregister("https://rubygems.org/gems/mister_fairy/versions.atom")
|
116
|
-
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
117
|
-
assert_equal(1, database.resources.size)
|
118
|
-
end
|
119
|
-
|
120
87
|
# confirm latest command
|
121
88
|
s = ""
|
122
89
|
io = StringIO.new(s)
|
123
90
|
$stdout = io
|
124
91
|
@command.latest
|
125
|
-
|
92
|
+
assert_equal(<<-FEEDS, s)
|
93
|
+
2016/02/01 Sample Article 1 - Feedcellar Test
|
94
|
+
FEEDS
|
126
95
|
$stdout = STDOUT
|
96
|
+
|
97
|
+
# confirm unregister command
|
98
|
+
@command.unregister("Feedcellar Test")
|
99
|
+
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
100
|
+
assert_equal(0, database.resources.size)
|
101
|
+
end
|
127
102
|
end
|
128
103
|
|
129
104
|
def test_reset
|
@@ -153,22 +128,29 @@ class CommandTest < Test::Unit::TestCase
|
|
153
128
|
File.join(File.dirname(__FILE__), "fixtures")
|
154
129
|
end
|
155
130
|
|
131
|
+
class RegisterTest < self
|
132
|
+
def test_single
|
133
|
+
@command.register("http://localhost:20075/feed.xml")
|
134
|
+
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
135
|
+
assert_equal(1, database.resources.size)
|
136
|
+
end
|
137
|
+
end
|
138
|
+
|
139
|
+
def test_multiple
|
140
|
+
rss = File.new(File.join(fixtures_dir, "feed.xml"))
|
141
|
+
stub_request(:get, "http://localhost:20076/feed.xml").
|
142
|
+
to_return(:status => 200, :body => rss, :headers => {})
|
143
|
+
@command.register("http://localhost:20075/feed.xml", "http://localhost:20076/feed.xml")
|
144
|
+
Feedcellar::GroongaDatabase.new.open(@database_dir) do |database|
|
145
|
+
assert_equal(2, database.resources.size)
|
146
|
+
end
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
156
150
|
class DeleteTest < self
|
157
151
|
def setup
|
158
152
|
super
|
159
|
-
|
160
|
-
resources_path = File.join(fixtures_dir, "resources.dump")
|
161
|
-
File.open(resources_path, "rb") do |file|
|
162
|
-
resources = Marshal.load(file)
|
163
|
-
end
|
164
|
-
mock(Feedcellar::Resource).parse("http://myokoym.github.io/entries.rss") {resources[0]}
|
165
|
-
@command.register("http://myokoym.github.io/entries.rss")
|
166
|
-
feeds = nil
|
167
|
-
feeds_path = File.join(fixtures_dir, "feeds.dump")
|
168
|
-
File.open(feeds_path, "rb") do |file|
|
169
|
-
feeds = Marshal.load(file)
|
170
|
-
end
|
171
|
-
mock(Feedcellar::Feed).parse("http://myokoym.github.io/entries.rss") {feeds[0]}
|
153
|
+
@command.register("http://localhost:20075/feed.xml")
|
172
154
|
@command.collect
|
173
155
|
end
|
174
156
|
|
@@ -181,28 +163,28 @@ class CommandTest < Test::Unit::TestCase
|
|
181
163
|
@str = ""
|
182
164
|
io = StringIO.new(@str)
|
183
165
|
$stdout = io
|
184
|
-
@command.search("
|
166
|
+
@command.search("Alice")
|
185
167
|
$stdout = STDOUT
|
186
|
-
assert_equal(
|
168
|
+
assert_equal(3, @str.lines.size)
|
187
169
|
|
188
|
-
@command.delete("http://
|
170
|
+
@command.delete("http://localhost:20075/article2.html")
|
189
171
|
|
190
172
|
@str = ""
|
191
173
|
io = StringIO.new(@str)
|
192
174
|
$stdout = io
|
193
|
-
@command.search("
|
194
|
-
assert_equal(
|
175
|
+
@command.search("Alice")
|
176
|
+
assert_equal(2, @str.lines.size)
|
195
177
|
end
|
196
178
|
|
197
179
|
def test_by_resource_key
|
198
180
|
@str = ""
|
199
181
|
io = StringIO.new(@str)
|
200
182
|
$stdout = io
|
201
|
-
@command.search("
|
183
|
+
@command.search("Alice")
|
202
184
|
$stdout = STDOUT
|
203
|
-
assert_equal(
|
185
|
+
assert_equal(3, @str.lines.size)
|
204
186
|
|
205
|
-
@command.delete(:resource_key => "
|
187
|
+
@command.delete(:resource_key => "localhost:20075/feed.xml")
|
206
188
|
|
207
189
|
@str = ""
|
208
190
|
io = StringIO.new(@str)
|
data/test/test-opml.rb
CHANGED
@@ -25,6 +25,7 @@ class OpmlTest < Test::Unit::TestCase
|
|
25
25
|
def test_parse
|
26
26
|
file = File.join(File.dirname(__FILE__), "fixtures", "subscriptions.xml")
|
27
27
|
outlines = Feedcellar::Opml.parse(file)
|
28
|
-
|
28
|
+
# TODO: Support tag
|
29
|
+
assert_equal(1, outlines.size)
|
29
30
|
end
|
30
31
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: feedcellar
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.7.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Masafumi Yokoyama
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2016-02-17 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rroonga
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: parallel
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: test-unit
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -80,6 +94,20 @@ dependencies:
|
|
80
94
|
- - ">="
|
81
95
|
- !ruby/object:Gem::Version
|
82
96
|
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: webmock
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
83
111
|
- !ruby/object:Gem::Dependency
|
84
112
|
name: bundler
|
85
113
|
requirement: !ruby/object:Gem::Requirement
|
@@ -136,8 +164,7 @@ files:
|
|
136
164
|
- lib/feedcellar/opml.rb
|
137
165
|
- lib/feedcellar/resource.rb
|
138
166
|
- lib/feedcellar/version.rb
|
139
|
-
- test/fixtures/
|
140
|
-
- test/fixtures/resources.dump
|
167
|
+
- test/fixtures/feed.xml
|
141
168
|
- test/fixtures/subscriptions.xml
|
142
169
|
- test/run-test.rb
|
143
170
|
- test/test-command.rb
|
@@ -164,16 +191,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
164
191
|
version: '0'
|
165
192
|
requirements: []
|
166
193
|
rubyforge_project:
|
167
|
-
rubygems_version: 2.
|
194
|
+
rubygems_version: 2.5.1
|
168
195
|
signing_key:
|
169
196
|
specification_version: 4
|
170
197
|
summary: Full-Text Searchable RSS Feed Reader by Groonga
|
171
198
|
test_files:
|
172
|
-
- test/fixtures/
|
173
|
-
- test/fixtures/resources.dump
|
199
|
+
- test/fixtures/feed.xml
|
174
200
|
- test/fixtures/subscriptions.xml
|
175
201
|
- test/run-test.rb
|
176
202
|
- test/test-command.rb
|
177
203
|
- test/test-groonga_database.rb
|
178
204
|
- test/test-groonga_searcher.rb
|
179
205
|
- test/test-opml.rb
|
206
|
+
has_rdoc:
|
data/test/fixtures/feeds.dump
DELETED
Binary file
|
Binary file
|