pavlov_rss 0.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.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 7a283bd077d0807c832bb7772d904597da3a9ae0
4
+ data.tar.gz: 4067c283aafb92a3240b51ecdd3030ddb3bf5391
5
+ SHA512:
6
+ metadata.gz: 032a7211bcaf5a3732cd147b80aef9c4362b2a71941e570e8ffed243ea16e4f16c72c0473a063d18decf24ff674457c937cf94134aa171f45e0a061925257de7
7
+ data.tar.gz: f528831eec780a89c1f867f095c25057c526f0ba5695e9bacbca37c6303d16fe270cd2106183f510749240d82cdd66088a612274ee8a8e96435b8837992c6070
data/.gitignore ADDED
@@ -0,0 +1,21 @@
1
+ *.swp
2
+ *.gem
3
+ *.rbc
4
+ .bundle
5
+ .config
6
+ coverage
7
+ InstalledFiles
8
+ lib/bundler/man
9
+ pkg
10
+ rdoc
11
+ spec/reports
12
+ test/tmp
13
+ test/version_tmp
14
+ tmp
15
+ .ruby-version
16
+ .ruby-gemset
17
+
18
+ # YARD artifacts
19
+ .yardoc
20
+ _yardoc
21
+ doc/
data/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --color
2
+ --format progress
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in pavlov_rss.gemspec
4
+ gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,164 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pavlov_rss (0.0.1)
5
+ activesupport
6
+ nokogiri
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activesupport (4.0.2)
12
+ i18n (~> 0.6, >= 0.6.4)
13
+ minitest (~> 4.2)
14
+ multi_json (~> 1.3)
15
+ thread_safe (~> 0.1)
16
+ tzinfo (~> 0.3.37)
17
+ arrayfields (4.9.0)
18
+ atomic (1.1.14)
19
+ awesome_print (1.2.0)
20
+ cane (2.6.1)
21
+ parallel
22
+ celluloid (0.15.2)
23
+ timers (~> 1.1.0)
24
+ chronic (0.10.2)
25
+ churn (0.0.35)
26
+ chronic (>= 0.2.3)
27
+ hirb
28
+ json_pure
29
+ main
30
+ rest-client (>= 1.6.0)
31
+ ruby_parser (~> 3.0)
32
+ sexp_processor (~> 4.1)
33
+ code_analyzer (0.4.4)
34
+ sexp_processor
35
+ code_metrics (0.1.3)
36
+ coderay (1.1.0)
37
+ colored (1.2)
38
+ diff-lcs (1.2.5)
39
+ docile (1.1.2)
40
+ erubis (2.7.0)
41
+ fakeweb (1.3.0)
42
+ fattr (2.2.1)
43
+ ffi (1.9.3)
44
+ flay (2.4.0)
45
+ ruby_parser (~> 3.0)
46
+ sexp_processor (~> 4.0)
47
+ flog (4.2.0)
48
+ ruby_parser (~> 3.1, > 3.1.0)
49
+ sexp_processor (~> 4.4)
50
+ formatador (0.2.4)
51
+ guard (2.3.0)
52
+ formatador (>= 0.2.4)
53
+ listen (~> 2.1)
54
+ lumberjack (~> 1.0)
55
+ pry (>= 0.9.12)
56
+ thor (>= 0.18.1)
57
+ guard-rspec (4.2.4)
58
+ guard (~> 2.1)
59
+ rspec (>= 2.14, < 4.0)
60
+ hirb (0.7.1)
61
+ i18n (0.6.9)
62
+ json_pure (1.8.1)
63
+ listen (2.4.0)
64
+ celluloid (>= 0.15.2)
65
+ rb-fsevent (>= 0.9.3)
66
+ rb-inotify (>= 0.9)
67
+ lumberjack (1.0.4)
68
+ main (5.2.0)
69
+ arrayfields (>= 4.7.4)
70
+ chronic (>= 0.6.2)
71
+ fattr (>= 2.2.0)
72
+ map (>= 5.1.0)
73
+ map (6.5.1)
74
+ method_source (0.8.2)
75
+ metric_fu (4.7.2)
76
+ cane (~> 2.5, >= 2.5.2)
77
+ churn (~> 0.0.35)
78
+ code_metrics (~> 0.1)
79
+ coderay
80
+ flay (~> 2.1, >= 2.0.1)
81
+ flog (~> 4.1, >= 4.1.1)
82
+ metric_fu-Saikuro (~> 1.1, >= 1.1.3)
83
+ multi_json
84
+ rails_best_practices (~> 1.14, >= 1.14.3)
85
+ redcard
86
+ reek (~> 1.3, >= 1.3.4)
87
+ roodi (~> 3.1)
88
+ metric_fu-Saikuro (1.1.3)
89
+ mime-types (2.1)
90
+ mini_portile (0.5.2)
91
+ minitest (4.7.5)
92
+ multi_json (1.8.4)
93
+ nokogiri (1.6.1)
94
+ mini_portile (~> 0.5.0)
95
+ parallel (0.9.2)
96
+ pry (0.9.12.4)
97
+ coderay (~> 1.0)
98
+ method_source (~> 0.8)
99
+ slop (~> 3.4)
100
+ rails_best_practices (1.14.4)
101
+ activesupport
102
+ awesome_print
103
+ code_analyzer (>= 0.4.3)
104
+ colored
105
+ erubis
106
+ i18n
107
+ require_all
108
+ ruby-progressbar
109
+ rake (10.1.1)
110
+ rb-fsevent (0.9.4)
111
+ rb-inotify (0.9.3)
112
+ ffi (>= 0.5.0)
113
+ redcard (1.1.0)
114
+ reek (1.3.6)
115
+ ruby2ruby (~> 2.0.7)
116
+ ruby_parser (~> 3.2)
117
+ sexp_processor
118
+ require_all (1.3.2)
119
+ rest-client (1.6.7)
120
+ mime-types (>= 1.16)
121
+ roodi (3.3.1)
122
+ ruby_parser (~> 3.2, >= 3.2.2)
123
+ rspec (2.14.1)
124
+ rspec-core (~> 2.14.0)
125
+ rspec-expectations (~> 2.14.0)
126
+ rspec-mocks (~> 2.14.0)
127
+ rspec-core (2.14.7)
128
+ rspec-expectations (2.14.4)
129
+ diff-lcs (>= 1.1.3, < 2.0)
130
+ rspec-mocks (2.14.4)
131
+ ruby-progressbar (1.4.0)
132
+ ruby2ruby (2.0.7)
133
+ ruby_parser (~> 3.1)
134
+ sexp_processor (~> 4.0)
135
+ ruby_parser (3.3.0)
136
+ sexp_processor (~> 4.1)
137
+ sexp_processor (4.4.1)
138
+ simplecov (0.8.2)
139
+ docile (~> 1.1.0)
140
+ multi_json
141
+ simplecov-html (~> 0.8.0)
142
+ simplecov-html (0.8.0)
143
+ simplecov-rcov-text (0.0.2)
144
+ slop (3.4.7)
145
+ thor (0.18.1)
146
+ thread_safe (0.1.3)
147
+ atomic
148
+ timers (1.1.0)
149
+ tzinfo (0.3.38)
150
+
151
+ PLATFORMS
152
+ ruby
153
+
154
+ DEPENDENCIES
155
+ bundler (~> 1.5)
156
+ fakeweb (~> 1.3)
157
+ guard
158
+ guard-rspec
159
+ metric_fu
160
+ pavlov_rss!
161
+ rake
162
+ rspec
163
+ simplecov
164
+ simplecov-rcov-text
data/Guardfile ADDED
@@ -0,0 +1,9 @@
1
+ # A sample Guardfile
2
+ # More info at https://github.com/guard/guard#readme
3
+
4
+ guard :rspec do
5
+ watch(%r{^spec/.+_spec\.rb$})
6
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
7
+ watch('spec/spec_helper.rb') { "spec" }
8
+ end
9
+
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2014 Minwoo Lee
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
6
+ this software and associated documentation files (the "Software"), to deal in
7
+ the Software without restriction, including without limitation the rights to
8
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of
9
+ the Software, and to permit persons to whom the Software is furnished to do so,
10
+ subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
17
+ FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
18
+ COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
19
+ IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
20
+ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,4 @@
1
+ pavlov_rss
2
+ ==========
3
+
4
+ Pavlov's RSS
data/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,31 @@
1
+ require 'open-uri'
2
+ require 'nokogiri'
3
+ require 'active_support/core_ext'
4
+
5
+ module PavlovRss
6
+ class Reader
7
+ def initialize(urls)
8
+ @urls = Array(urls)
9
+ end
10
+
11
+ def check
12
+ now = @urls.map {|url| Nokogiri.XML(open(url,&:read))}
13
+ @prev ||= now
14
+ result = @prev.zip(now).map do |p,n|
15
+ new_items p, n
16
+ end
17
+ @prev = now
18
+ return result
19
+ end
20
+
21
+ def item_to_json rss
22
+ result = Hash.from_xml(rss.to_xml)['rss']['channel']['item'] || []
23
+ return result if result.is_a? Array
24
+ return [result]
25
+ end
26
+
27
+ def new_items lhs, rhs
28
+ item_to_json(rhs) - item_to_json(lhs)
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,3 @@
1
+ module PavlovRss
2
+ VERSION = "0.0.1"
3
+ end
data/lib/pavlov_rss.rb ADDED
@@ -0,0 +1,5 @@
1
+ require 'pavlov_rss/version'
2
+
3
+ module PavlovRss
4
+ autoload :Reader, 'pavlov_rss/reader'
5
+ end
@@ -0,0 +1,32 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'pavlov_rss/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "pavlov_rss"
8
+ spec.version = PavlovRss::VERSION
9
+ spec.authors = ["Minwoo Lee", "Insu Yun"]
10
+ spec.email = ["ermaker@gmail.com", "wuninsu@gmail.com"]
11
+ spec.summary = %q{Pavlov's RSS}
12
+ spec.description = %q{}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0")
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency "nokogiri"
22
+ spec.add_dependency "activesupport"
23
+ spec.add_development_dependency "bundler", "~> 1.5"
24
+ spec.add_development_dependency "rake"
25
+ spec.add_development_dependency "rspec"
26
+ spec.add_development_dependency "guard"
27
+ spec.add_development_dependency "guard-rspec"
28
+ spec.add_development_dependency "fakeweb", "~> 1.3"
29
+ spec.add_development_dependency "metric_fu"
30
+ spec.add_development_dependency "simplecov"
31
+ spec.add_development_dependency "simplecov-rcov-text"
32
+ end
@@ -0,0 +1,8 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ </channel>
8
+ </rss>
@@ -0,0 +1,13 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ <item>
8
+ <title>title1</title>
9
+ <link>http://example.com/title1</link>
10
+ <description>description1</description>
11
+ </item>
12
+ </channel>
13
+ </rss>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ <item>
8
+ <title>title2</title>
9
+ <link>http://example.com/title2</link>
10
+ <description>description2</description>
11
+ </item>
12
+ <item>
13
+ <title>title1</title>
14
+ <link>http://example.com/title1</link>
15
+ <description>description1</description>
16
+ </item>
17
+ </channel>
18
+ </rss>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ <item>
8
+ <title>title3</title>
9
+ <link>http://example.com/title3</link>
10
+ <description>description3</description>
11
+ </item>
12
+ <item>
13
+ <title>title2</title>
14
+ <link>http://example.com/title2</link>
15
+ <description>description2</description>
16
+ </item>
17
+ <item>
18
+ <title>title1</title>
19
+ <link>http://example.com/title1</link>
20
+ <description>description1</description>
21
+ </item>
22
+ </channel>
23
+ </rss>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ <item>
8
+ <title>title4</title>
9
+ <link>http://example.com/title4</link>
10
+ <description>description4</description>
11
+ </item>
12
+ <item>
13
+ <title>title3</title>
14
+ <link>http://example.com/title3</link>
15
+ <description>description3</description>
16
+ </item>
17
+ <item>
18
+ <title>title2</title>
19
+ <link>http://example.com/title2</link>
20
+ <description>description2</description>
21
+ </item>
22
+ </channel>
23
+ </rss>
@@ -0,0 +1,23 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <rss version="2.0">
3
+ <channel>
4
+ <title>title</title>
5
+ <link>http://example.com</link>
6
+ <description>description</description>
7
+ <item>
8
+ <title>title5</title>
9
+ <link>http://example.com/title5</link>
10
+ <description>description5</description>
11
+ </item>
12
+ <item>
13
+ <title>title4</title>
14
+ <link>http://example.com/title4</link>
15
+ <description>description4</description>
16
+ </item>
17
+ <item>
18
+ <title>title3</title>
19
+ <link>http://example.com/title3</link>
20
+ <description>description3</description>
21
+ </item>
22
+ </channel>
23
+ </rss>
@@ -0,0 +1,126 @@
1
+ require 'spec_helper'
2
+ require 'pavlov_rss'
3
+ require 'nokogiri'
4
+ require 'fake_web'
5
+
6
+ describe PavlovRss::Reader do
7
+ after do
8
+ FakeWeb.clean_registry
9
+ end
10
+
11
+ context "with an example reader" do
12
+ before do
13
+ @url = "http://example.com/rss.xml"
14
+ @reader = PavlovRss::Reader.new @url
15
+ end
16
+
17
+ describe "#check" do
18
+ context "with static rss" do
19
+ before do
20
+ FakeWeb.register_uri(:get, @url, body: feed('rss1.xml'))
21
+ end
22
+
23
+ it "returns [[]] at first time" do
24
+ @reader.check.should == [[]]
25
+ end
26
+
27
+ it "returns [[]] without changes" do
28
+ @reader.check
29
+ @reader.check.should == [[]]
30
+ end
31
+ end
32
+
33
+ it "does not return [[]] with any chagnes" do
34
+ FakeWeb.register_uri(:get, @url, [
35
+ {body: feed('rss1.xml')},
36
+ {body: feed('rss2.xml')},
37
+ ])
38
+ @reader.check
39
+ @reader.check.should_not == [[]]
40
+ end
41
+
42
+ it "returns new items" do
43
+ FakeWeb.register_uri(:get, @url, [
44
+ {body: feed('rss0.xml')},
45
+ {body: feed('rss1.xml')},
46
+ {body: feed('rss2.xml')},
47
+ {body: feed('rss3.xml')},
48
+ {body: feed('rss4.xml')},
49
+ {body: feed('rss5.xml')},
50
+ ])
51
+ @reader.check
52
+ @reader.check.should == [[
53
+ {
54
+ "title"=>"title1",
55
+ "link"=>"http://example.com/title1",
56
+ "description"=>"description1"
57
+ }]]
58
+ @reader.check.should == [[
59
+ {
60
+ "title"=>"title2",
61
+ "link"=>"http://example.com/title2",
62
+ "description"=>"description2"
63
+ }]]
64
+ @reader.check.should == [[
65
+ {
66
+ "title"=>"title3",
67
+ "link"=>"http://example.com/title3",
68
+ "description"=>"description3"
69
+ }]]
70
+ @reader.check.should == [[
71
+ {
72
+ "title"=>"title4",
73
+ "link"=>"http://example.com/title4",
74
+ "description"=>"description4"
75
+ }]]
76
+ @reader.check.should == [[
77
+ {
78
+ "title"=>"title5",
79
+ "link"=>"http://example.com/title5",
80
+ "description"=>"description5"
81
+ }]]
82
+ @reader.check.should == [[]]
83
+ end
84
+ end
85
+
86
+ describe "#new_items" do
87
+ it "returns empty with same rss" do
88
+ rss1 = Nokogiri.XML(feed('rss1.xml'))
89
+ rss2 = Nokogiri.XML(feed('rss1.xml'))
90
+ items = @reader.new_items rss1, rss2
91
+ items.should == []
92
+ end
93
+
94
+ it "returns empty with not same rss" do
95
+ rss1 = Nokogiri.XML(feed('rss1.xml'))
96
+ rss2 = Nokogiri.XML(feed('rss2.xml'))
97
+ items = @reader.new_items rss1, rss2
98
+
99
+ items.should == [
100
+ {
101
+ "title"=>"title2",
102
+ "link"=>"http://example.com/title2",
103
+ "description"=>"description2"
104
+ }]
105
+ end
106
+ end
107
+
108
+ describe "#item_to_json" do
109
+ it "works" do
110
+ rss = Nokogiri.XML(feed('rss1.xml'))
111
+ result = @reader.item_to_json rss
112
+ result.should == [
113
+ {
114
+ "title"=>"title1",
115
+ "link"=>"http://example.com/title1",
116
+ "description"=>"description1"
117
+ }]
118
+ end
119
+ it "works on 0-items rss" do
120
+ rss = Nokogiri.XML(feed('rss0.xml'))
121
+ result = @reader.item_to_json rss
122
+ result.should == []
123
+ end
124
+ end
125
+ end
126
+ end
@@ -0,0 +1,36 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ if ENV['COVERAGE']
8
+ require 'simplecov'
9
+ formatters = [SimpleCov::Formatter::HTMLFormatter]
10
+ begin
11
+ puts '[COVERAGE] Running with SimpleCov HTML Formatter'
12
+ require 'simplecov-rcov-text'
13
+ formatters << SimpleCov::Formatter::RcovTextFormatter
14
+ puts '[COVERAGE] Running with SimpleCov Rcov Formatter'
15
+ rescue LoadError
16
+ puts '[COVERAGE] SimpleCov Rcov formatter could not be loaded'
17
+ end
18
+ SimpleCov.formatter = SimpleCov::Formatter::MultiFormatter[ *formatters ]
19
+ SimpleCov.start
20
+ end
21
+
22
+ RSpec.configure do |config|
23
+ config.treat_symbols_as_metadata_keys_with_true_values = true
24
+ config.run_all_when_everything_filtered = true
25
+ config.filter_run :focus
26
+
27
+ # Run specs in random order to surface order dependencies. If you find an
28
+ # order dependency and want to debug it, you can fix the order by providing
29
+ # the seed, which is printed after each run.
30
+ # --seed 1234
31
+ config.order = 'random'
32
+ end
33
+
34
+ def feed fn
35
+ File.read(File.join(File.dirname(__FILE__), 'fixtures', fn))
36
+ end
metadata ADDED
@@ -0,0 +1,228 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: pavlov_rss
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Minwoo Lee
8
+ - Insu Yun
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-02-14 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: nokogiri
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: activesupport
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: bundler
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - "~>"
47
+ - !ruby/object:Gem::Version
48
+ version: '1.5'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - "~>"
54
+ - !ruby/object:Gem::Version
55
+ version: '1.5'
56
+ - !ruby/object:Gem::Dependency
57
+ name: rake
58
+ requirement: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ type: :development
64
+ prerelease: false
65
+ version_requirements: !ruby/object:Gem::Requirement
66
+ requirements:
67
+ - - ">="
68
+ - !ruby/object:Gem::Version
69
+ version: '0'
70
+ - !ruby/object:Gem::Dependency
71
+ name: rspec
72
+ requirement: !ruby/object:Gem::Requirement
73
+ requirements:
74
+ - - ">="
75
+ - !ruby/object:Gem::Version
76
+ version: '0'
77
+ type: :development
78
+ prerelease: false
79
+ version_requirements: !ruby/object:Gem::Requirement
80
+ requirements:
81
+ - - ">="
82
+ - !ruby/object:Gem::Version
83
+ version: '0'
84
+ - !ruby/object:Gem::Dependency
85
+ name: guard
86
+ requirement: !ruby/object:Gem::Requirement
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ version: '0'
91
+ type: :development
92
+ prerelease: false
93
+ version_requirements: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: '0'
98
+ - !ruby/object:Gem::Dependency
99
+ name: guard-rspec
100
+ requirement: !ruby/object:Gem::Requirement
101
+ requirements:
102
+ - - ">="
103
+ - !ruby/object:Gem::Version
104
+ version: '0'
105
+ type: :development
106
+ prerelease: false
107
+ version_requirements: !ruby/object:Gem::Requirement
108
+ requirements:
109
+ - - ">="
110
+ - !ruby/object:Gem::Version
111
+ version: '0'
112
+ - !ruby/object:Gem::Dependency
113
+ name: fakeweb
114
+ requirement: !ruby/object:Gem::Requirement
115
+ requirements:
116
+ - - "~>"
117
+ - !ruby/object:Gem::Version
118
+ version: '1.3'
119
+ type: :development
120
+ prerelease: false
121
+ version_requirements: !ruby/object:Gem::Requirement
122
+ requirements:
123
+ - - "~>"
124
+ - !ruby/object:Gem::Version
125
+ version: '1.3'
126
+ - !ruby/object:Gem::Dependency
127
+ name: metric_fu
128
+ requirement: !ruby/object:Gem::Requirement
129
+ requirements:
130
+ - - ">="
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
133
+ type: :development
134
+ prerelease: false
135
+ version_requirements: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: '0'
140
+ - !ruby/object:Gem::Dependency
141
+ name: simplecov
142
+ requirement: !ruby/object:Gem::Requirement
143
+ requirements:
144
+ - - ">="
145
+ - !ruby/object:Gem::Version
146
+ version: '0'
147
+ type: :development
148
+ prerelease: false
149
+ version_requirements: !ruby/object:Gem::Requirement
150
+ requirements:
151
+ - - ">="
152
+ - !ruby/object:Gem::Version
153
+ version: '0'
154
+ - !ruby/object:Gem::Dependency
155
+ name: simplecov-rcov-text
156
+ requirement: !ruby/object:Gem::Requirement
157
+ requirements:
158
+ - - ">="
159
+ - !ruby/object:Gem::Version
160
+ version: '0'
161
+ type: :development
162
+ prerelease: false
163
+ version_requirements: !ruby/object:Gem::Requirement
164
+ requirements:
165
+ - - ">="
166
+ - !ruby/object:Gem::Version
167
+ version: '0'
168
+ description: ''
169
+ email:
170
+ - ermaker@gmail.com
171
+ - wuninsu@gmail.com
172
+ executables: []
173
+ extensions: []
174
+ extra_rdoc_files: []
175
+ files:
176
+ - ".gitignore"
177
+ - ".rspec"
178
+ - Gemfile
179
+ - Gemfile.lock
180
+ - Guardfile
181
+ - LICENSE
182
+ - README.md
183
+ - Rakefile
184
+ - lib/pavlov_rss.rb
185
+ - lib/pavlov_rss/reader.rb
186
+ - lib/pavlov_rss/version.rb
187
+ - pavlov_rss.gemspec
188
+ - spec/fixtures/rss0.xml
189
+ - spec/fixtures/rss1.xml
190
+ - spec/fixtures/rss2.xml
191
+ - spec/fixtures/rss3.xml
192
+ - spec/fixtures/rss4.xml
193
+ - spec/fixtures/rss5.xml
194
+ - spec/lib/pavlov_rss/reader_spec.rb
195
+ - spec/spec_helper.rb
196
+ homepage: ''
197
+ licenses:
198
+ - MIT
199
+ metadata: {}
200
+ post_install_message:
201
+ rdoc_options: []
202
+ require_paths:
203
+ - lib
204
+ required_ruby_version: !ruby/object:Gem::Requirement
205
+ requirements:
206
+ - - ">="
207
+ - !ruby/object:Gem::Version
208
+ version: '0'
209
+ required_rubygems_version: !ruby/object:Gem::Requirement
210
+ requirements:
211
+ - - ">="
212
+ - !ruby/object:Gem::Version
213
+ version: '0'
214
+ requirements: []
215
+ rubyforge_project:
216
+ rubygems_version: 2.2.1
217
+ signing_key:
218
+ specification_version: 4
219
+ summary: Pavlov's RSS
220
+ test_files:
221
+ - spec/fixtures/rss0.xml
222
+ - spec/fixtures/rss1.xml
223
+ - spec/fixtures/rss2.xml
224
+ - spec/fixtures/rss3.xml
225
+ - spec/fixtures/rss4.xml
226
+ - spec/fixtures/rss5.xml
227
+ - spec/lib/pavlov_rss/reader_spec.rb
228
+ - spec/spec_helper.rb