feed_notifier 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 +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +49 -0
- data/Rakefile +11 -0
- data/bin/feed_notifier +32 -0
- data/feed_notifier.gemspec +28 -0
- data/lib/feed_notifier/config.rb +30 -0
- data/lib/feed_notifier/feed.rb +50 -0
- data/lib/feed_notifier/runner.rb +65 -0
- data/lib/feed_notifier/version.rb +3 -0
- data/lib/feed_notifier.rb +13 -0
- data/spec/config_files/sample_config.rb +7 -0
- data/spec/config_spec.rb +12 -0
- data/spec/feed_spec.rb +35 -0
- data/spec/feeds/gitlab_sample.xml +633 -0
- metadata +145 -0
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
data/Gemfile
ADDED
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,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
|
data/spec/config_spec.rb
ADDED
@@ -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&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&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&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 -> 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&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&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&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&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&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&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&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&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&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&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&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&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&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&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&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&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&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: []
|