feed_notifier 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4297ef96f879b6f4da9baae03102ab9dce53205a
4
+ data.tar.gz: e30b26b078fc493cd9048381e8cce6d489a29e6f
5
+ SHA512:
6
+ metadata.gz: 557f9aaf30ac0d5739ab054356c65f692a557017a1d093f0f350b7f42091b2e2d5b3c82fbf58128719b7e27c39465c09bee5bb69ea858bc81ce4b92306dd0fa5
7
+ data.tar.gz: d9d40cac3de9e12daf6371831139e2ae8d291bfd86b582ecfafbd90767642f26bfba3b639d1d7d23a57ef4e21bcf9ae242e0cc3ec52f21152c0087465a68869e
data/.gitignore ADDED
@@ -0,0 +1,17 @@
1
+ *.gem
2
+ *.rbc
3
+ .bundle
4
+ .config
5
+ .yardoc
6
+ Gemfile.lock
7
+ InstalledFiles
8
+ _yardoc
9
+ coverage
10
+ doc/
11
+ lib/bundler/man
12
+ pkg
13
+ rdoc
14
+ spec/reports
15
+ test/tmp
16
+ test/version_tmp
17
+ tmp
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in feed_notifier.gemspec
4
+ gemspec
data/LICENSE.txt ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2013 'Taku Okawa'
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,49 @@
1
+ # FeedNotifier
2
+
3
+ Ruby scripts to notify feed updates via Apple's Notification Center
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ gem 'feed_notifier'
10
+
11
+ And then execute:
12
+
13
+ $ bundle
14
+
15
+ Or install it yourself as:
16
+
17
+ $ gem install feed_notifier
18
+
19
+ ## Usage
20
+
21
+ First, create config script like shown below.
22
+
23
+ ```
24
+ FeedNotifier.configure do |config|
25
+ # fetch interval
26
+ config.interval = 60*1 # fetch every minute
27
+
28
+ # feed urls
29
+ config.feed_urls << 'https://news.google.com/news/feeds?hl=us&ned=us&ie=UTF-8&oe=UTF-8&output=rss'
30
+ end
31
+ ```
32
+
33
+ Once the configuration is done, run command with -f option.
34
+
35
+ ```
36
+ (bundle exec) feed_notifier -f feeds.rb
37
+ ```
38
+
39
+ ## Todo
40
+
41
+ * Option to run as daemon
42
+
43
+ ## Contributing
44
+
45
+ 1. Fork it
46
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
47
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
48
+ 4. Push to the branch (`git push origin my-new-feature`)
49
+ 5. Create new Pull Request
data/Rakefile ADDED
@@ -0,0 +1,11 @@
1
+ require 'bundler/gem_tasks'
2
+ require 'rake/testtask'
3
+
4
+ Rake::TestTask.new(:spec) do |t|
5
+ t.pattern = "spec/*_spec.rb"
6
+ end
7
+
8
+ # there's no public methods for setting description to TestTask...
9
+ task(:spec).instance_variable_set :@comments,['run specs']
10
+
11
+ task :default => [:spec]
data/bin/feed_notifier ADDED
@@ -0,0 +1,32 @@
1
+ require 'optparse'
2
+ require 'feed_notifier'
3
+
4
+ run_config = {
5
+ :daemon => false,
6
+ :pid_dir => '/var/run',
7
+ }
8
+
9
+ opt_parse = OptionParser.new do |opts|
10
+ opts.on("-f", "--file file" , "config file") do |file|
11
+ run_config[:config_path] = file
12
+ end
13
+
14
+ opts.on("-d", "--daemon", "run as daemon") do
15
+ run_config[:daemon] = true
16
+ end
17
+ end
18
+
19
+ begin
20
+ opt_parse.parse!
21
+ unless run_config[:config_path]
22
+ puts "Missing option: -f "
23
+ puts opt_parse
24
+ exit
25
+ end
26
+ rescue OptionParser::InvalidOption, OptionParser::MissingArgument
27
+ puts $!.to_s
28
+ puts opt_parse
29
+ exit
30
+ end
31
+
32
+ FeedNotifier::Runner.new(run_config).run
@@ -0,0 +1,28 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'feed_notifier/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "feed_notifier"
8
+ spec.version = FeedNotifier::VERSION
9
+ spec.authors = ["'Taku Okawa'"]
10
+ spec.email = ["'taku.okawa@gmail.com'"]
11
+ spec.description = %q{Notify feed update via notification center}
12
+ spec.summary = %q{Notify feed update via notification center}
13
+ spec.homepage = ""
14
+ spec.license = "MIT"
15
+
16
+ spec.files = `git ls-files`.split($/)
17
+ spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
18
+ spec.test_files = spec.files.grep(%r{^spec/*_spec.rb})
19
+ spec.require_paths = ["lib"]
20
+
21
+ spec.add_dependency 'feedzirra','~> 0.1.3'
22
+ spec.add_dependency 'lunchy','~> 0.7.0'
23
+ spec.add_dependency 'terminal-notifier','~> 1.5.1'
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.3"
26
+ spec.add_development_dependency "pry-byebug"
27
+ spec.add_development_dependency "rake"
28
+ end
@@ -0,0 +1,30 @@
1
+ module FeedNotifier
2
+ def self.configure
3
+ config = Config.new
4
+ yield config
5
+ config
6
+ end
7
+
8
+ class Config
9
+ attr_accessor :feed_urls
10
+ attr_accessor :interval
11
+
12
+ class <<self
13
+ def load(config_path)
14
+ eval(File.read(config_path),binding)
15
+ rescue RuntimeError => e
16
+ FeedNotifier.logger.error "error loading config file #{e.message}"
17
+ end
18
+ end
19
+
20
+ def initialize(attrs={})
21
+ @feed_urls = []
22
+ @interval = 60*2
23
+ end
24
+
25
+ def log_path
26
+ STDOUT
27
+ end
28
+
29
+ end
30
+ end
@@ -0,0 +1,50 @@
1
+ require 'feedzirra'
2
+ require 'terminal-notifier'
3
+
4
+ module FeedNotifier
5
+ class FeedList
6
+
7
+ def initialize(config)
8
+ @config = config
9
+ end
10
+
11
+ def urls
12
+ @urls ||= @config.feed_urls
13
+ end
14
+
15
+ def updated_entries(since={})
16
+ unless (@last_feeds && @last_feeds.size > 0)
17
+ FeedNotifier.logger.info "fetching urls for the first time.."
18
+ @last_feeds = Feedzirra::Feed.fetch_and_parse(urls)
19
+ return []
20
+ end
21
+
22
+ new_feeds = Feedzirra::Feed.fetch_and_parse(urls)
23
+
24
+ new_entries = new_feeds.inject([]) { |entries,(url,feed)|
25
+ last_feed = @last_feeds[url]
26
+ if last_feed
27
+ unless last_feed.respond_to?(:feed_url)
28
+ FeedNotifier.logger.warn "feed object for #{url} isn't valid. #{last_feed}"
29
+ next entries
30
+ end
31
+
32
+ last_feed.update_from_feed(feed)
33
+ FeedNotifier.logger.debug "updates for #{url} ... #{last_feed.new_entries}"
34
+ next entries + last_feed.new_entries
35
+ end
36
+ entries
37
+ }
38
+
39
+ @last_feeds = new_feeds
40
+ return new_entries
41
+ end
42
+ end
43
+
44
+
45
+ class Notifier
46
+ def self.notify(entry)
47
+ TerminalNotifier.notify(entry.title)
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,65 @@
1
+ module FeedNotifier
2
+ class Runner
3
+ attr_reader :config
4
+
5
+ def initialize(run_config)
6
+ @run_config = run_config
7
+ @config = Config.load(run_config[:config_path])
8
+ end
9
+
10
+ def check_pid
11
+ if File.exist?(pid_path)
12
+ pid = File.read(pid_path)
13
+ raise "already running process PID:#{pid}"
14
+ end
15
+ end
16
+
17
+ def cleanup
18
+ if File.exist?(pid_path)
19
+ File.delete(pid_path)
20
+ end
21
+ end
22
+
23
+ def pid_path
24
+ File.join(@run_config[:pid_dir],'feed_notifier.pid')
25
+ end
26
+
27
+ def setup
28
+ if @run_config[:daemon]
29
+ check_pid
30
+ Process.daemon if @run_config[:daemon]
31
+ end
32
+
33
+ begin
34
+ yield
35
+ rescue Interrupt => e
36
+ cleanup
37
+ end
38
+ end
39
+
40
+ def run
41
+ setup do
42
+ thread = ::Thread.new do
43
+ feed_list = FeedList.new(config)
44
+ while true do
45
+ check_and_notify(feed_list)
46
+ sleep config.interval
47
+ end
48
+ end
49
+ thread.join
50
+ end
51
+ end
52
+
53
+ def check_and_notify(feed_list)
54
+ FeedNotifier.logger.info "polling feed list..#{feed_list.urls}"
55
+
56
+ entries = feed_list.updated_entries()
57
+ FeedNotifier.logger.info "updated entries #{entries}"
58
+ if entries.size > 0
59
+ entries.each do |entry|
60
+ Notifier.notify(entry)
61
+ end
62
+ end
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,3 @@
1
+ module FeedNotifier
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,13 @@
1
+ require "feed_notifier/version"
2
+ require 'feed_notifier/config'
3
+ require 'feed_notifier/feed'
4
+ require 'feed_notifier/runner'
5
+ require 'logger'
6
+
7
+ module FeedNotifier
8
+ class <<self
9
+ attr_accessor :logger
10
+ end
11
+ end
12
+ FeedNotifier.logger = Logger.new(STDOUT)
13
+ FeedNotifier.logger.level = Logger::INFO
@@ -0,0 +1,7 @@
1
+ FeedNotifier.configure do |config|
2
+ # fetch interval
3
+ config.interval = 60*1 # fetch every minute
4
+
5
+ # feed urls
6
+ config.feed_urls << 'https://news.google.com/news/feeds?hl=us&ned=us&ie=UTF-8&oe=UTF-8&output=rss'
7
+ end
@@ -0,0 +1,12 @@
1
+ require 'minitest/autorun'
2
+ require 'feed_notifier'
3
+
4
+ describe FeedNotifier::Config do
5
+
6
+ it 'excute configure block in config file' do
7
+ config = FeedNotifier::Config.load("#{File.dirname(__FILE__)}/config_files/sample_config.rb")
8
+
9
+ config.feed_urls.size.must_equal 1
10
+ end
11
+
12
+ end
data/spec/feed_spec.rb ADDED
@@ -0,0 +1,35 @@
1
+ require 'minitest/autorun'
2
+ require 'feed_notifier'
3
+
4
+ describe 'feed update' do
5
+
6
+ def load_sample
7
+ xml = File.read("#{File.dirname(__FILE__)}/feeds/gitlab_sample.xml")
8
+ Feedzirra::Feed.parse(xml)
9
+ end
10
+
11
+ it 'returns updated feeds' do
12
+ feed_sample = load_sample
13
+
14
+ old_feeds = []
15
+ feed_sample.entries.each_with_index do |entry,index|
16
+ old_feeds << entry unless index == 0
17
+ end
18
+
19
+ feed_sample_minus = feed_sample.clone
20
+ feed_sample_minus.entries = old_feeds
21
+
22
+ config = FeedNotifier::Config.new()
23
+ feed_list = FeedNotifier::FeedList.new(config)
24
+ feed_list.instance_variable_set :@last_feeds, { :sample => feed_sample_minus }
25
+
26
+ Feedzirra::Feed.stub(:fetch_and_parse,{ :sample => feed_sample }) do
27
+ entries = feed_list.updated_entries
28
+
29
+ entries.size.must_equal 1
30
+ entries.first.title.must_equal 'John Smith pushed to branch master at Sandbox / Charts.js'
31
+ end
32
+ end
33
+
34
+ end
35
+
@@ -0,0 +1,633 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <feed xmlns="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/">
3
+ <title>Dashboard feed - John Smith</title>
4
+ <link href="http://demo.gitlab.com/dashboard.atom" rel="self" type="application/atom+xml"/>
5
+ <link href="http://demo.gitlab.com/dashboard" rel="alternate" type="text/html"/>
6
+ <id>http://demo.gitlab.com/projects</id>
7
+ <updated>2013-10-06T18:42:51Z</updated>
8
+ <entry>
9
+ <id>tag:demo.gitlab.com,2013-10-06:8139</id>
10
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/91b1cf467c8e6a00e12ce379597707b672d3cf8a"/>
11
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
12
+ <updated>2013-10-06T18:42:51Z</updated>
13
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
14
+ <author>
15
+ <name>John Smith</name>
16
+ <email>test@test.com</email>
17
+ </author>
18
+ <summary type="xhtml">
19
+ <div xmlns='http://www.w3.org/1999/xhtml'>
20
+ <p>
21
+ <strong>John Smith</strong>
22
+ <a href="/sandbox/charts-js/commit/91b1cf467c8e6a00e12ce379597707b672d3cf8a">(#91b1cf46)</a>
23
+ <i>
24
+ at
25
+ 19 Aug 18:37
26
+ </i>
27
+ </p>
28
+ <blockquote><p>wanted to try a harmless commit in test site</p></blockquote>
29
+ </div>
30
+ </summary>
31
+ </entry>
32
+ <entry>
33
+ <id>tag:demo.gitlab.com,2013-10-06:8138</id>
34
+ <link href="http://demo.gitlab.com/gitlab/gitlab-recipes/commit/68a3d6b38d720593247202ee5165e41aa84314f5"/>
35
+ <title>John Smith pushed to branch master at GitLab / gitlab-recipes</title>
36
+ <updated>2013-10-06T18:42:48Z</updated>
37
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
38
+ <author>
39
+ <name>John Smith</name>
40
+ <email>test@test.com</email>
41
+ </author>
42
+ <summary type="xhtml">
43
+ <div xmlns='http://www.w3.org/1999/xhtml'>
44
+ <p>
45
+ <strong>John Smith</strong>
46
+ <a href="/gitlab/gitlab-recipes/commit/68a3d6b38d720593247202ee5165e41aa84314f5">(#68a3d6b3)</a>
47
+ <i>
48
+ at
49
+ 19 Aug 20:56
50
+ </i>
51
+ </p>
52
+ <blockquote><p>Foo</p></blockquote>
53
+ </div>
54
+ </summary>
55
+ </entry>
56
+ <entry>
57
+ <id>tag:demo.gitlab.com,2013-10-06:8135</id>
58
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/0c580616e4e76e081a6ce0246128757477d91d9e"/>
59
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
60
+ <updated>2013-10-06T18:42:47Z</updated>
61
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
62
+ <author>
63
+ <name>John Smith</name>
64
+ <email>test@test.com</email>
65
+ </author>
66
+ <summary type="xhtml">
67
+ <div xmlns='http://www.w3.org/1999/xhtml'>
68
+ <p>
69
+ <strong>John Smith</strong>
70
+ <a href="/sandbox/charts-js/commit/0c580616e4e76e081a6ce0246128757477d91d9e">(#0c580616)</a>
71
+ <i>
72
+ at
73
+ 26 Aug 10:08
74
+ </i>
75
+ </p>
76
+ <blockquote><p>Arial -&gt; Helvetica</p></blockquote>
77
+ </div>
78
+ </summary>
79
+ </entry>
80
+ <entry>
81
+ <id>tag:demo.gitlab.com,2013-10-06:8136</id>
82
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/a8404cfb0bde2087f38e475d787c85be3588bb56"/>
83
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
84
+ <updated>2013-10-06T18:42:47Z</updated>
85
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
86
+ <author>
87
+ <name>John Smith</name>
88
+ <email>test@test.com</email>
89
+ </author>
90
+ <summary type="xhtml">
91
+ <div xmlns='http://www.w3.org/1999/xhtml'>
92
+ <p>
93
+ <strong>John Smith</strong>
94
+ <a href="/sandbox/charts-js/commit/a8404cfb0bde2087f38e475d787c85be3588bb56">(#a8404cfb)</a>
95
+ <i>
96
+ at
97
+ 26 Aug 03:57
98
+ </i>
99
+ </p>
100
+ <blockquote><p>test commit</p></blockquote>
101
+ </div>
102
+ </summary>
103
+ </entry>
104
+ <entry>
105
+ <id>tag:demo.gitlab.com,2013-10-06:8137</id>
106
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/0101d8a9559a72aa04da42fb70ef66ceb362152b"/>
107
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
108
+ <updated>2013-10-06T18:42:47Z</updated>
109
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
110
+ <author>
111
+ <name>John Smith</name>
112
+ <email>test@test.com</email>
113
+ </author>
114
+ <summary type="xhtml">
115
+ <div xmlns='http://www.w3.org/1999/xhtml'>
116
+ <p>
117
+ <strong>John Smith</strong>
118
+ <a href="/sandbox/charts-js/commit/0101d8a9559a72aa04da42fb70ef66ceb362152b">(#0101d8a9)</a>
119
+ <i>
120
+ at
121
+ 20 Aug 01:57
122
+ </i>
123
+ </p>
124
+ <blockquote><p>Update</p></blockquote>
125
+ </div>
126
+ </summary>
127
+ </entry>
128
+ <entry>
129
+ <id>tag:demo.gitlab.com,2013-10-06:8134</id>
130
+ <link href="http://demo.gitlab.com/gitlab/gitlabhq/commit/5c2ce1f7a81b4aae0f15ad7361792b734ea511ee"/>
131
+ <title>John Smith pushed to branch ubuntu_script at GitLab / gitlabhq</title>
132
+ <updated>2013-10-06T18:42:42Z</updated>
133
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
134
+ <author>
135
+ <name>John Smith</name>
136
+ <email>test@test.com</email>
137
+ </author>
138
+ <summary type="xhtml">
139
+ <div xmlns='http://www.w3.org/1999/xhtml'>
140
+ <p>
141
+ <strong>John Smith</strong>
142
+ <a href="/gitlab/gitlabhq/commit/5c2ce1f7a81b4aae0f15ad7361792b734ea511ee">(#5c2ce1f7)</a>
143
+ <i>
144
+ at
145
+ 27 Aug 08:15
146
+ </i>
147
+ </p>
148
+ <blockquote><p>Update.</p></blockquote>
149
+ </div>
150
+ </summary>
151
+ </entry>
152
+ <entry>
153
+ <id>tag:demo.gitlab.com,2013-10-06:8133</id>
154
+ <link href="http://demo.gitlab.com/sandbox/six/compare/f10092ccfa5166ca5d6bd9ae5ec043744ac9d501...5865af02a07e988c23ab982e3f79d5f33fa7f1ab"/>
155
+ <title>John Smith pushed to branch gh-pages at Sandbox / Six</title>
156
+ <updated>2013-10-06T18:42:40Z</updated>
157
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
158
+ <author>
159
+ <name>John Smith</name>
160
+ <email>test@test.com</email>
161
+ </author>
162
+ <summary type="xhtml">
163
+ <div xmlns='http://www.w3.org/1999/xhtml'>
164
+ <p>
165
+ <strong>John Smith</strong>
166
+ <a href="/sandbox/six/commit/5865af02a07e988c23ab982e3f79d5f33fa7f1ab">(#5865af02)</a>
167
+ <i>
168
+ at
169
+ 30 Aug 07:42
170
+ </i>
171
+ </p>
172
+ <blockquote><p>Merge branch 'master' of /home/git/repositories/sandbox/six into gh-pages</p></blockquote>
173
+ <p>
174
+ <strong>John Smith</strong>
175
+ <a href="/sandbox/six/commit/0ffcf42643170cf96181338374116ac7aa4a0c73">(#0ffcf426)</a>
176
+ <i>
177
+ at
178
+ 28 Aug 10:26
179
+ </i>
180
+ </p>
181
+ <blockquote><p>adasd</p></blockquote>
182
+ <p>
183
+ <strong>John Smith</strong>
184
+ <a href="/sandbox/six/commit/0072c64fb93d378aff5f359e49349b86256e1417">(#0072c64f)</a>
185
+ <i>
186
+ at
187
+ 23 Aug 08:17
188
+ </i>
189
+ </p>
190
+ <blockquote><p>test edit. I hope this is a real sandbox only...</p></blockquote>
191
+ <p>
192
+ <strong>John Smith</strong>
193
+ <a href="/sandbox/six/commit/7c7fdef05e39e3d8315e0e295ab69f5383a12c85">(#7c7fdef0)</a>
194
+ <i>
195
+ at
196
+ 12 Aug 17:32
197
+ </i>
198
+ </p>
199
+ <blockquote><p>#747 removed blah</p></blockquote>
200
+ <p>
201
+ <strong>John Smith</strong>
202
+ <a href="/sandbox/six/commit/5cb907acc3a4f9350a5661db1c9bcce926549dea">(#5cb907ac)</a>
203
+ <i>
204
+ at
205
+ 12 Aug 13:45
206
+ </i>
207
+ </p>
208
+ <blockquote><p>#747</p></blockquote>
209
+ <p>
210
+ <strong>John Smith</strong>
211
+ <a href="/sandbox/six/commit/aa1cda5a93d4bdc07300601600014bcd7f99da5f">(#aa1cda5a)</a>
212
+ <i>
213
+ at
214
+ 06 Aug 08:41
215
+ </i>
216
+ </p>
217
+ <blockquote><p>Lets</p></blockquote>
218
+ <p>
219
+ <strong>John Smith</strong>
220
+ <a href="/sandbox/six/commit/8c881aeb05d29ed3a19cacda95843bfc3816a8a6">(#8c881aeb)</a>
221
+ <i>
222
+ at
223
+ 04 Aug 01:43
224
+ </i>
225
+ </p>
226
+ <blockquote><p>Merge branch 'gh-pages' of /home/git/repositories/sandbox/six</p></blockquote>
227
+ <p>
228
+ <strong>Dmitriy Zaporozhets</strong>
229
+ <a href="/sandbox/six/commit/2e008a711430a16092cd6a20c225807cb3f51db7">(#2e008a71)</a>
230
+ <i>
231
+ at
232
+ 22 May 11:14
233
+ </i>
234
+ </p>
235
+ <blockquote><p>Added codeclimate badge</p></blockquote>
236
+ <p>
237
+ <strong>Dmitriy Zaporozhets</strong>
238
+ <a href="/sandbox/six/commit/1c8a9df454ef68c22c2a33cca8232bb50849e5c5">(#1c8a9df4)</a>
239
+ <i>
240
+ at
241
+ 24 Feb 11:58
242
+ </i>
243
+ </p>
244
+ <blockquote><p>Merge pull request #4 from paritoshparitosh57/master</p>
245
+
246
+ <p>corrected spelling/typo on README.markdown</p></blockquote>
247
+ <p>
248
+ <strong>Paritosh Piplewar</strong>
249
+ <a href="/sandbox/six/commit/294dc12591e7103f68b8ca9da14633c439d2dcb5">(#294dc125)</a>
250
+ <i>
251
+ at
252
+ 24 Feb 08:15
253
+ </i>
254
+ </p>
255
+ <blockquote><p>typo : correct 'bok' to 'book'</p></blockquote>
256
+ <p>
257
+ <strong>Dmitriy Zaporozhets</strong>
258
+ <a href="/sandbox/six/commit/a26f8df380e56dc79cd74087c8ed4f031eef0460">(#a26f8df3)</a>
259
+ <i>
260
+ at
261
+ 13 Sep 10:13
262
+ </i>
263
+ </p>
264
+ <blockquote><p>Updated gems. Added Guard</p></blockquote>
265
+ <p>
266
+ <strong>Dmitriy Zaporozhets</strong>
267
+ <a href="/sandbox/six/commit/680d739923abdc78762dda5587f3ce6c59caedc2">(#680d7399)</a>
268
+ <i>
269
+ at
270
+ 13 Nov 07:35
271
+ </i>
272
+ </p>
273
+ <blockquote><p>Merge pull request #3 from jish/readme</p>
274
+
275
+ <p>Updating readme.</p></blockquote>
276
+ <p>
277
+ <strong>Josh Lubaway</strong>
278
+ <a href="/sandbox/six/commit/e007035b36c0c0227ec66d945b0e82ea4138691a">(#e007035b)</a>
279
+ <i>
280
+ at
281
+ 12 Nov 23:48
282
+ </i>
283
+ </p>
284
+ <blockquote><p>Updating readme.</p></blockquote>
285
+ <p>
286
+ <strong>Dmitriy Zaporozhets</strong>
287
+ <a href="/sandbox/six/commit/0a38237187aeaf6e24350ffb0db79da40c1bb8de">(#0a382371)</a>
288
+ <i>
289
+ at
290
+ 04 Oct 10:08
291
+ </i>
292
+ </p>
293
+ <blockquote><p>Edited README.markdown via GitHub</p></blockquote>
294
+ <p>
295
+ <strong>Dmitriy Zaporozhets</strong>
296
+ <a href="/sandbox/six/commit/07f358d6a978c99c58a8931a23e3ff63b5a7abd9">(#07f358d6)</a>
297
+ <i>
298
+ at
299
+ 04 Oct 10:08
300
+ </i>
301
+ </p>
302
+ <blockquote><p>travis.yml</p></blockquote>
303
+ <p>
304
+ <i>
305
+ ... and
306
+ 32 more commits
307
+ </i>
308
+ </p>
309
+ </div>
310
+ </summary>
311
+ </entry>
312
+ <entry>
313
+ <id>tag:demo.gitlab.com,2013-10-06:8132</id>
314
+ <link href="http://demo.gitlab.com/gitlab/gitlabhq/commit/7a0af14620076516e06beea4959d827fe1bfc217"/>
315
+ <title>John Smith pushed to branch ubuntu_script at GitLab / gitlabhq</title>
316
+ <updated>2013-10-06T18:42:39Z</updated>
317
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
318
+ <author>
319
+ <name>John Smith</name>
320
+ <email>test@test.com</email>
321
+ </author>
322
+ <summary type="xhtml">
323
+ <div xmlns='http://www.w3.org/1999/xhtml'>
324
+ <p>
325
+ <strong>John Smith</strong>
326
+ <a href="/gitlab/gitlabhq/commit/7a0af14620076516e06beea4959d827fe1bfc217">(#7a0af146)</a>
327
+ <i>
328
+ at
329
+ 29 Aug 22:18
330
+ </i>
331
+ </p>
332
+ <blockquote><p>Remove assignee from api</p></blockquote>
333
+ </div>
334
+ </summary>
335
+ </entry>
336
+ <entry>
337
+ <id>tag:demo.gitlab.com,2013-10-06:8130</id>
338
+ <link href="http://demo.gitlab.com/gitlab/gitlab-ci/compare/bb97f5dbd2d52d1bff6b28d97bd348f21531dea7...488cb21c0dd5a99d9a00a654363a51c705159d04"/>
339
+ <title>John Smith pushed to branch master at GitLab / gitlab-ci</title>
340
+ <updated>2013-10-06T18:42:38Z</updated>
341
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
342
+ <author>
343
+ <name>John Smith</name>
344
+ <email>test@test.com</email>
345
+ </author>
346
+ <summary type="xhtml">
347
+ <div xmlns='http://www.w3.org/1999/xhtml'>
348
+ <p>
349
+ <strong>John Smith</strong>
350
+ <a href="/gitlab/gitlab-ci/commit/488cb21c0dd5a99d9a00a654363a51c705159d04">(#488cb21c)</a>
351
+ <i>
352
+ at
353
+ 30 Aug 16:46
354
+ </i>
355
+ </p>
356
+ <blockquote><p>Merge branch 'gh-pages' of /home/git/repositories/gitlab/gitlab-ci</p></blockquote>
357
+ <p>
358
+ <strong>John Smith</strong>
359
+ <a href="/gitlab/gitlab-ci/commit/b5230af1a8222294c6d8e4028eeee5044d5722ac">(#b5230af1)</a>
360
+ <i>
361
+ at
362
+ 29 Aug 19:18
363
+ </i>
364
+ </p>
365
+ <blockquote><p>Testing!</p></blockquote>
366
+ </div>
367
+ </summary>
368
+ </entry>
369
+ <entry>
370
+ <id>tag:demo.gitlab.com,2013-10-06:8131</id>
371
+ <link href="http://demo.gitlab.com/sandbox/six/commit/68dafe968a11e0b6dbb4a4c1c4e00b7703efcf0a"/>
372
+ <title>John Smith pushed to branch master at Sandbox / Six</title>
373
+ <updated>2013-10-06T18:42:38Z</updated>
374
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
375
+ <author>
376
+ <name>John Smith</name>
377
+ <email>test@test.com</email>
378
+ </author>
379
+ <summary type="xhtml">
380
+ <div xmlns='http://www.w3.org/1999/xhtml'>
381
+ <p>
382
+ <strong>John Smith</strong>
383
+ <a href="/sandbox/six/commit/68dafe968a11e0b6dbb4a4c1c4e00b7703efcf0a">(#68dafe96)</a>
384
+ <i>
385
+ at
386
+ 30 Aug 14:12
387
+ </i>
388
+ </p>
389
+ <blockquote><p>Me lo han pedido en el ticket #35</p></blockquote>
390
+ </div>
391
+ </summary>
392
+ </entry>
393
+ <entry>
394
+ <id>tag:demo.gitlab.com,2013-10-06:8126</id>
395
+ <link href="http://demo.gitlab.com/gitlab/gitlabhq/commit/2ec71a0c09e980c29ee2ba50c5fc5ba91c3d08f3"/>
396
+ <title>John Smith pushed to branch ubuntu_script at GitLab / gitlabhq</title>
397
+ <updated>2013-10-06T18:42:37Z</updated>
398
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
399
+ <author>
400
+ <name>John Smith</name>
401
+ <email>test@test.com</email>
402
+ </author>
403
+ <summary type="xhtml">
404
+ <div xmlns='http://www.w3.org/1999/xhtml'>
405
+ <p>
406
+ <strong>John Smith</strong>
407
+ <a href="/gitlab/gitlabhq/commit/2ec71a0c09e980c29ee2ba50c5fc5ba91c3d08f3">(#2ec71a0c)</a>
408
+ <i>
409
+ at
410
+ 03 Sep 12:37
411
+ </i>
412
+ </p>
413
+ <blockquote><p>.</p></blockquote>
414
+ </div>
415
+ </summary>
416
+ </entry>
417
+ <entry>
418
+ <id>tag:demo.gitlab.com,2013-10-06:8127</id>
419
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/503a3b7a83dc434217eaa0a61bce528571784159"/>
420
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
421
+ <updated>2013-10-06T18:42:37Z</updated>
422
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
423
+ <author>
424
+ <name>John Smith</name>
425
+ <email>test@test.com</email>
426
+ </author>
427
+ <summary type="xhtml">
428
+ <div xmlns='http://www.w3.org/1999/xhtml'>
429
+ <p>
430
+ <strong>John Smith</strong>
431
+ <a href="/sandbox/charts-js/commit/503a3b7a83dc434217eaa0a61bce528571784159">(#503a3b7a)</a>
432
+ <i>
433
+ at
434
+ 03 Sep 11:02
435
+ </i>
436
+ </p>
437
+ <blockquote><p>a</p></blockquote>
438
+ </div>
439
+ </summary>
440
+ </entry>
441
+ <entry>
442
+ <id>tag:demo.gitlab.com,2013-10-06:8128</id>
443
+ <link href="http://demo.gitlab.com/gitlab/gitlabhq/commit/ac1ef9f53e4e8aded71dbc01754e999a5fc9372a"/>
444
+ <title>John Smith pushed to branch ubuntu_script at GitLab / gitlabhq</title>
445
+ <updated>2013-10-06T18:42:37Z</updated>
446
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
447
+ <author>
448
+ <name>John Smith</name>
449
+ <email>test@test.com</email>
450
+ </author>
451
+ <summary type="xhtml">
452
+ <div xmlns='http://www.w3.org/1999/xhtml'>
453
+ <p>
454
+ <strong>John Smith</strong>
455
+ <a href="/gitlab/gitlabhq/commit/ac1ef9f53e4e8aded71dbc01754e999a5fc9372a">(#ac1ef9f5)</a>
456
+ <i>
457
+ at
458
+ 03 Sep 00:29
459
+ </i>
460
+ </p>
461
+ <blockquote><p>test</p></blockquote>
462
+ </div>
463
+ </summary>
464
+ </entry>
465
+ <entry>
466
+ <id>tag:demo.gitlab.com,2013-10-06:8129</id>
467
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/51cb6fdb3dc6606bda6eca3ed15682096d404982"/>
468
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
469
+ <updated>2013-10-06T18:42:37Z</updated>
470
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
471
+ <author>
472
+ <name>John Smith</name>
473
+ <email>test@test.com</email>
474
+ </author>
475
+ <summary type="xhtml">
476
+ <div xmlns='http://www.w3.org/1999/xhtml'>
477
+ <p>
478
+ <strong>John Smith</strong>
479
+ <a href="/sandbox/charts-js/commit/51cb6fdb3dc6606bda6eca3ed15682096d404982">(#51cb6fdb)</a>
480
+ <i>
481
+ at
482
+ 03 Sep 10:18
483
+ </i>
484
+ </p>
485
+ <blockquote><p>ertwertw</p></blockquote>
486
+ </div>
487
+ </summary>
488
+ </entry>
489
+ <entry>
490
+ <id>tag:demo.gitlab.com,2013-10-06:8125</id>
491
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/ff90b081df442318f9ab560a5efcc5a2293f8528"/>
492
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
493
+ <updated>2013-10-06T18:42:34Z</updated>
494
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
495
+ <author>
496
+ <name>John Smith</name>
497
+ <email>test@test.com</email>
498
+ </author>
499
+ <summary type="xhtml">
500
+ <div xmlns='http://www.w3.org/1999/xhtml'>
501
+ <p>
502
+ <strong>John Smith</strong>
503
+ <a href="/sandbox/charts-js/commit/ff90b081df442318f9ab560a5efcc5a2293f8528">(#ff90b081)</a>
504
+ <i>
505
+ at
506
+ 03 Sep 20:03
507
+ </i>
508
+ </p>
509
+ <blockquote><p>test</p></blockquote>
510
+ </div>
511
+ </summary>
512
+ </entry>
513
+ <entry>
514
+ <id>tag:demo.gitlab.com,2013-10-06:8124</id>
515
+ <link href="http://demo.gitlab.com/sandbox/six/commit/e9e851fbbea5027846ccfd3b000436c3f0ddff7c"/>
516
+ <title>John Smith pushed to branch master at Sandbox / Six</title>
517
+ <updated>2013-10-06T18:42:33Z</updated>
518
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
519
+ <author>
520
+ <name>John Smith</name>
521
+ <email>test@test.com</email>
522
+ </author>
523
+ <summary type="xhtml">
524
+ <div xmlns='http://www.w3.org/1999/xhtml'>
525
+ <p>
526
+ <strong>John Smith</strong>
527
+ <a href="/sandbox/six/commit/e9e851fbbea5027846ccfd3b000436c3f0ddff7c">(#e9e851fb)</a>
528
+ <i>
529
+ at
530
+ 09 Sep 13:44
531
+ </i>
532
+ </p>
533
+ <blockquote><p>toto</p></blockquote>
534
+ </div>
535
+ </summary>
536
+ </entry>
537
+ <entry>
538
+ <id>tag:demo.gitlab.com,2013-10-06:8123</id>
539
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/b7c4c97ec111733f27e9b7e493ee2c4b6b8e8c20"/>
540
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
541
+ <updated>2013-10-06T18:42:32Z</updated>
542
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
543
+ <author>
544
+ <name>John Smith</name>
545
+ <email>test@test.com</email>
546
+ </author>
547
+ <summary type="xhtml">
548
+ <div xmlns='http://www.w3.org/1999/xhtml'>
549
+ <p>
550
+ <strong>John Smith</strong>
551
+ <a href="/sandbox/charts-js/commit/b7c4c97ec111733f27e9b7e493ee2c4b6b8e8c20">(#b7c4c97e)</a>
552
+ <i>
553
+ at
554
+ 10 Sep 08:54
555
+ </i>
556
+ </p>
557
+ <blockquote><p>s</p></blockquote>
558
+ </div>
559
+ </summary>
560
+ </entry>
561
+ <entry>
562
+ <id>tag:demo.gitlab.com,2013-10-06:8122</id>
563
+ <link href="http://demo.gitlab.com/gitlab/gitlabhq/commit/70fb4d1ef412783236e2bed1f59d1c58b5664acf"/>
564
+ <title>John Smith pushed to branch ubuntu_script at GitLab / gitlabhq</title>
565
+ <updated>2013-10-06T18:42:30Z</updated>
566
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
567
+ <author>
568
+ <name>John Smith</name>
569
+ <email>test@test.com</email>
570
+ </author>
571
+ <summary type="xhtml">
572
+ <div xmlns='http://www.w3.org/1999/xhtml'>
573
+ <p>
574
+ <strong>John Smith</strong>
575
+ <a href="/gitlab/gitlabhq/commit/70fb4d1ef412783236e2bed1f59d1c58b5664acf">(#70fb4d1e)</a>
576
+ <i>
577
+ at
578
+ 10 Sep 17:52
579
+ </i>
580
+ </p>
581
+ <blockquote><p>Commit via built in editor.</p></blockquote>
582
+ </div>
583
+ </summary>
584
+ </entry>
585
+ <entry>
586
+ <id>tag:demo.gitlab.com,2013-10-06:8120</id>
587
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/b5520bbf32ddf10f00677e19c683a2bf70a5e46d"/>
588
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
589
+ <updated>2013-10-06T18:42:29Z</updated>
590
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
591
+ <author>
592
+ <name>John Smith</name>
593
+ <email>test@test.com</email>
594
+ </author>
595
+ <summary type="xhtml">
596
+ <div xmlns='http://www.w3.org/1999/xhtml'>
597
+ <p>
598
+ <strong>John Smith</strong>
599
+ <a href="/sandbox/charts-js/commit/b5520bbf32ddf10f00677e19c683a2bf70a5e46d">(#b5520bbf)</a>
600
+ <i>
601
+ at
602
+ 18 Sep 01:31
603
+ </i>
604
+ </p>
605
+ <blockquote><p>Squee</p></blockquote>
606
+ </div>
607
+ </summary>
608
+ </entry>
609
+ <entry>
610
+ <id>tag:demo.gitlab.com,2013-10-06:8121</id>
611
+ <link href="http://demo.gitlab.com/sandbox/charts-js/commit/7b9163d83ed8311c1a9308844fd32e81a58464a9"/>
612
+ <title>John Smith pushed to branch master at Sandbox / Charts.js</title>
613
+ <updated>2013-10-06T18:42:29Z</updated>
614
+ <media:thumbnail width="40" height="40" url="http://www.gravatar.com/avatar/b642b4217b34b1e8d3bd915fc65c4452?s=40&amp;d=mm"/>
615
+ <author>
616
+ <name>John Smith</name>
617
+ <email>test@test.com</email>
618
+ </author>
619
+ <summary type="xhtml">
620
+ <div xmlns='http://www.w3.org/1999/xhtml'>
621
+ <p>
622
+ <strong>John Smith</strong>
623
+ <a href="/sandbox/charts-js/commit/7b9163d83ed8311c1a9308844fd32e81a58464a9">(#7b9163d8)</a>
624
+ <i>
625
+ at
626
+ 10 Sep 10:03
627
+ </i>
628
+ </p>
629
+ <blockquote><p>Updated copyright for next year.</p></blockquote>
630
+ </div>
631
+ </summary>
632
+ </entry>
633
+ </feed>
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: feed_notifier
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - '''Taku Okawa'''
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2013-10-20 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: feedzirra
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: 0.1.3
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ~>
25
+ - !ruby/object:Gem::Version
26
+ version: 0.1.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: lunchy
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 0.7.0
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 0.7.0
41
+ - !ruby/object:Gem::Dependency
42
+ name: terminal-notifier
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ~>
46
+ - !ruby/object:Gem::Version
47
+ version: 1.5.1
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.5.1
55
+ - !ruby/object:Gem::Dependency
56
+ name: bundler
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '1.3'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: '1.3'
69
+ - !ruby/object:Gem::Dependency
70
+ name: pry-byebug
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - '>='
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: rake
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - '>='
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - '>='
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ description: Notify feed update via notification center
98
+ email:
99
+ - '''taku.okawa@gmail.com'''
100
+ executables:
101
+ - feed_notifier
102
+ extensions: []
103
+ extra_rdoc_files: []
104
+ files:
105
+ - .gitignore
106
+ - Gemfile
107
+ - LICENSE.txt
108
+ - README.md
109
+ - Rakefile
110
+ - bin/feed_notifier
111
+ - feed_notifier.gemspec
112
+ - lib/feed_notifier.rb
113
+ - lib/feed_notifier/config.rb
114
+ - lib/feed_notifier/feed.rb
115
+ - lib/feed_notifier/runner.rb
116
+ - lib/feed_notifier/version.rb
117
+ - spec/config_files/sample_config.rb
118
+ - spec/config_spec.rb
119
+ - spec/feed_spec.rb
120
+ - spec/feeds/gitlab_sample.xml
121
+ homepage: ''
122
+ licenses:
123
+ - MIT
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - '>='
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.0.3
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: Notify feed update via notification center
145
+ test_files: []