ticketmaster-basecamp 0.3.9 → 0.4.0
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/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
|
|