octopussy 0.1.1 → 0.1.2
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.
- data/VERSION +1 -1
- data/changelog.markdown +4 -2
- data/lib/octopussy/event.rb +13 -4
- data/octopussy.gemspec +2 -2
- data/test/test_octopussy.rb +33 -1
- metadata +2 -2
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.1.
|
1
|
+
0.1.2
|
data/changelog.markdown
CHANGED
data/lib/octopussy/event.rb
CHANGED
@@ -4,7 +4,7 @@ module Octopussy
|
|
4
4
|
def self.load_from_atom(entry)
|
5
5
|
entry = entry.to_mash if entry.is_a?(Hash)
|
6
6
|
|
7
|
-
event = Hashie::Mash.new({:user => entry.author})
|
7
|
+
event = Hashie::Mash.new({:user => entry.author, :title => entry.title})
|
8
8
|
event.published = (entry.published.is_a?(String) ? DateTime.parse(entry.published) : entry.published)
|
9
9
|
event.id = entry.id.split("/").pop.to_i
|
10
10
|
|
@@ -32,7 +32,8 @@ module Octopussy
|
|
32
32
|
event.branch = entry.links.first.split('/').pop
|
33
33
|
when /ForkEvent/
|
34
34
|
event.event_type = 'fork'
|
35
|
-
|
35
|
+
segments = entry.title.split(" ")
|
36
|
+
event.forked_from = Repo.new(segments.last)
|
36
37
|
when /WatchEvent/
|
37
38
|
event.event_type = 'watch'
|
38
39
|
|
@@ -51,10 +52,18 @@ module Octopussy
|
|
51
52
|
event.page = entry.links.first.split('/').pop
|
52
53
|
when /CommitCommentEvent/
|
53
54
|
event.event_type = 'comment'
|
55
|
+
when /DeleteEvent/
|
56
|
+
event.event_type = 'delete'
|
57
|
+
segments = entry.title.split(' ')
|
58
|
+
event.branch = segments[3]
|
59
|
+
event.repo = Repo.new(segments[5])
|
60
|
+
when /PublicEvent/
|
61
|
+
event.event_type = 'public'
|
62
|
+
event.repo = Repo.new(entry.title.split(" ")[3])
|
54
63
|
else
|
55
|
-
|
64
|
+
puts "Unknown event type: #{entry.id}"
|
56
65
|
end
|
57
|
-
event.repo = Repo.from_url(entry.links.first) unless %w(follow gist).include?(event.event_type)
|
66
|
+
event.repo = Repo.from_url(entry.links.first) unless %w(follow gist delete public).include?(event.event_type)
|
58
67
|
event
|
59
68
|
end
|
60
69
|
end
|
data/octopussy.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{octopussy}
|
8
|
-
s.version = "0.1.
|
8
|
+
s.version = "0.1.2"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Wynn Netherland", "Adam Stacoviak"]
|
12
|
-
s.date = %q{2009-12-
|
12
|
+
s.date = %q{2009-12-16}
|
13
13
|
s.description = %q{Simple wrapper for the GitHub API v2}
|
14
14
|
s.email = %q{wynn.netherland@gmail.com}
|
15
15
|
s.extra_rdoc_files = [
|
data/test/test_octopussy.rb
CHANGED
@@ -396,7 +396,7 @@ class TestOctopussy < Test::Unit::TestCase
|
|
396
396
|
|
397
397
|
context "when consuming feeds" do
|
398
398
|
|
399
|
-
should "should set user and published time for the event" do
|
399
|
+
should "should set user, title, and published time for the event" do
|
400
400
|
entry = Hashie::Mash.new({
|
401
401
|
:id => 'tag:github.com,2008:CreateEvent/110645788',
|
402
402
|
:published => '2009-12-12T11:24:14-08:00',
|
@@ -411,6 +411,7 @@ class TestOctopussy < Test::Unit::TestCase
|
|
411
411
|
event.published.year.should == 2009
|
412
412
|
event.published.month.should == 12
|
413
413
|
event.id.should == 110645788
|
414
|
+
event.title.should == 'pengwynn created tag v0.7.10 at jnunemaker/twitter'
|
414
415
|
end
|
415
416
|
|
416
417
|
should "should create a repo event from an atom entry" do
|
@@ -624,6 +625,37 @@ class TestOctopussy < Test::Unit::TestCase
|
|
624
625
|
event.event_type.should == 'comment'
|
625
626
|
event.repo.name.should == 'resque'
|
626
627
|
end
|
628
|
+
|
629
|
+
should "should create a delete event from an atom entry" do
|
630
|
+
entry = Hashie::Mash.new({
|
631
|
+
:id => 'tag:github.com,2008:DeleteEvent/110645788',
|
632
|
+
:published => '2009-12-12T11:24:14-08:00',
|
633
|
+
:updated => '2009-12-12T11:24:14-08:00',
|
634
|
+
:links => ['http://github.com/jinzhu'],
|
635
|
+
:title => 'jinzhu deleted branch search at jinzhu/vimlike-smooziee',
|
636
|
+
:author => 'jinzhu'
|
637
|
+
})
|
638
|
+
|
639
|
+
event = Octopussy::Event.load_from_atom(entry)
|
640
|
+
event.event_type.should == 'delete'
|
641
|
+
event.repo.name.should == 'vimlike-smooziee'
|
642
|
+
event.branch.should == 'search'
|
643
|
+
end
|
644
|
+
|
645
|
+
should "should create a public event from an atom entry" do
|
646
|
+
entry = Hashie::Mash.new({
|
647
|
+
:id => 'tag:github.com,2008:PublicEvent/110645788',
|
648
|
+
:published => '2009-12-12T11:24:14-08:00',
|
649
|
+
:updated => '2009-12-12T11:24:14-08:00',
|
650
|
+
:links => ['http://github.com/intalio'],
|
651
|
+
:title => 'intalio open sourced bpmn2',
|
652
|
+
:author => 'intalio'
|
653
|
+
})
|
654
|
+
|
655
|
+
event = Octopussy::Event.load_from_atom(entry)
|
656
|
+
event.event_type.should == 'public'
|
657
|
+
event.repo.name.should == 'bpmn2'
|
658
|
+
end
|
627
659
|
end
|
628
660
|
|
629
661
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: octopussy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Wynn Netherland
|
@@ -10,7 +10,7 @@ autorequire:
|
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
12
|
|
13
|
-
date: 2009-12-
|
13
|
+
date: 2009-12-16 00:00:00 -06:00
|
14
14
|
default_executable:
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|