ticketmaster-basecamp 0.3.9 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Gemfile +1 -1
- data/Gemfile.lock +8 -8
- data/VERSION +1 -1
- data/lib/basecamp/basecamp.rb +5 -4
- data/lib/provider/project.rb +3 -4
- data/lib/provider/ticket.rb +103 -56
- data/spec/fixtures/todo_items/62509330_todo_item.xml +15 -0
- data/spec/fixtures/todo_list_9972756.xml +14 -0
- data/spec/fixtures/todo_lists/create.json +1 -0
- data/spec/fixtures/todo_lists/create.xml +14 -0
- data/spec/tickets_spec.rb +25 -15
- data/ticketmaster-basecamp.gemspec +9 -5
- metadata +56 -16
data/Gemfile
CHANGED
@@ -3,7 +3,7 @@ source "http://rubygems.org"
|
|
3
3
|
# Example:
|
4
4
|
# gem "activesupport", ">= 2.3.5"
|
5
5
|
|
6
|
-
gem "ticketmaster", "0.
|
6
|
+
gem "ticketmaster", "~> 0.7.0"
|
7
7
|
gem "xml-simple", "~> 1.1"
|
8
8
|
# Add dependencies to develop your gem here.
|
9
9
|
# Include everything needed to run rake, tests, features, etc.
|
data/Gemfile.lock
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
GEM
|
2
2
|
remote: http://rubygems.org/
|
3
3
|
specs:
|
4
|
-
activemodel (3.2.
|
5
|
-
activesupport (= 3.2.
|
4
|
+
activemodel (3.2.3)
|
5
|
+
activesupport (= 3.2.3)
|
6
6
|
builder (~> 3.0.0)
|
7
|
-
activeresource (3.2.
|
8
|
-
activemodel (= 3.2.
|
9
|
-
activesupport (= 3.2.
|
10
|
-
activesupport (3.2.
|
7
|
+
activeresource (3.2.3)
|
8
|
+
activemodel (= 3.2.3)
|
9
|
+
activesupport (= 3.2.3)
|
10
|
+
activesupport (3.2.3)
|
11
11
|
i18n (~> 0.6)
|
12
12
|
multi_json (~> 1.0)
|
13
13
|
builder (3.0.0)
|
@@ -34,7 +34,7 @@ GEM
|
|
34
34
|
multi_json (~> 1.0.3)
|
35
35
|
simplecov-html (~> 0.5.3)
|
36
36
|
simplecov-html (0.5.3)
|
37
|
-
ticketmaster (0.
|
37
|
+
ticketmaster (0.7.0)
|
38
38
|
activeresource (~> 3.0)
|
39
39
|
activesupport (~> 3.0)
|
40
40
|
hashie (~> 1.2)
|
@@ -48,5 +48,5 @@ DEPENDENCIES
|
|
48
48
|
rcov (~> 1.0)
|
49
49
|
rspec (~> 2.3)
|
50
50
|
simplecov (~> 0.5)
|
51
|
-
ticketmaster (
|
51
|
+
ticketmaster (~> 0.7.0)
|
52
52
|
xml-simple (~> 1.1)
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.
|
1
|
+
0.4.0
|
data/lib/basecamp/basecamp.rb
CHANGED
@@ -191,10 +191,11 @@ class BasecampAPI
|
|
191
191
|
end
|
192
192
|
end
|
193
193
|
end
|
194
|
-
|
195
|
-
|
196
|
-
|
197
|
-
|
194
|
+
|
195
|
+
# Commented because it was causing a Missing prefix error when updating a TodoItem
|
196
|
+
#def prefix_options
|
197
|
+
# id ? {} : super
|
198
|
+
#end
|
198
199
|
end
|
199
200
|
|
200
201
|
class Account < Resource
|
data/lib/provider/project.rb
CHANGED
@@ -59,11 +59,10 @@ module TicketMaster::Provider
|
|
59
59
|
last_changed_on = updated
|
60
60
|
end
|
61
61
|
|
62
|
-
def ticket!(
|
63
|
-
|
64
|
-
self.class.parent::Ticket.create(*options)
|
62
|
+
def ticket!(attributes_hash)
|
63
|
+
provider_parent(self.class)::Ticket.create attributes_hash.merge :project_id => id
|
65
64
|
end
|
66
|
-
|
65
|
+
|
67
66
|
def self.find_by_id(id)
|
68
67
|
self.new API.find(id)
|
69
68
|
end
|
data/lib/provider/ticket.rb
CHANGED
@@ -13,78 +13,115 @@ module TicketMaster::Provider
|
|
13
13
|
# * requestor => creator_name (read-only)
|
14
14
|
# * project_id
|
15
15
|
class Ticket < TicketMaster::Provider::Base::Ticket
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
16
|
+
def initialize(*options)
|
17
|
+
@system_data ||= {}
|
18
|
+
@cache ||= {}
|
19
|
+
first = options.first
|
20
|
+
case first
|
21
|
+
when Hash
|
22
|
+
super(first.to_hash)
|
23
|
+
else
|
24
|
+
@system_data[:client] = first
|
25
|
+
super(first.attributes)
|
26
|
+
end
|
24
27
|
end
|
25
28
|
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
29
|
+
class << self
|
30
|
+
|
31
|
+
def find_by_id(project_id, id)
|
32
|
+
find_by_attributes(project_id, {:id => id}).first
|
33
|
+
end
|
34
|
+
|
35
|
+
def find_by_attributes(project_id, attributes = {})
|
36
|
+
search(project_id, attributes)
|
37
|
+
end
|
38
|
+
|
39
|
+
def search(project_id, options = {}, limit = 1000)
|
40
|
+
tickets = BasecampAPI::TodoList.find(:all, :params => {:project_id => project_id}).collect do |list|
|
41
|
+
list.todo_items.collect { |item|
|
42
|
+
item.attributes['list'] = list
|
43
|
+
item
|
31
44
|
}
|
32
45
|
end.flatten.collect { |ticket| self.new(ticket.attributes.merge!(:project_id => project_id)) }
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
46
|
+
search_by_attribute(tickets, options, limit)
|
47
|
+
end
|
48
|
+
|
49
|
+
# It expects a single hash
|
50
|
+
def create(attributes_hash)
|
51
|
+
todo_item_hash = create_todo_item_hash attributes_hash
|
52
|
+
todo_item = create_todo_item todo_item_hash
|
53
|
+
|
54
|
+
return nil unless todo_item.save
|
55
|
+
|
56
|
+
todo_item.project_id = attributes_hash[:project_id]
|
57
|
+
todo_item.todo_list_id = todo_item_hash[:todo_list_id]
|
58
|
+
self.new(todo_item)
|
45
59
|
end
|
46
|
-
|
47
|
-
|
48
|
-
|
60
|
+
|
61
|
+
private
|
62
|
+
|
63
|
+
def create_todo_item_hash(ticket_hash)
|
64
|
+
a = ticket_hash
|
65
|
+
validate_ticket_hash a
|
66
|
+
todo_item_hash = {
|
67
|
+
:content => a[:title],
|
68
|
+
:position => a[:priority] || 1,
|
69
|
+
:todo_list_id => a[:todo_list_id] || create_todo_list({
|
70
|
+
:project_id => a[:project_id],
|
71
|
+
:name => "#{a[:title]} list"}).id
|
72
|
+
}
|
73
|
+
end
|
74
|
+
|
75
|
+
def create_todo_item(attributes_hash)
|
76
|
+
BasecampAPI::TodoItem.new(attributes_hash)
|
77
|
+
end
|
78
|
+
|
79
|
+
def validate_ticket_hash(attributes_hash)
|
80
|
+
title = attributes_hash[:title]
|
81
|
+
raise ArgumentError.new "Title is required" if title.nil? or title.empty?
|
82
|
+
end
|
83
|
+
|
84
|
+
def create_todo_list(attributes)
|
85
|
+
BasecampAPI::TodoList.create(attributes)
|
86
|
+
end
|
87
|
+
end
|
88
|
+
|
89
|
+
def copy_to(todo_item)
|
90
|
+
todo_item.completed = status
|
91
|
+
todo_item.position = priority
|
92
|
+
todo_item.name = title
|
93
|
+
todo_item.content = title
|
94
|
+
todo_item.completed = resolution
|
95
|
+
todo_item.responsible_party_name = assignee
|
96
|
+
todo_item.creator_name = requestor
|
97
|
+
todo_item
|
98
|
+
end
|
99
|
+
|
100
|
+
def save
|
101
|
+
todo_item = BasecampAPI::TodoItem.find id, :params => { :todo_list_id => todo_list_id }
|
102
|
+
copy_to(todo_item).save
|
49
103
|
end
|
50
104
|
|
51
|
-
def
|
52
|
-
|
53
|
-
object = object.first
|
54
|
-
unless object.is_a? Hash
|
55
|
-
hash = {:id => object.id,
|
56
|
-
:completed => object.completed,
|
57
|
-
:title => object.content,
|
58
|
-
:content => object.content,
|
59
|
-
:project_id => object.project_id,
|
60
|
-
:priority => object.position,
|
61
|
-
:position => object.position,
|
62
|
-
:description => object.description,
|
63
|
-
:assignee => object.creator_name,
|
64
|
-
:requestor => object.requestor}
|
65
|
-
else
|
66
|
-
hash = object
|
67
|
-
end
|
68
|
-
super hash
|
69
|
-
end
|
105
|
+
def todo_list_id
|
106
|
+
self['todo_list_id'].to_i
|
70
107
|
end
|
71
108
|
|
72
109
|
def status
|
73
110
|
self.completed ? 'completed' : 'incomplete'
|
74
111
|
end
|
75
|
-
|
112
|
+
|
76
113
|
def priority
|
77
114
|
self.position
|
78
115
|
end
|
79
|
-
|
116
|
+
|
80
117
|
def priority=(pri)
|
81
118
|
self.position = pri
|
82
119
|
end
|
83
|
-
|
120
|
+
|
84
121
|
def title
|
85
122
|
self.content
|
86
123
|
end
|
87
|
-
|
124
|
+
|
88
125
|
def title=(titl)
|
89
126
|
self.content = titl
|
90
127
|
end
|
@@ -92,28 +129,38 @@ module TicketMaster::Provider
|
|
92
129
|
def updated_at=(comp)
|
93
130
|
self.completed_on = comp
|
94
131
|
end
|
95
|
-
|
132
|
+
|
96
133
|
def description
|
97
134
|
self.content
|
98
135
|
end
|
99
|
-
|
136
|
+
|
100
137
|
def description=(desc)
|
101
138
|
self.content = desc
|
102
139
|
end
|
103
|
-
|
140
|
+
|
104
141
|
def assignee
|
105
142
|
self.responsible_party_name
|
106
143
|
end
|
107
|
-
|
144
|
+
|
108
145
|
def requestor
|
109
146
|
self.creator_name
|
110
147
|
end
|
111
|
-
|
148
|
+
|
112
149
|
def comment!(*options)
|
113
150
|
options[0].merge!(:todo_item_id => id) if options.first.is_a?(Hash)
|
114
151
|
self.class.parent::Comment.create(*options)
|
115
152
|
end
|
116
153
|
|
154
|
+
# FIXME: Remove this debug code
|
155
|
+
class Net::HTTP
|
156
|
+
def send(*args)
|
157
|
+
p "<<< Net::HTTP#send(#{args.inspect}) >>>"
|
158
|
+
resp = super
|
159
|
+
p "<<< Response = #{resp.inspect} >>>"
|
160
|
+
resp
|
161
|
+
end
|
162
|
+
end
|
163
|
+
|
117
164
|
end
|
118
165
|
end
|
119
166
|
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<todo-item>
|
3
|
+
<comments-count type="integer">0</comments-count>
|
4
|
+
<completed type="boolean">false</completed>
|
5
|
+
<content>hudnthdau</content>
|
6
|
+
<created-at type="datetime">2010-07-21T01:14:34Z</created-at>
|
7
|
+
<updated-at type="datetime">2010-07-20T23:36:49Z</updated-at>
|
8
|
+
<creator-id type="integer">5654019</creator-id>
|
9
|
+
<due-at type="datetime" nil="true"></due-at>
|
10
|
+
<id type="integer">62509330</id>
|
11
|
+
<position type="integer">1</position>
|
12
|
+
<todo-list-id type="integer">9973518</todo-list-id>
|
13
|
+
<created-on type="datetime" deprecated="true">2010-07-21T01:14:34Z</created-on>
|
14
|
+
<creator-name>Kia Kroas</creator-name>
|
15
|
+
</todo-item>
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<todo-list>
|
3
|
+
<completed-count type="integer">0</completed-count>
|
4
|
+
<description>etauhnotehunoteh tnheontu honetuh osneh noe hosneuh toneuh</description>
|
5
|
+
<id type="integer">9972756</id>
|
6
|
+
<milestone-id type="integer" nil="true"></milestone-id>
|
7
|
+
<name>Cheese</name>
|
8
|
+
<position type="integer">2</position>
|
9
|
+
<private type="boolean">false</private>
|
10
|
+
<project-id type="integer">5220065</project-id>
|
11
|
+
<tracked type="boolean">false</tracked>
|
12
|
+
<uncompleted-count type="integer">6</uncompleted-count>
|
13
|
+
<complete>false</complete>
|
14
|
+
</todo-list>
|
@@ -0,0 +1 @@
|
|
1
|
+
{"response":{"id":62509330}
|
@@ -0,0 +1,14 @@
|
|
1
|
+
<todo-item>
|
2
|
+
<comments-count type="integer">0</comments-count>
|
3
|
+
<completed type="boolean">false</completed>
|
4
|
+
<content>oeoeuoeuoeuou</content>
|
5
|
+
<created-at type="datetime">2010-07-20T23:36:49Z</created-at>
|
6
|
+
<updated-at type="datetime">2010-07-20T23:36:49Z</updated-at>
|
7
|
+
<creator-id type="integer">5654019</creator-id>
|
8
|
+
<due-at type="datetime" nil="true"></due-at>
|
9
|
+
<id type="integer">62504112</id>
|
10
|
+
<position type="integer">1</position>
|
11
|
+
<todo-list-id type="integer">9972756</todo-list-id>
|
12
|
+
<created-on type="datetime" deprecated="true">2010-07-20T23:36:49Z</created-on>
|
13
|
+
<creator-name>Kia Kroas</creator-name>
|
14
|
+
</todo-item>
|
data/spec/tickets_spec.rb
CHANGED
@@ -9,66 +9,76 @@ describe "Ticketmaster::Provider::Basecamp::Ticket" do
|
|
9
9
|
mock.get '/projects/5220065/todo_lists.xml', headers, fixture_for('todo_lists'), 200
|
10
10
|
mock.get '/todo_lists/9973518/todo_items.xml', headers, fixture_for('todo_lists/9973518_items'), 200
|
11
11
|
mock.get '/todo_lists/9972756/todo_items.xml', headers, fixture_for('todo_lists/9972756_items'), 200
|
12
|
+
mock.get '/todo_lists/9973518/todo_items/62509330.xml', headers, fixture_for('todo_items/62509330_todo_item'), 200
|
13
|
+
mock.get '/todo_lists/0/todo_items/62509330.xml', headers, fixture_for('todo_items/62509330_todo_item'), 200
|
12
14
|
mock.put '/todo_items/62509330.xml', wheaders, '', 200
|
13
|
-
mock.post '/
|
15
|
+
mock.post '/projects/5220065/todo_lists.xml', wheaders, fixture_for('todo_list_9972756'), 201
|
16
|
+
mock.put '/todo_lists/9973518/todo_items/62509330.xml', wheaders, '', 200
|
17
|
+
mock.put '/todo_lists/0/todo_items/62509330.xml', wheaders, '', 200
|
18
|
+
mock.post '/todo_lists/9972756/todo_items.xml', wheaders, fixture_for('todo_lists/create'), 201
|
14
19
|
end
|
15
20
|
@project_id = 5220065
|
16
21
|
@ticket_id = 62509330
|
17
22
|
end
|
18
|
-
|
23
|
+
|
19
24
|
before(:each) do
|
20
25
|
@ticketmaster = TicketMaster.new(:basecamp, :domain => 'ticketmaster.basecamphq.com', :token => '000000')
|
21
26
|
@project = @ticketmaster.project(@project_id)
|
22
27
|
@klass = TicketMaster::Provider::Basecamp::Ticket
|
23
28
|
end
|
24
|
-
|
29
|
+
|
25
30
|
it "should be able to load all tickets" do
|
26
31
|
@project.tickets.should be_an_instance_of(Array)
|
27
32
|
@project.tickets.first.should be_an_instance_of(@klass)
|
28
33
|
end
|
29
|
-
|
34
|
+
|
30
35
|
it "should be able to load all tickets based on an array of ids" do
|
31
36
|
@tickets = @project.tickets([@ticket_id])
|
32
37
|
@tickets.should be_an_instance_of(Array)
|
33
38
|
@tickets.first.should be_an_instance_of(@klass)
|
34
39
|
@tickets.first.id.should == @ticket_id
|
35
40
|
end
|
36
|
-
|
41
|
+
|
37
42
|
it "should be able to load all tickets based on attributes" do
|
38
43
|
@tickets = @project.tickets(:id => @ticket_id)
|
39
44
|
@tickets.should be_an_instance_of(Array)
|
40
45
|
@tickets.first.should be_an_instance_of(@klass)
|
41
46
|
@tickets.first.id.should == @ticket_id
|
42
47
|
end
|
43
|
-
|
48
|
+
|
44
49
|
it "should return the ticket class" do
|
45
50
|
@project.ticket.should == @klass
|
46
51
|
end
|
47
|
-
|
52
|
+
|
48
53
|
it "should be able to load a single ticket" do
|
49
54
|
@ticket = @project.ticket(@ticket_id)
|
50
55
|
@ticket.should be_an_instance_of(@klass)
|
51
56
|
@ticket.id.should == @ticket_id
|
52
57
|
end
|
53
|
-
|
58
|
+
|
54
59
|
it "should be able to load a single ticket based on attributes" do
|
55
60
|
@ticket = @project.ticket(:id => @ticket_id)
|
56
61
|
@ticket.should be_an_instance_of(@klass)
|
57
62
|
@ticket.id.should == @ticket_id
|
58
63
|
end
|
59
|
-
|
64
|
+
|
60
65
|
it "should be able to update and save a ticket" do
|
61
|
-
pending
|
62
66
|
@ticket = @project.ticket(@ticket_id)
|
63
|
-
@ticket.save.should
|
64
|
-
@ticket.description = 'hello'
|
65
|
-
@ticket.save.should == true
|
67
|
+
@ticket.save.should be_true
|
66
68
|
end
|
67
69
|
|
68
70
|
it "should be able to create a ticket" do
|
69
|
-
pending
|
70
71
|
@ticket = @project.ticket!(:todo_list_id => 9972756, :title => 'Ticket #12', :description => 'Body')
|
71
72
|
@ticket.should be_an_instance_of(@klass)
|
73
|
+
@ticket.project_id.should_not be_nil
|
74
|
+
@ticket.todo_list_id.should_not be_nil
|
75
|
+
end
|
76
|
+
|
77
|
+
it "should be able to create a ticket without passing a todo list id" do
|
78
|
+
@ticket = @project.ticket!(:title => 'Ticket #13', :description => 'Body')
|
79
|
+
@ticket.should be_an_instance_of(@klass)
|
80
|
+
@ticket.project_id.should_not be_nil
|
81
|
+
@ticket.todo_list_id.should_not be_nil
|
72
82
|
end
|
73
|
-
|
83
|
+
|
74
84
|
end
|
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "ticketmaster-basecamp"
|
8
|
-
s.version = "0.
|
8
|
+
s.version = "0.4.0"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["HybridGroup"]
|
12
|
-
s.date = "2012-
|
12
|
+
s.date = "2012-04-20"
|
13
13
|
s.description = "This gem provides an interface to basecamp through the ticketmaster gem"
|
14
14
|
s.email = "hong.quach@abigfisch.com"
|
15
15
|
s.extra_rdoc_files = [
|
@@ -46,12 +46,16 @@ Gem::Specification.new do |s|
|
|
46
46
|
"spec/fixtures/projects/5220065.xml",
|
47
47
|
"spec/fixtures/projects/create.json",
|
48
48
|
"spec/fixtures/projects/create.xml",
|
49
|
+
"spec/fixtures/todo_items/62509330_todo_item.xml",
|
50
|
+
"spec/fixtures/todo_list_9972756.xml",
|
49
51
|
"spec/fixtures/todo_lists.json",
|
50
52
|
"spec/fixtures/todo_lists.xml",
|
51
53
|
"spec/fixtures/todo_lists/9972756_items.json",
|
52
54
|
"spec/fixtures/todo_lists/9972756_items.xml",
|
53
55
|
"spec/fixtures/todo_lists/9973518_items.json",
|
54
56
|
"spec/fixtures/todo_lists/9973518_items.xml",
|
57
|
+
"spec/fixtures/todo_lists/create.json",
|
58
|
+
"spec/fixtures/todo_lists/create.xml",
|
55
59
|
"spec/projects_spec.rb",
|
56
60
|
"spec/spec.opts",
|
57
61
|
"spec/spec_helper.rb",
|
@@ -68,14 +72,14 @@ Gem::Specification.new do |s|
|
|
68
72
|
s.specification_version = 3
|
69
73
|
|
70
74
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
71
|
-
s.add_runtime_dependency(%q<ticketmaster>, ["
|
75
|
+
s.add_runtime_dependency(%q<ticketmaster>, ["~> 0.7.0"])
|
72
76
|
s.add_runtime_dependency(%q<xml-simple>, ["~> 1.1"])
|
73
77
|
s.add_development_dependency(%q<rspec>, ["~> 2.3"])
|
74
78
|
s.add_development_dependency(%q<jeweler>, ["~> 1.6"])
|
75
79
|
s.add_development_dependency(%q<simplecov>, ["~> 0.5"])
|
76
80
|
s.add_development_dependency(%q<rcov>, ["~> 1.0"])
|
77
81
|
else
|
78
|
-
s.add_dependency(%q<ticketmaster>, ["
|
82
|
+
s.add_dependency(%q<ticketmaster>, ["~> 0.7.0"])
|
79
83
|
s.add_dependency(%q<xml-simple>, ["~> 1.1"])
|
80
84
|
s.add_dependency(%q<rspec>, ["~> 2.3"])
|
81
85
|
s.add_dependency(%q<jeweler>, ["~> 1.6"])
|
@@ -83,7 +87,7 @@ Gem::Specification.new do |s|
|
|
83
87
|
s.add_dependency(%q<rcov>, ["~> 1.0"])
|
84
88
|
end
|
85
89
|
else
|
86
|
-
s.add_dependency(%q<ticketmaster>, ["
|
90
|
+
s.add_dependency(%q<ticketmaster>, ["~> 0.7.0"])
|
87
91
|
s.add_dependency(%q<xml-simple>, ["~> 1.1"])
|
88
92
|
s.add_dependency(%q<rspec>, ["~> 2.3"])
|
89
93
|
s.add_dependency(%q<jeweler>, ["~> 1.6"])
|
metadata
CHANGED
@@ -1,8 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ticketmaster-basecamp
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
+
hash: 15
|
4
5
|
prerelease:
|
5
|
-
|
6
|
+
segments:
|
7
|
+
- 0
|
8
|
+
- 4
|
9
|
+
- 0
|
10
|
+
version: 0.4.0
|
6
11
|
platform: ruby
|
7
12
|
authors:
|
8
13
|
- HybridGroup
|
@@ -10,73 +15,98 @@ autorequire:
|
|
10
15
|
bindir: bin
|
11
16
|
cert_chain: []
|
12
17
|
|
13
|
-
date: 2012-
|
18
|
+
date: 2012-04-20 00:00:00 Z
|
14
19
|
dependencies:
|
15
20
|
- !ruby/object:Gem::Dependency
|
16
21
|
name: ticketmaster
|
22
|
+
prerelease: false
|
23
|
+
type: :runtime
|
17
24
|
requirement: &id001 !ruby/object:Gem::Requirement
|
18
25
|
none: false
|
19
26
|
requirements:
|
20
|
-
- -
|
27
|
+
- - ~>
|
21
28
|
- !ruby/object:Gem::Version
|
22
|
-
|
23
|
-
|
24
|
-
|
29
|
+
hash: 3
|
30
|
+
segments:
|
31
|
+
- 0
|
32
|
+
- 7
|
33
|
+
- 0
|
34
|
+
version: 0.7.0
|
25
35
|
version_requirements: *id001
|
26
36
|
- !ruby/object:Gem::Dependency
|
27
37
|
name: xml-simple
|
38
|
+
prerelease: false
|
39
|
+
type: :runtime
|
28
40
|
requirement: &id002 !ruby/object:Gem::Requirement
|
29
41
|
none: false
|
30
42
|
requirements:
|
31
43
|
- - ~>
|
32
44
|
- !ruby/object:Gem::Version
|
45
|
+
hash: 13
|
46
|
+
segments:
|
47
|
+
- 1
|
48
|
+
- 1
|
33
49
|
version: "1.1"
|
34
|
-
type: :runtime
|
35
|
-
prerelease: false
|
36
50
|
version_requirements: *id002
|
37
51
|
- !ruby/object:Gem::Dependency
|
38
52
|
name: rspec
|
53
|
+
prerelease: false
|
54
|
+
type: :development
|
39
55
|
requirement: &id003 !ruby/object:Gem::Requirement
|
40
56
|
none: false
|
41
57
|
requirements:
|
42
58
|
- - ~>
|
43
59
|
- !ruby/object:Gem::Version
|
60
|
+
hash: 5
|
61
|
+
segments:
|
62
|
+
- 2
|
63
|
+
- 3
|
44
64
|
version: "2.3"
|
45
|
-
type: :development
|
46
|
-
prerelease: false
|
47
65
|
version_requirements: *id003
|
48
66
|
- !ruby/object:Gem::Dependency
|
49
67
|
name: jeweler
|
68
|
+
prerelease: false
|
69
|
+
type: :development
|
50
70
|
requirement: &id004 !ruby/object:Gem::Requirement
|
51
71
|
none: false
|
52
72
|
requirements:
|
53
73
|
- - ~>
|
54
74
|
- !ruby/object:Gem::Version
|
75
|
+
hash: 3
|
76
|
+
segments:
|
77
|
+
- 1
|
78
|
+
- 6
|
55
79
|
version: "1.6"
|
56
|
-
type: :development
|
57
|
-
prerelease: false
|
58
80
|
version_requirements: *id004
|
59
81
|
- !ruby/object:Gem::Dependency
|
60
82
|
name: simplecov
|
83
|
+
prerelease: false
|
84
|
+
type: :development
|
61
85
|
requirement: &id005 !ruby/object:Gem::Requirement
|
62
86
|
none: false
|
63
87
|
requirements:
|
64
88
|
- - ~>
|
65
89
|
- !ruby/object:Gem::Version
|
90
|
+
hash: 1
|
91
|
+
segments:
|
92
|
+
- 0
|
93
|
+
- 5
|
66
94
|
version: "0.5"
|
67
|
-
type: :development
|
68
|
-
prerelease: false
|
69
95
|
version_requirements: *id005
|
70
96
|
- !ruby/object:Gem::Dependency
|
71
97
|
name: rcov
|
98
|
+
prerelease: false
|
99
|
+
type: :development
|
72
100
|
requirement: &id006 !ruby/object:Gem::Requirement
|
73
101
|
none: false
|
74
102
|
requirements:
|
75
103
|
- - ~>
|
76
104
|
- !ruby/object:Gem::Version
|
105
|
+
hash: 15
|
106
|
+
segments:
|
107
|
+
- 1
|
108
|
+
- 0
|
77
109
|
version: "1.0"
|
78
|
-
type: :development
|
79
|
-
prerelease: false
|
80
110
|
version_requirements: *id006
|
81
111
|
description: This gem provides an interface to basecamp through the ticketmaster gem
|
82
112
|
email: hong.quach@abigfisch.com
|
@@ -117,12 +147,16 @@ files:
|
|
117
147
|
- spec/fixtures/projects/5220065.xml
|
118
148
|
- spec/fixtures/projects/create.json
|
119
149
|
- spec/fixtures/projects/create.xml
|
150
|
+
- spec/fixtures/todo_items/62509330_todo_item.xml
|
151
|
+
- spec/fixtures/todo_list_9972756.xml
|
120
152
|
- spec/fixtures/todo_lists.json
|
121
153
|
- spec/fixtures/todo_lists.xml
|
122
154
|
- spec/fixtures/todo_lists/9972756_items.json
|
123
155
|
- spec/fixtures/todo_lists/9972756_items.xml
|
124
156
|
- spec/fixtures/todo_lists/9973518_items.json
|
125
157
|
- spec/fixtures/todo_lists/9973518_items.xml
|
158
|
+
- spec/fixtures/todo_lists/create.json
|
159
|
+
- spec/fixtures/todo_lists/create.xml
|
126
160
|
- spec/projects_spec.rb
|
127
161
|
- spec/spec.opts
|
128
162
|
- spec/spec_helper.rb
|
@@ -142,12 +176,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
142
176
|
requirements:
|
143
177
|
- - ">="
|
144
178
|
- !ruby/object:Gem::Version
|
179
|
+
hash: 3
|
180
|
+
segments:
|
181
|
+
- 0
|
145
182
|
version: "0"
|
146
183
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
147
184
|
none: false
|
148
185
|
requirements:
|
149
186
|
- - ">="
|
150
187
|
- !ruby/object:Gem::Version
|
188
|
+
hash: 3
|
189
|
+
segments:
|
190
|
+
- 0
|
151
191
|
version: "0"
|
152
192
|
requirements: []
|
153
193
|
|