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.
Files changed (33) hide show
  1. data/.minimum.versions.gemfile +1 -1
  2. data/.minimum.versions.gemfile.lock +53 -0
  3. data/lib/ticket_evolution/address.rb +6 -2
  4. data/lib/ticket_evolution/address_check.rb +18 -0
  5. data/lib/ticket_evolution/brokerage.rb +5 -0
  6. data/lib/ticket_evolution/brokerages.rb +12 -0
  7. data/lib/ticket_evolution/clients/addresses.rb +18 -4
  8. data/lib/ticket_evolution/core/connection.rb +2 -0
  9. data/lib/ticket_evolution/{taken_ticket.rb → filtered_ticket.rb} +1 -1
  10. data/lib/ticket_evolution/filtered_tickets.rb +12 -0
  11. data/lib/ticket_evolution/order.rb +18 -0
  12. data/lib/ticket_evolution/orders/payments.rb +34 -0
  13. data/lib/ticket_evolution/orders.rb +37 -0
  14. data/lib/ticket_evolution/payment.rb +11 -0
  15. data/lib/ticket_evolution/search.rb +2 -1
  16. data/lib/ticket_evolution/shipment.rb +3 -0
  17. data/lib/ticket_evolution/shipments.rb +12 -0
  18. data/lib/ticket_evolution/ticket_group.rb +6 -0
  19. data/lib/ticket_evolution/ticket_groups.rb +11 -0
  20. data/lib/ticket_evolution/version.rb +1 -1
  21. data/lib/ticket_evolution.rb +3 -2
  22. data/spec/lib/ticket_evolution/clients/addresses_spec.rb +14 -3
  23. data/spec/lib/ticket_evolution/filtered_tickets_spec.rb +33 -0
  24. data/spec/lib/ticket_evolution/order_spec.rb +1 -0
  25. data/spec/lib/ticket_evolution/orders/payments_spec.rb +37 -0
  26. data/spec/lib/ticket_evolution/shipment_spec.rb +9 -0
  27. data/spec/lib/ticket_evolution/shipments_spec.rb +19 -0
  28. data/spec/lib/ticket_evolution/ticket_group_spec.rb +25 -1
  29. data/spec/lib/ticket_evolution/ticket_groups_spec.rb +20 -0
  30. data/ticketevolution-ruby.gemspec +1 -1
  31. metadata +84 -29
  32. data/lib/ticket_evolution/taken_tickets.rb +0 -5
  33. data/spec/lib/ticket_evolution/taken_tickets_spec.rb +0 -12
@@ -1,7 +1,7 @@
1
1
  source :gemcutter
2
2
 
3
3
  gem 'activesupport', '3.0.0'
4
- gem 'faraday', '0.7.3'
4
+ gem 'faraday', '0.8.0'
5
5
  gem 'yajl-ruby', '0.7.7'
6
6
  gem 'multi_json', '0.0.4'
7
7
  gem 'nokogiri', '1.4.3'
@@ -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 fedex_check
4
- plural_class.new(:parent => @connection,:id => self.id).fedex_check
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
@@ -1,4 +1,9 @@
1
1
  module TicketEvolution
2
2
  class Brokerage < Model
3
+
4
+ def tags(params)
5
+ plural_class.new(:parent => @connection,:id => self.id).tags(params)
6
+ end
7
+
3
8
  end
4
9
  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 fedex_check(id, params=nil, &handler)
11
- handler ||= method(:fedex_check_handler)
12
- request(:GET, "/#{id}/fedex_check", nil, &handler)
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 fedex_check_handler(response)
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
 
@@ -1,4 +1,4 @@
1
1
  module TicketEvolution
2
- class TakenTicket < Model
2
+ class FilteredTicket < Model
3
3
  end
4
4
  end
@@ -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
- collection.entries << "TicketEvolution::#{result['_type']}".
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))
@@ -1,3 +1,3 @@
1
1
  module TicketEvolution
2
- VERSION = '0.7.16'
2
+ VERSION = '0.7.23'
3
3
  end
@@ -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 'taken_ticket'
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 'taken_tickets'
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 "#fedex_check" do
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/fedex_check", params)
21
- instance.fedex_check(1)
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
@@ -5,6 +5,7 @@ describe TicketEvolution::Order do
5
5
  let(:klass) { TicketEvolution::Order }
6
6
 
7
7
  it_behaves_like "a ticket_evolution model"
8
+ it_behaves_like "a parental model"
8
9
 
9
10
  describe "custom methods" do
10
11
  let(:connection) { Fake.connection }
@@ -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.7.3'
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.16
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-08-16 00:00:00.000000000Z
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: &70352735386840 !ruby/object:Gem::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: *70352735386840
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: &70352735385460 !ruby/object:Gem::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.7.3
37
+ version: 0.8.0
33
38
  type: :runtime
34
39
  prerelease: false
35
- version_requirements: *70352735385460
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: &70352735383360 !ruby/object:Gem::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: *70352735383360
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: &70352735381480 !ruby/object:Gem::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: *70352735381480
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: &70352735380160 !ruby/object:Gem::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: *70352735380160
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: &70352735372340 !ruby/object:Gem::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: *70352735372340
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: &70352735368700 !ruby/object:Gem::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: *70352735368700
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: &70352735367840 !ruby/object:Gem::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: *70352735367840
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: &70352735366760 !ruby/object:Gem::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: *70352735366760
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: &70352735366140 !ruby/object:Gem::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: *70352735366140
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: 3060058504206132811
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.6
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,5 +0,0 @@
1
- module TicketEvolution
2
- class TakenTickets < Endpoint
3
- include TicketEvolution::Modules::List
4
- end
5
- end
@@ -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