ticketevolution-ruby 0.7.16 → 0.7.23
Sign up to get free protection for your applications and to get access to all the features.
- data/.minimum.versions.gemfile +1 -1
- data/.minimum.versions.gemfile.lock +53 -0
- data/lib/ticket_evolution/address.rb +6 -2
- data/lib/ticket_evolution/address_check.rb +18 -0
- data/lib/ticket_evolution/brokerage.rb +5 -0
- data/lib/ticket_evolution/brokerages.rb +12 -0
- data/lib/ticket_evolution/clients/addresses.rb +18 -4
- data/lib/ticket_evolution/core/connection.rb +2 -0
- data/lib/ticket_evolution/{taken_ticket.rb → filtered_ticket.rb} +1 -1
- data/lib/ticket_evolution/filtered_tickets.rb +12 -0
- data/lib/ticket_evolution/order.rb +18 -0
- data/lib/ticket_evolution/orders/payments.rb +34 -0
- data/lib/ticket_evolution/orders.rb +37 -0
- data/lib/ticket_evolution/payment.rb +11 -0
- data/lib/ticket_evolution/search.rb +2 -1
- data/lib/ticket_evolution/shipment.rb +3 -0
- data/lib/ticket_evolution/shipments.rb +12 -0
- data/lib/ticket_evolution/ticket_group.rb +6 -0
- data/lib/ticket_evolution/ticket_groups.rb +11 -0
- data/lib/ticket_evolution/version.rb +1 -1
- data/lib/ticket_evolution.rb +3 -2
- data/spec/lib/ticket_evolution/clients/addresses_spec.rb +14 -3
- data/spec/lib/ticket_evolution/filtered_tickets_spec.rb +33 -0
- data/spec/lib/ticket_evolution/order_spec.rb +1 -0
- data/spec/lib/ticket_evolution/orders/payments_spec.rb +37 -0
- data/spec/lib/ticket_evolution/shipment_spec.rb +9 -0
- data/spec/lib/ticket_evolution/shipments_spec.rb +19 -0
- data/spec/lib/ticket_evolution/ticket_group_spec.rb +25 -1
- data/spec/lib/ticket_evolution/ticket_groups_spec.rb +20 -0
- data/ticketevolution-ruby.gemspec +1 -1
- metadata +84 -29
- data/lib/ticket_evolution/taken_tickets.rb +0 -5
- data/spec/lib/ticket_evolution/taken_tickets_spec.rb +0 -12
data/.minimum.versions.gemfile
CHANGED
@@ -0,0 +1,53 @@
|
|
1
|
+
PATH
|
2
|
+
remote: .
|
3
|
+
specs:
|
4
|
+
ticketevolution-ruby (0.7.22)
|
5
|
+
activesupport (>= 3.0.0)
|
6
|
+
faraday (>= 0.8.0)
|
7
|
+
multi_json (>= 0.0.4)
|
8
|
+
nokogiri (>= 1.4.3)
|
9
|
+
yajl-ruby (>= 0.7.7)
|
10
|
+
|
11
|
+
GEM
|
12
|
+
remote: http://rubygems.org/
|
13
|
+
specs:
|
14
|
+
activesupport (3.0.0)
|
15
|
+
addressable (2.3.2)
|
16
|
+
awesome_print (1.1.0)
|
17
|
+
crack (0.3.1)
|
18
|
+
diff-lcs (1.1.3)
|
19
|
+
faraday (0.8.0)
|
20
|
+
multipart-post (~> 1.1)
|
21
|
+
multi_json (0.0.4)
|
22
|
+
multipart-post (1.1.5)
|
23
|
+
nokogiri (1.4.3)
|
24
|
+
rake (0.9.2.2)
|
25
|
+
rspec (2.11.0)
|
26
|
+
rspec-core (~> 2.11.0)
|
27
|
+
rspec-expectations (~> 2.11.0)
|
28
|
+
rspec-mocks (~> 2.11.0)
|
29
|
+
rspec-core (2.11.1)
|
30
|
+
rspec-expectations (2.11.3)
|
31
|
+
diff-lcs (~> 1.1.3)
|
32
|
+
rspec-mocks (2.11.3)
|
33
|
+
vcr (1.11.3)
|
34
|
+
webmock (1.7.10)
|
35
|
+
addressable (~> 2.2, > 2.2.5)
|
36
|
+
crack (>= 0.1.7)
|
37
|
+
yajl-ruby (0.7.7)
|
38
|
+
|
39
|
+
PLATFORMS
|
40
|
+
ruby
|
41
|
+
|
42
|
+
DEPENDENCIES
|
43
|
+
activesupport (= 3.0.0)
|
44
|
+
awesome_print
|
45
|
+
faraday (= 0.8.0)
|
46
|
+
multi_json (= 0.0.4)
|
47
|
+
nokogiri (= 1.4.3)
|
48
|
+
rake
|
49
|
+
rspec (>= 2.7.1)
|
50
|
+
ticketevolution-ruby!
|
51
|
+
vcr (< 2)
|
52
|
+
webmock (>= 1.7.0, < 1.8.0)
|
53
|
+
yajl-ruby (= 0.7.7)
|
@@ -1,7 +1,11 @@
|
|
1
1
|
module TicketEvolution
|
2
2
|
class Address < Model
|
3
|
-
def
|
4
|
-
plural_class.new(:parent => @connection,:id => self.id).
|
3
|
+
def check
|
4
|
+
plural_class.new(:parent => @connection,:id => self.id).check
|
5
|
+
end
|
6
|
+
|
7
|
+
def check_fields
|
8
|
+
plural_class.new(:parent => @connection).check_fields
|
5
9
|
end
|
6
10
|
|
7
11
|
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module TicketEvolution
|
2
|
+
class AddressCheck < TicketEvolution::Endpoint
|
3
|
+
def check_fields(params=nil, &handler)
|
4
|
+
handler ||= method(:check_fields_handler)
|
5
|
+
params = { endpoint_name.to_sym => [params] } if params.present?
|
6
|
+
request(:POST, nil, params, &handler)
|
7
|
+
end
|
8
|
+
|
9
|
+
def check_fields_handler(response)
|
10
|
+
response.body.merge({
|
11
|
+
:status_code => response.response_code,
|
12
|
+
:server_message => response.server_message,
|
13
|
+
:connection => response.body[:connection]
|
14
|
+
})
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
@@ -3,5 +3,17 @@ module TicketEvolution
|
|
3
3
|
include TicketEvolution::Modules::List
|
4
4
|
include TicketEvolution::Modules::Search
|
5
5
|
include TicketEvolution::Modules::Show
|
6
|
+
|
7
|
+
def tags(params)
|
8
|
+
ensure_id
|
9
|
+
request(:GET, "/tags", params) do |response|
|
10
|
+
singular_class.new(response.body.merge({
|
11
|
+
:status_code => response.response_code,
|
12
|
+
:server_message => response.server_message,
|
13
|
+
:connection => response.body[:connection]
|
14
|
+
}))
|
15
|
+
end
|
16
|
+
end
|
17
|
+
|
6
18
|
end
|
7
19
|
end
|
@@ -7,12 +7,26 @@ module TicketEvolution
|
|
7
7
|
include TicketEvolution::Modules::Update
|
8
8
|
include TicketEvolution::Modules::Destroy
|
9
9
|
|
10
|
-
def
|
11
|
-
handler ||= method(:
|
12
|
-
request(:GET, "/#{id}/
|
10
|
+
def check(id, params=nil, &handler)
|
11
|
+
handler ||= method(:check_handler)
|
12
|
+
request(:GET, "/#{id}/check", params, &handler)
|
13
13
|
end
|
14
14
|
|
15
|
-
def
|
15
|
+
def check_handler(response)
|
16
|
+
singular_class.new(response.body.merge({
|
17
|
+
:status_code => response.response_code,
|
18
|
+
:server_message => response.server_message,
|
19
|
+
:connection => response.body[:connection]
|
20
|
+
}))
|
21
|
+
end
|
22
|
+
|
23
|
+
def check_fields(params=nil, &handler)
|
24
|
+
handler ||= method(:check_fields_handler)
|
25
|
+
params = { endpoint_name.to_sym => [params] } if params.present?
|
26
|
+
request(:POST, "/check_fields", params, &handler)
|
27
|
+
end
|
28
|
+
|
29
|
+
def check_fields_handler(response)
|
16
30
|
singular_class.new(response.body.merge({
|
17
31
|
:status_code => response.response_code,
|
18
32
|
:server_message => response.server_message,
|
@@ -86,6 +86,8 @@ module TicketEvolution
|
|
86
86
|
builder.use Faraday::Response::VerboseLogger, self.logger if self.logger.present?
|
87
87
|
builder.use FaradayLocalhostHeader, [ /(?:^|\.)lvh\.me$/i, /(?:^|\.)((?:\d+\.){4})xip\.io$/i ]
|
88
88
|
builder.adapter @adapter
|
89
|
+
builder.options[:timeout] = 120
|
90
|
+
builder.options[:open_timeout] = 120
|
89
91
|
end
|
90
92
|
end
|
91
93
|
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module TicketEvolution
|
2
|
+
class FilteredTickets < Endpoint
|
3
|
+
def taken(params)
|
4
|
+
handler ||= method(:collection_handler)
|
5
|
+
request(:GET, '/taken', params, &handler)
|
6
|
+
end
|
7
|
+
def held(params)
|
8
|
+
handler ||= method(:collection_handler)
|
9
|
+
request(:GET, '/held', params, &handler)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
@@ -1,5 +1,7 @@
|
|
1
1
|
module TicketEvolution
|
2
2
|
class Order < Model
|
3
|
+
include Model::ParentalBehavior
|
4
|
+
|
3
5
|
def accept(params)
|
4
6
|
plural_class.new(:parent => @connection).accept_order(params)
|
5
7
|
end
|
@@ -16,6 +18,22 @@ module TicketEvolution
|
|
16
18
|
plural_class.new(:parent => @connection,:id => self.id).email_order(params)
|
17
19
|
end
|
18
20
|
|
21
|
+
def store_etickets(params)
|
22
|
+
deliver_etickets(params) # renamed action to deliver_etickets
|
23
|
+
end
|
24
|
+
|
25
|
+
def deliver_etickets(params)
|
26
|
+
plural_class.new(:parent => @connection,:id => self.id).deliver_etickets(params)
|
27
|
+
end
|
28
|
+
|
29
|
+
def email_etickets_link(params)
|
30
|
+
plural_class.new(:parent => @connection,:id => self.id).email_etickets_link(params)
|
31
|
+
end
|
32
|
+
|
33
|
+
def print_etickets(params = nil)
|
34
|
+
plural_class.new(:parent => @connection,:id => self.id).print_etickets(params)
|
35
|
+
end
|
36
|
+
|
19
37
|
def print
|
20
38
|
plural_class.new(:parent => @connection,:id => self.id).print_order
|
21
39
|
end
|
@@ -2,7 +2,41 @@ module TicketEvolution
|
|
2
2
|
class Orders
|
3
3
|
class Payments < TicketEvolution::Endpoint
|
4
4
|
include TicketEvolution::Modules::List
|
5
|
+
include TicketEvolution::Modules::Show
|
5
6
|
include TicketEvolution::Modules::Create
|
7
|
+
include TicketEvolution::Modules::Update
|
8
|
+
|
9
|
+
def apply(params = nil)
|
10
|
+
_ensure_id(params)
|
11
|
+
request(:POST, "/#{params[:id]}/apply", params, &method(:build_for_show))
|
12
|
+
end
|
13
|
+
|
14
|
+
def cancel(params = nil)
|
15
|
+
_ensure_id(params)
|
16
|
+
request(:POST, "/#{params[:id]}/cancel", params, &method(:build_for_show))
|
17
|
+
end
|
18
|
+
|
19
|
+
def refund(id,params=nil, &handler)
|
20
|
+
handler ||= method(:refund_handler)
|
21
|
+
params = { endpoint_name.to_sym => [params] } if params.present?
|
22
|
+
request(:GET, "/#{id}/refund", params, &method(:build_for_show))
|
23
|
+
end
|
24
|
+
|
25
|
+
def refund_handler(response)
|
26
|
+
singular_class.new(response.body.merge({
|
27
|
+
:status_code => response.response_code,
|
28
|
+
:server_message => response.server_message,
|
29
|
+
:connection => response.body[:connection]
|
30
|
+
}))
|
31
|
+
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def _ensure_id(params)
|
36
|
+
raise TicketEvolution::MethodUnavailableError.new \
|
37
|
+
"#{self.class.to_s}##{caller.first.split('`').last.split("'").first} can only be called if there is an id present on this #{self.class.to_s} instance" \
|
38
|
+
unless params && params[:id].present?
|
39
|
+
end
|
6
40
|
end
|
7
41
|
end
|
8
42
|
end
|
@@ -43,6 +43,43 @@ module TicketEvolution
|
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
46
|
+
def email_etickets_link(params = nil)
|
47
|
+
ensure_id
|
48
|
+
request(:POST, "/email_etickets_link", params) do |response|
|
49
|
+
singular_class.new(response.body.merge({
|
50
|
+
:status_code => response.response_code,
|
51
|
+
:server_message => response.server_message,
|
52
|
+
:connection => response.body[:connection]
|
53
|
+
}))
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def store_etickets(params = nil)
|
58
|
+
deliver_etickets(params)
|
59
|
+
end
|
60
|
+
|
61
|
+
def deliver_etickets(params = nil)
|
62
|
+
ensure_id
|
63
|
+
request(:POST, "/deliver_etickets", params) do |response|
|
64
|
+
singular_class.new(response.body.merge({
|
65
|
+
:status_code => response.response_code,
|
66
|
+
:server_message => response.server_message,
|
67
|
+
:connection => response.body[:connection]
|
68
|
+
}))
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
72
|
+
def print_etickets(params = nil)
|
73
|
+
ensure_id
|
74
|
+
request(:GET, "/print_etickets", params) do |response|
|
75
|
+
singular_class.new(response.body.merge({
|
76
|
+
:status_code => response.response_code,
|
77
|
+
:server_message => response.server_message,
|
78
|
+
:connection => response.body[:connection]
|
79
|
+
}))
|
80
|
+
end
|
81
|
+
end
|
82
|
+
|
46
83
|
def print_order
|
47
84
|
ensure_id
|
48
85
|
request(:GET, "/print", nil) do |response|
|
@@ -1,4 +1,15 @@
|
|
1
1
|
module TicketEvolution
|
2
2
|
class Payment < Model
|
3
|
+
def apply
|
4
|
+
plural_class.new(:parent => @connection,:id => self.id).apply
|
5
|
+
end
|
6
|
+
|
7
|
+
def cancel
|
8
|
+
plural_class.new(:parent => @connection,:id => self.id).cancel
|
9
|
+
end
|
10
|
+
|
11
|
+
def refund
|
12
|
+
plural_class.new(:parent => @connection,:id => self.id).refund
|
13
|
+
end
|
3
14
|
end
|
4
15
|
end
|
@@ -12,7 +12,8 @@ module TicketEvolution
|
|
12
12
|
)
|
13
13
|
|
14
14
|
response.body['results'].each do |result|
|
15
|
-
|
15
|
+
type = result['_type'] =~ /order|purchase/i ? "Order" : result['_type']
|
16
|
+
collection.entries << "TicketEvolution::#{type}".
|
16
17
|
constantize.new(result.merge({:connection => connection}))
|
17
18
|
end
|
18
19
|
|
@@ -3,6 +3,9 @@ module TicketEvolution
|
|
3
3
|
def generate_airbill
|
4
4
|
plural_class.new(:parent => @connection, :id => self.id).generate_airbill
|
5
5
|
end
|
6
|
+
def email_airbill(params)
|
7
|
+
plural_class.new(:parent => @connection, :id => self.id).email_airbill(params)
|
8
|
+
end
|
6
9
|
def cancel
|
7
10
|
plural_class.new(:parent => @connection, :id => self.id).cancel_shipment
|
8
11
|
end
|
@@ -16,6 +16,18 @@ module TicketEvolution
|
|
16
16
|
end
|
17
17
|
end
|
18
18
|
|
19
|
+
def email_airbill(params = nil)
|
20
|
+
ensure_id
|
21
|
+
request(:POST, "/email_airbill", params) do |response|
|
22
|
+
singular_class.new(response.body.merge({
|
23
|
+
:status_code => response.response_code,
|
24
|
+
:server_message => response.server_message,
|
25
|
+
:connection => response.body[:connection]
|
26
|
+
}))
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
|
19
31
|
def cancel_shipment(params = nil)
|
20
32
|
ensure_id
|
21
33
|
|
@@ -6,9 +6,15 @@ module TicketEvolution
|
|
6
6
|
def take(params)
|
7
7
|
plural_class.new(:parent => @connection, :id => self.id).take(params)
|
8
8
|
end
|
9
|
+
def update_hold(params)
|
10
|
+
plural_class.new(:parent => @connection, :id => self.id).update_hold(params)
|
11
|
+
end
|
9
12
|
def release_hold(params)
|
10
13
|
plural_class.new(:parent => @connection, :id => self.id).release_hold(params)
|
11
14
|
end
|
15
|
+
def release_take(params)
|
16
|
+
plural_class.new(:parent => @connection, :id => self.id).release_take(params)
|
17
|
+
end
|
12
18
|
def waste(params)
|
13
19
|
plural_class.new(:parent => @connection, :id => self.id).waste(params)
|
14
20
|
end
|
@@ -13,11 +13,22 @@ module TicketEvolution
|
|
13
13
|
ensure_id
|
14
14
|
request(:POST, "/take", params, &method(:build_for_show))
|
15
15
|
end
|
16
|
+
|
17
|
+
def update_hold(params = nil)
|
18
|
+
ensure_id
|
19
|
+
request(:POST, "/update_hold/#{params[:ticket_hold_id]}", params, &method(:build_for_show))
|
20
|
+
end
|
21
|
+
|
16
22
|
def release_hold(params = nil)
|
17
23
|
ensure_id
|
18
24
|
request(:POST, "/release_hold/#{params[:ticket_hold_id]}", nil, &method(:build_for_show))
|
19
25
|
end
|
20
26
|
|
27
|
+
def release_take(params = nil)
|
28
|
+
ensure_id
|
29
|
+
request(:POST, "/release_take/#{params[:ticket_taken_id]}", nil, &method(:build_for_show))
|
30
|
+
end
|
31
|
+
|
21
32
|
def waste(params = nil)
|
22
33
|
ensure_id
|
23
34
|
request(:POST, "/waste", params, &method(:build_for_show))
|
data/lib/ticket_evolution.rb
CHANGED
@@ -89,7 +89,7 @@ i.req 'rate_option'
|
|
89
89
|
i.req 'service_fee'
|
90
90
|
i.req 'shipment'
|
91
91
|
i.req 'shipping_setting'
|
92
|
-
i.req '
|
92
|
+
i.req 'filtered_ticket'
|
93
93
|
i.req 'ticket_group'
|
94
94
|
i.req 'track_detail'
|
95
95
|
i.req 'transaction'
|
@@ -98,6 +98,7 @@ i.req 'venue'
|
|
98
98
|
|
99
99
|
# Endpoint Classes
|
100
100
|
i.req 'accounts'
|
101
|
+
i.req 'address_check'
|
101
102
|
i.req 'brokerages'
|
102
103
|
i.req 'categories'
|
103
104
|
i.req 'companies'
|
@@ -111,7 +112,7 @@ i.req 'quotes'
|
|
111
112
|
i.req 'rate_options'
|
112
113
|
i.req 'settings'
|
113
114
|
i.req 'shipments'
|
114
|
-
i.req '
|
115
|
+
i.req 'filtered_tickets'
|
115
116
|
i.req 'ticket_groups'
|
116
117
|
i.req 'track_details'
|
117
118
|
i.req 'users'
|
@@ -12,13 +12,24 @@ describe TicketEvolution::Clients::Addresses do
|
|
12
12
|
it_behaves_like 'a show endpoint'
|
13
13
|
it_behaves_like 'an update endpoint'
|
14
14
|
|
15
|
-
describe "#
|
15
|
+
describe "#check" do
|
16
16
|
context "with params" do
|
17
17
|
let(:params) { }
|
18
18
|
|
19
19
|
it "should pass call request as a GET, passing params" do
|
20
|
-
instance.should_receive(:request).with(:GET, "/1/
|
21
|
-
instance.
|
20
|
+
instance.should_receive(:request).with(:GET, "/1/check", params)
|
21
|
+
instance.check(1)
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
describe "#check_fields" do
|
27
|
+
context "with params" do
|
28
|
+
let(:params) { }
|
29
|
+
|
30
|
+
it "should pass call request as a GET, passing params" do
|
31
|
+
instance.should_receive(:request).with(:POST, "/check_fields", params)
|
32
|
+
instance.check_fields
|
22
33
|
end
|
23
34
|
end
|
24
35
|
end
|
@@ -0,0 +1,33 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe TicketEvolution::FilteredTickets do
|
4
|
+
|
5
|
+
let(:klass) { TicketEvolution::FilteredTickets }
|
6
|
+
let(:single_klass) { TicketEvolution::FilteredTicket }
|
7
|
+
let(:instance) { klass.new({:parent => Fake.connection}) }
|
8
|
+
|
9
|
+
it_behaves_like 'a ticket_evolution endpoint class'
|
10
|
+
|
11
|
+
describe "#taken" do
|
12
|
+
context "with params" do
|
13
|
+
let(:params) { {'some' => {'order' => 'info'}} }
|
14
|
+
|
15
|
+
it "should pass call request as a GET, passing params" do
|
16
|
+
instance.should_receive(:request).with(:GET, "/taken", params)
|
17
|
+
instance.taken(params)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
describe "#held" do
|
23
|
+
context "with params" do
|
24
|
+
let(:params) { {'some' => {'order' => 'info'}} }
|
25
|
+
|
26
|
+
it "should pass call request as a GET, passing params" do
|
27
|
+
instance.should_receive(:request).with(:GET, "/held", params)
|
28
|
+
instance.held(params)
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
@@ -3,8 +3,45 @@ require 'spec_helper'
|
|
3
3
|
describe TicketEvolution::Orders::Payments do
|
4
4
|
let(:klass) { TicketEvolution::Orders::Payments }
|
5
5
|
let(:single_klass) { TicketEvolution::Payment }
|
6
|
+
let(:update_base) { {'url' => '/orders/1/payments/1'} }
|
6
7
|
|
7
8
|
it_behaves_like 'a ticket_evolution endpoint class'
|
8
9
|
it_behaves_like 'a create endpoint'
|
9
10
|
it_behaves_like 'a list endpoint'
|
11
|
+
it_behaves_like 'a show endpoint'
|
12
|
+
it_behaves_like 'an update endpoint'
|
13
|
+
|
14
|
+
context 'integration tests' do
|
15
|
+
let(:instance) { klass.new({ :parent => connection }) }
|
16
|
+
|
17
|
+
describe 'apply' do
|
18
|
+
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
19
|
+
use_vcr_cassette 'payments/apply'
|
20
|
+
|
21
|
+
it 'applies a payment' do
|
22
|
+
instance.should_receive(:request).with(:POST, '/1/apply', { :order_id => 1, :id => 1 })
|
23
|
+
instance.apply({ :order_id => 1, :id => 1 })
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
27
|
+
describe 'cancel' do
|
28
|
+
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
29
|
+
use_vcr_cassette 'payments/cancel'
|
30
|
+
|
31
|
+
it 'cancels the payment' do
|
32
|
+
instance.should_receive(:request).with(:POST, '/1/cancel', { :order_id => 1, :id => 1 })
|
33
|
+
instance.cancel({ :order_id => 1, :id => 1 })
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
describe 'refund' do
|
38
|
+
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
39
|
+
use_vcr_cassette 'payments/refund'
|
40
|
+
|
41
|
+
it 'refunds the payment' do
|
42
|
+
instance.should_receive(:request).with(:GET, '/1/refund',nil)
|
43
|
+
instance.refund(1)
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
10
47
|
end
|
@@ -9,6 +9,7 @@ describe TicketEvolution::Shipment do
|
|
9
9
|
let(:connection) { Fake.connection }
|
10
10
|
let(:instance) { TicketEvolution::Shipment.new({:connection => connection, 'id' => 1}) }
|
11
11
|
let(:plural_klass) { TicketEvolution::Shipments}
|
12
|
+
let(:params) { {:test => "1... 2... 3..."} }
|
12
13
|
let!(:plural_klass_instance) { plural_klass.new(:parent => connection) }
|
13
14
|
|
14
15
|
before do
|
@@ -23,6 +24,14 @@ describe TicketEvolution::Shipment do
|
|
23
24
|
end
|
24
25
|
end
|
25
26
|
|
27
|
+
describe "#email_airbill" do
|
28
|
+
it "should pass the request to TicketEvolution::Shipments#email_airbill" do
|
29
|
+
plural_klass_instance.should_receive(:email_airbill).and_return(:dont_care)
|
30
|
+
|
31
|
+
instance.email_airbill(params)
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
26
35
|
describe "#cancel" do
|
27
36
|
it "should pass the request to TicketEvolution::Shipments#cancel_shipment" do
|
28
37
|
plural_klass_instance.should_receive(:cancel_shipment).and_return(:dont_care)
|
@@ -31,6 +31,25 @@ describe TicketEvolution::Shipments do
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
describe "#email_airbill" do
|
35
|
+
context "with an id" do
|
36
|
+
let(:instance) { klass.new({:parent => Fake.connection, :id => 1}) }
|
37
|
+
|
38
|
+
it "should pass call request as a POST" do
|
39
|
+
instance.should_receive(:request).with(:POST, "/email_airbill", nil)
|
40
|
+
|
41
|
+
instance.email_airbill
|
42
|
+
end
|
43
|
+
end
|
44
|
+
|
45
|
+
context "without an id" do
|
46
|
+
it "should raise an UnavailableMethodError if there is no id" do
|
47
|
+
message = "#{klass.to_s}#email_airbill can only be called if there is an id present on this #{klass.to_s} instance"
|
48
|
+
expect { instance.email_airbill }.to raise_error TicketEvolution::MethodUnavailableError, message
|
49
|
+
end
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
34
53
|
describe "#cancel_shipment" do
|
35
54
|
context "with an id" do
|
36
55
|
let(:instance) { klass.new({:parent => Fake.connection, :id => 1}) }
|
@@ -21,7 +21,19 @@ describe TicketEvolution::TicketGroup do
|
|
21
21
|
instance.hold(params)
|
22
22
|
end
|
23
23
|
end
|
24
|
-
|
24
|
+
|
25
|
+
describe "#update_hold" do
|
26
|
+
|
27
|
+
before do
|
28
|
+
plural_klass.should_receive(:new).with(:parent => connection, :id => instance.id).and_return(plural_klass_instance)
|
29
|
+
end
|
30
|
+
|
31
|
+
it "should pass the request to TicketEvolution::TicketGroups#update_hold" do
|
32
|
+
plural_klass_instance.should_receive(:update_hold).with({ :ticket_hold_id => 1 }).and_return(:dont_care)
|
33
|
+
instance.update_hold({ :ticket_hold_id => 1 })
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
25
37
|
describe "#release_hold" do
|
26
38
|
|
27
39
|
before do
|
@@ -45,4 +57,16 @@ describe TicketEvolution::TicketGroup do
|
|
45
57
|
end
|
46
58
|
end
|
47
59
|
|
60
|
+
describe "#release_take" do
|
61
|
+
|
62
|
+
before do
|
63
|
+
plural_klass.should_receive(:new).with(:parent => connection, :id => instance.id).and_return(plural_klass_instance)
|
64
|
+
end
|
65
|
+
|
66
|
+
it "should pass the request to TicketEvolution::TicketGroups#release_take" do
|
67
|
+
plural_klass_instance.should_receive(:release_take).with({ :ticket_taken_id => 1 }).and_return(:dont_care)
|
68
|
+
instance.release_take({ :ticket_taken_id => 1 })
|
69
|
+
end
|
70
|
+
end
|
71
|
+
|
48
72
|
end
|
@@ -37,6 +37,16 @@ describe TicketEvolution::TicketGroups do
|
|
37
37
|
end
|
38
38
|
end
|
39
39
|
|
40
|
+
describe "update_hold" do
|
41
|
+
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
42
|
+
use_vcr_cassette "ticket_groups/update_hold"
|
43
|
+
|
44
|
+
it "places a ticket_group's specified tickets on update_hold" do
|
45
|
+
instance.should_receive(:request).with(:POST, "/update_hold/1", { :ticket_hold_id => 1 })
|
46
|
+
instance.update_hold({ :ticket_hold_id => 1 })
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
40
50
|
describe "release_hold" do
|
41
51
|
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
42
52
|
use_vcr_cassette "ticket_groups/release_hold"
|
@@ -47,6 +57,16 @@ describe TicketEvolution::TicketGroups do
|
|
47
57
|
end
|
48
58
|
end
|
49
59
|
|
60
|
+
describe "release_take" do
|
61
|
+
let(:instance) { klass.new({ :parent => connection, :id => 1 }) }
|
62
|
+
use_vcr_cassette "ticket_groups/release_take"
|
63
|
+
|
64
|
+
it "places a ticket_group's specified tickets on release_take" do
|
65
|
+
instance.should_receive(:request).with(:POST, "/release_take/1", nil)
|
66
|
+
instance.release_take({ :ticket_taken_id => 1 })
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
50
70
|
describe "index_cart" do
|
51
71
|
use_vcr_cassette "ticket_groups/index_cart", :record => :new_episodes
|
52
72
|
|
@@ -14,7 +14,7 @@ Gem::Specification.new do |s|
|
|
14
14
|
s.required_rubygems_version = '>= 1.3.5'
|
15
15
|
|
16
16
|
s.add_dependency 'activesupport', '>= 3.0.0'
|
17
|
-
s.add_dependency 'faraday', '>= 0.
|
17
|
+
s.add_dependency 'faraday', '>= 0.8.0'
|
18
18
|
s.add_dependency 'yajl-ruby', '>= 0.7.7'
|
19
19
|
s.add_dependency 'multi_json', '>= 0.0.4'
|
20
20
|
s.add_dependency 'nokogiri', '>= 1.4.3'
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ticketevolution-ruby
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.7.
|
4
|
+
version: 0.7.23
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2012-
|
12
|
+
date: 2012-10-18 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,21 +21,31 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: 3.0.0
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: faraday
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
31
36
|
- !ruby/object:Gem::Version
|
32
|
-
version: 0.
|
37
|
+
version: 0.8.0
|
33
38
|
type: :runtime
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: 0.8.0
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: yajl-ruby
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ! '>='
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 0.7.7
|
44
54
|
type: :runtime
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ! '>='
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.7.7
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: multi_json
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ! '>='
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 0.0.4
|
55
70
|
type: :runtime
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ! '>='
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.0.4
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: nokogiri
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,10 +85,15 @@ dependencies:
|
|
65
85
|
version: 1.4.3
|
66
86
|
type: :runtime
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: 1.4.3
|
69
94
|
- !ruby/object:Gem::Dependency
|
70
95
|
name: rspec
|
71
|
-
requirement:
|
96
|
+
requirement: !ruby/object:Gem::Requirement
|
72
97
|
none: false
|
73
98
|
requirements:
|
74
99
|
- - ! '>='
|
@@ -76,10 +101,15 @@ dependencies:
|
|
76
101
|
version: 2.7.1
|
77
102
|
type: :development
|
78
103
|
prerelease: false
|
79
|
-
version_requirements:
|
104
|
+
version_requirements: !ruby/object:Gem::Requirement
|
105
|
+
none: false
|
106
|
+
requirements:
|
107
|
+
- - ! '>='
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: 2.7.1
|
80
110
|
- !ruby/object:Gem::Dependency
|
81
111
|
name: vcr
|
82
|
-
requirement:
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
83
113
|
none: false
|
84
114
|
requirements:
|
85
115
|
- - <
|
@@ -87,10 +117,15 @@ dependencies:
|
|
87
117
|
version: '2'
|
88
118
|
type: :development
|
89
119
|
prerelease: false
|
90
|
-
version_requirements:
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
none: false
|
122
|
+
requirements:
|
123
|
+
- - <
|
124
|
+
- !ruby/object:Gem::Version
|
125
|
+
version: '2'
|
91
126
|
- !ruby/object:Gem::Dependency
|
92
127
|
name: webmock
|
93
|
-
requirement:
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
94
129
|
none: false
|
95
130
|
requirements:
|
96
131
|
- - ! '>='
|
@@ -101,10 +136,18 @@ dependencies:
|
|
101
136
|
version: 1.8.0
|
102
137
|
type: :development
|
103
138
|
prerelease: false
|
104
|
-
version_requirements:
|
139
|
+
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
none: false
|
141
|
+
requirements:
|
142
|
+
- - ! '>='
|
143
|
+
- !ruby/object:Gem::Version
|
144
|
+
version: 1.7.0
|
145
|
+
- - <
|
146
|
+
- !ruby/object:Gem::Version
|
147
|
+
version: 1.8.0
|
105
148
|
- !ruby/object:Gem::Dependency
|
106
149
|
name: awesome_print
|
107
|
-
requirement:
|
150
|
+
requirement: !ruby/object:Gem::Requirement
|
108
151
|
none: false
|
109
152
|
requirements:
|
110
153
|
- - ! '>='
|
@@ -112,10 +155,15 @@ dependencies:
|
|
112
155
|
version: '0'
|
113
156
|
type: :development
|
114
157
|
prerelease: false
|
115
|
-
version_requirements:
|
158
|
+
version_requirements: !ruby/object:Gem::Requirement
|
159
|
+
none: false
|
160
|
+
requirements:
|
161
|
+
- - ! '>='
|
162
|
+
- !ruby/object:Gem::Version
|
163
|
+
version: '0'
|
116
164
|
- !ruby/object:Gem::Dependency
|
117
165
|
name: rake
|
118
|
-
requirement:
|
166
|
+
requirement: !ruby/object:Gem::Requirement
|
119
167
|
none: false
|
120
168
|
requirements:
|
121
169
|
- - ! '>='
|
@@ -123,7 +171,12 @@ dependencies:
|
|
123
171
|
version: '0'
|
124
172
|
type: :development
|
125
173
|
prerelease: false
|
126
|
-
version_requirements:
|
174
|
+
version_requirements: !ruby/object:Gem::Requirement
|
175
|
+
none: false
|
176
|
+
requirements:
|
177
|
+
- - ! '>='
|
178
|
+
- !ruby/object:Gem::Version
|
179
|
+
version: '0'
|
127
180
|
description: Provides Ruby wrappers for the Ticket Evolution API (http://developer.ticketevolution.com).
|
128
181
|
Ticket Evolution is the industry leader in software for the Ticket Broker industry.
|
129
182
|
email:
|
@@ -134,6 +187,7 @@ extra_rdoc_files: []
|
|
134
187
|
files:
|
135
188
|
- .gitignore
|
136
189
|
- .minimum.versions.gemfile
|
190
|
+
- .minimum.versions.gemfile.lock
|
137
191
|
- .rdebugrc
|
138
192
|
- .rspec
|
139
193
|
- .travis.yml
|
@@ -156,6 +210,7 @@ files:
|
|
156
210
|
- lib/ticket_evolution/accounts.rb
|
157
211
|
- lib/ticket_evolution/accounts/transactions.rb
|
158
212
|
- lib/ticket_evolution/address.rb
|
213
|
+
- lib/ticket_evolution/address_check.rb
|
159
214
|
- lib/ticket_evolution/brokerage.rb
|
160
215
|
- lib/ticket_evolution/brokerages.rb
|
161
216
|
- lib/ticket_evolution/categories.rb
|
@@ -190,6 +245,8 @@ files:
|
|
190
245
|
- lib/ticket_evolution/errors/method_unavailable_error.rb
|
191
246
|
- lib/ticket_evolution/event.rb
|
192
247
|
- lib/ticket_evolution/events.rb
|
248
|
+
- lib/ticket_evolution/filtered_ticket.rb
|
249
|
+
- lib/ticket_evolution/filtered_tickets.rb
|
193
250
|
- lib/ticket_evolution/modules/create.rb
|
194
251
|
- lib/ticket_evolution/modules/deleted.rb
|
195
252
|
- lib/ticket_evolution/modules/destroy.rb
|
@@ -217,8 +274,6 @@ files:
|
|
217
274
|
- lib/ticket_evolution/shipment.rb
|
218
275
|
- lib/ticket_evolution/shipments.rb
|
219
276
|
- lib/ticket_evolution/shipping_setting.rb
|
220
|
-
- lib/ticket_evolution/taken_ticket.rb
|
221
|
-
- lib/ticket_evolution/taken_tickets.rb
|
222
277
|
- lib/ticket_evolution/ticket_group.rb
|
223
278
|
- lib/ticket_evolution/ticket_groups.rb
|
224
279
|
- lib/ticket_evolution/ticket_groups/ticket_holds.rb
|
@@ -285,6 +340,7 @@ files:
|
|
285
340
|
- spec/lib/ticket_evolution/errors/method_unavailable_error_spec.rb
|
286
341
|
- spec/lib/ticket_evolution/event_spec.rb
|
287
342
|
- spec/lib/ticket_evolution/events_spec.rb
|
343
|
+
- spec/lib/ticket_evolution/filtered_tickets_spec.rb
|
288
344
|
- spec/lib/ticket_evolution/office_spec.rb
|
289
345
|
- spec/lib/ticket_evolution/offices/credit_cards_spec.rb
|
290
346
|
- spec/lib/ticket_evolution/offices_spec.rb
|
@@ -305,7 +361,6 @@ files:
|
|
305
361
|
- spec/lib/ticket_evolution/shipment_spec.rb
|
306
362
|
- spec/lib/ticket_evolution/shipments_spec.rb
|
307
363
|
- spec/lib/ticket_evolution/shipping_setting_spec.rb
|
308
|
-
- spec/lib/ticket_evolution/taken_tickets_spec.rb
|
309
364
|
- spec/lib/ticket_evolution/ticket_group_spec.rb
|
310
365
|
- spec/lib/ticket_evolution/ticket_groups/ticket_holds_spec.rb
|
311
366
|
- spec/lib/ticket_evolution/ticket_groups_spec.rb
|
@@ -347,7 +402,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
347
402
|
version: '0'
|
348
403
|
segments:
|
349
404
|
- 0
|
350
|
-
hash:
|
405
|
+
hash: 2254527950590453793
|
351
406
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
352
407
|
none: false
|
353
408
|
requirements:
|
@@ -356,7 +411,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
356
411
|
version: 1.3.5
|
357
412
|
requirements: []
|
358
413
|
rubyforge_project:
|
359
|
-
rubygems_version: 1.8.
|
414
|
+
rubygems_version: 1.8.24
|
360
415
|
signing_key:
|
361
416
|
specification_version: 3
|
362
417
|
summary: Integration gem for Ticket Evolution's API
|
@@ -415,6 +470,7 @@ test_files:
|
|
415
470
|
- spec/lib/ticket_evolution/errors/method_unavailable_error_spec.rb
|
416
471
|
- spec/lib/ticket_evolution/event_spec.rb
|
417
472
|
- spec/lib/ticket_evolution/events_spec.rb
|
473
|
+
- spec/lib/ticket_evolution/filtered_tickets_spec.rb
|
418
474
|
- spec/lib/ticket_evolution/office_spec.rb
|
419
475
|
- spec/lib/ticket_evolution/offices/credit_cards_spec.rb
|
420
476
|
- spec/lib/ticket_evolution/offices_spec.rb
|
@@ -435,7 +491,6 @@ test_files:
|
|
435
491
|
- spec/lib/ticket_evolution/shipment_spec.rb
|
436
492
|
- spec/lib/ticket_evolution/shipments_spec.rb
|
437
493
|
- spec/lib/ticket_evolution/shipping_setting_spec.rb
|
438
|
-
- spec/lib/ticket_evolution/taken_tickets_spec.rb
|
439
494
|
- spec/lib/ticket_evolution/ticket_group_spec.rb
|
440
495
|
- spec/lib/ticket_evolution/ticket_groups/ticket_holds_spec.rb
|
441
496
|
- spec/lib/ticket_evolution/ticket_groups_spec.rb
|
@@ -1,12 +0,0 @@
|
|
1
|
-
require 'spec_helper'
|
2
|
-
|
3
|
-
describe TicketEvolution::TakenTickets do
|
4
|
-
|
5
|
-
let(:klass) { TicketEvolution::TakenTickets }
|
6
|
-
let(:single_klass) { TicketEvolution::TakenTicket }
|
7
|
-
let(:instance) { klass.new({:parent => Fake.connection}) }
|
8
|
-
|
9
|
-
it_behaves_like 'a ticket_evolution endpoint class'
|
10
|
-
it_behaves_like 'a list endpoint'
|
11
|
-
|
12
|
-
end
|