ticketevolution-ruby 0.7.7 → 0.7.11
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/README.markdown +1 -1
- data/lib/ticket_evolution/clients/addresses.rb +1 -0
- data/lib/ticket_evolution/core/builder.rb +1 -3
- data/lib/ticket_evolution/core/connection.rb +0 -1
- data/lib/ticket_evolution/core/model.rb +10 -1
- data/lib/ticket_evolution/core/model/parental_behavior.rb +3 -6
- data/lib/ticket_evolution/modules/destroy.rb +2 -2
- data/lib/ticket_evolution/modules/update.rb +2 -2
- data/lib/ticket_evolution/version.rb +1 -1
- data/spec/fixtures/net/endpoints/clients/model.yml +124 -0
- data/spec/lib/ticket_evolution/core/builder_spec.rb +1 -3
- data/spec/lib/ticket_evolution/core/connection_spec.rb +6 -2
- data/spec/lib/ticket_evolution/core/model_spec.rb +48 -11
- metadata +25 -23
data/README.markdown
CHANGED
@@ -68,9 +68,7 @@ module TicketEvolution
|
|
68
68
|
end
|
69
69
|
|
70
70
|
def class_name_from_url(url)
|
71
|
-
url.
|
72
|
-
return "TicketEvolution::#{segment.capitalize}" if segment.split('')[-1] == 's'
|
73
|
-
end
|
71
|
+
return "TicketEvolution::#{url.match(/\/(\w+)\/\d+$/)[1].camelize}" rescue nil
|
74
72
|
end
|
75
73
|
end
|
76
74
|
end
|
@@ -78,7 +78,6 @@ module TicketEvolution
|
|
78
78
|
:verify => @config[:ssl_verify]
|
79
79
|
}
|
80
80
|
}
|
81
|
-
options[:ssl][:verify] = false unless @config[:mode].to_s == 'production' ## REMOVE ME WHEN SANDBOX SSL IS FIXED
|
82
81
|
options[:params] = params if method == :GET
|
83
82
|
options[:headers]["Accept"] = "application/vnd.ticketevolution.api+json; version=#{@config[:version]}" unless @config[:version] > 8
|
84
83
|
Faraday.new(self.uri(path), options) do |builder|
|
@@ -41,12 +41,21 @@ module TicketEvolution
|
|
41
41
|
end
|
42
42
|
end
|
43
43
|
|
44
|
+
def endpoint
|
45
|
+
parent = if scope.present?
|
46
|
+
scope[:class].constantize.new(:parent => @connection, :id => scope[:id])
|
47
|
+
else
|
48
|
+
@connection
|
49
|
+
end
|
50
|
+
plural_class.new({:id => id, :parent => parent})
|
51
|
+
end
|
52
|
+
|
44
53
|
private
|
45
54
|
|
46
55
|
def process_datum(v, k=nil)
|
47
56
|
if v.is_a? Hash and v['url'].present?
|
48
57
|
name = class_name_from_url(v['url'])
|
49
|
-
datum_exists?(name) ? singular_class(
|
58
|
+
datum_exists?(name) ? singular_class(name).new(v.merge({:connection => @connection})) : Datum.new(v)
|
50
59
|
else
|
51
60
|
super
|
52
61
|
end
|
@@ -9,14 +9,11 @@ module TicketEvolution
|
|
9
9
|
def process_datum(v, k = nil)
|
10
10
|
v = super
|
11
11
|
if k and v.is_a? Array and v.singleton_class.ancestors.first == Array
|
12
|
-
|
13
|
-
:parent =>
|
14
|
-
:id => self.id,
|
15
|
-
:parent => @connection
|
16
|
-
})
|
12
|
+
e = "#{self.plural_class_name}::#{k.to_s.chomp('=').camelize}".constantize.new({
|
13
|
+
:parent => endpoint
|
17
14
|
})
|
18
15
|
v.extend(TicketEvolution::EndpointBehavior)
|
19
|
-
v.endpoint =
|
16
|
+
v.endpoint = e
|
20
17
|
end
|
21
18
|
ensure
|
22
19
|
return v
|
@@ -1,10 +1,10 @@
|
|
1
1
|
module TicketEvolution
|
2
2
|
module Modules
|
3
|
-
module Destroy
|
3
|
+
module Destroy
|
4
4
|
def self.included(klass)
|
5
5
|
Class.new{extend SingularClass}.singular_class(klass.name).send(:include, Module.new{
|
6
6
|
def destroy
|
7
|
-
response =
|
7
|
+
response = endpoint.try(:destroy)
|
8
8
|
if response === true
|
9
9
|
self.freeze
|
10
10
|
end
|
@@ -4,13 +4,13 @@ module TicketEvolution
|
|
4
4
|
def self.included(klass)
|
5
5
|
Class.new{extend SingularClass}.singular_class(klass.name).send(:include, Module.new{
|
6
6
|
def update_attributes(params)
|
7
|
-
handle_update_response(
|
7
|
+
handle_update_response(endpoint.update(params))
|
8
8
|
end
|
9
9
|
|
10
10
|
def save
|
11
11
|
atts = self.attributes
|
12
12
|
id = atts.delete(:id)
|
13
|
-
handle_update_response(
|
13
|
+
handle_update_response(endpoint.update(atts))
|
14
14
|
end
|
15
15
|
|
16
16
|
def handle_update_response(response)
|
@@ -0,0 +1,124 @@
|
|
1
|
+
---
|
2
|
+
- !ruby/struct:VCR::HTTPInteraction
|
3
|
+
request: !ruby/struct:VCR::Request
|
4
|
+
method: :get
|
5
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients?per_page=1
|
6
|
+
body: !!null
|
7
|
+
headers:
|
8
|
+
x-signature:
|
9
|
+
- CVHhWgZb27YMNhFegxDYpGpJJ0dN4Cjf7w4am0cYSmM=
|
10
|
+
x-token:
|
11
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
12
|
+
accept:
|
13
|
+
- application/vnd.ticketevolution.api+json; version=8
|
14
|
+
accept-encoding:
|
15
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
16
|
+
response: !ruby/struct:VCR::Response
|
17
|
+
status: !ruby/struct:VCR::ResponseStatus
|
18
|
+
code: 200
|
19
|
+
message: OK
|
20
|
+
headers:
|
21
|
+
content-type:
|
22
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
23
|
+
transfer-encoding:
|
24
|
+
- chunked
|
25
|
+
status:
|
26
|
+
- '200'
|
27
|
+
x-powered-by:
|
28
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
29
|
+
cache-control:
|
30
|
+
- max-age=0, private, must-revalidate
|
31
|
+
x-runtime:
|
32
|
+
- '0.040684'
|
33
|
+
x-ua-compatible:
|
34
|
+
- IE=Edge,chrome=1
|
35
|
+
etag:
|
36
|
+
- ! '"4b8d246e7524197509098486fec1b9a6"'
|
37
|
+
server:
|
38
|
+
- nginx/1.0.14 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
39
|
+
body: ! '{"per_page":1,"total_entries":127,"clients":[{"phone_numbers":[{"extension":"999","id":"333","country_code":null,"label":null,"number":"(301)555-1234"}],"updated_at":"2012-03-20T18:06:05Z","addresses":[],"office":{"brokerage":{"name":"Ticket
|
40
|
+
Evolution","abbreviation":"Ticket Evolution","id":"61","url":"/brokerages/61"},"name":"Jersey
|
41
|
+
City","id":"6","url":"/offices/6"},"company":null,"name":"Main Office","url":"/clients/3","id":"3","tags":["vip","promotion","best
|
42
|
+
seller"],"email_addresses":[{"id":"309","address":"tyrique@brown.info","label":null}]}],"current_page":1}'
|
43
|
+
http_version: '1.1'
|
44
|
+
- !ruby/struct:VCR::HTTPInteraction
|
45
|
+
request: !ruby/struct:VCR::Request
|
46
|
+
method: :get
|
47
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients?per_page=1
|
48
|
+
body: !!null
|
49
|
+
headers:
|
50
|
+
x-signature:
|
51
|
+
- CVHhWgZb27YMNhFegxDYpGpJJ0dN4Cjf7w4am0cYSmM=
|
52
|
+
x-token:
|
53
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
54
|
+
accept:
|
55
|
+
- application/vnd.ticketevolution.api+json; version=8
|
56
|
+
accept-encoding:
|
57
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
58
|
+
response: !ruby/struct:VCR::Response
|
59
|
+
status: !ruby/struct:VCR::ResponseStatus
|
60
|
+
code: 200
|
61
|
+
message: OK
|
62
|
+
headers:
|
63
|
+
content-type:
|
64
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
65
|
+
transfer-encoding:
|
66
|
+
- chunked
|
67
|
+
status:
|
68
|
+
- '200'
|
69
|
+
x-powered-by:
|
70
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
71
|
+
cache-control:
|
72
|
+
- max-age=0, private, must-revalidate
|
73
|
+
x-runtime:
|
74
|
+
- '0.037819'
|
75
|
+
x-ua-compatible:
|
76
|
+
- IE=Edge,chrome=1
|
77
|
+
etag:
|
78
|
+
- ! '"4b8d246e7524197509098486fec1b9a6"'
|
79
|
+
server:
|
80
|
+
- nginx/1.0.14 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
81
|
+
body: ! '{"per_page":1,"total_entries":127,"clients":[{"phone_numbers":[{"extension":"999","id":"333","country_code":null,"label":null,"number":"(301)555-1234"}],"updated_at":"2012-03-20T18:06:05Z","addresses":[],"office":{"brokerage":{"name":"Ticket
|
82
|
+
Evolution","abbreviation":"Ticket Evolution","id":"61","url":"/brokerages/61"},"name":"Jersey
|
83
|
+
City","id":"6","url":"/offices/6"},"company":null,"name":"Main Office","url":"/clients/3","id":"3","tags":["vip","promotion","best
|
84
|
+
seller"],"email_addresses":[{"id":"309","address":"tyrique@brown.info","label":null}]}],"current_page":1}'
|
85
|
+
http_version: '1.1'
|
86
|
+
- !ruby/struct:VCR::HTTPInteraction
|
87
|
+
request: !ruby/struct:VCR::Request
|
88
|
+
method: :get
|
89
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients/3/email_addresses/309
|
90
|
+
body: !!null
|
91
|
+
headers:
|
92
|
+
x-signature:
|
93
|
+
- kTRDmz5sd6qjIp3xziYMJDOvWwvyVkUk7LNcO/kkJxU=
|
94
|
+
x-token:
|
95
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
96
|
+
accept:
|
97
|
+
- application/vnd.ticketevolution.api+json; version=8
|
98
|
+
accept-encoding:
|
99
|
+
- gzip;q=1.0,deflate;q=0.6,identity;q=0.3
|
100
|
+
response: !ruby/struct:VCR::Response
|
101
|
+
status: !ruby/struct:VCR::ResponseStatus
|
102
|
+
code: 200
|
103
|
+
message: OK
|
104
|
+
headers:
|
105
|
+
content-type:
|
106
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
107
|
+
transfer-encoding:
|
108
|
+
- chunked
|
109
|
+
status:
|
110
|
+
- '200'
|
111
|
+
x-powered-by:
|
112
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
113
|
+
cache-control:
|
114
|
+
- max-age=0, private, must-revalidate
|
115
|
+
x-runtime:
|
116
|
+
- '0.053443'
|
117
|
+
x-ua-compatible:
|
118
|
+
- IE=Edge,chrome=1
|
119
|
+
etag:
|
120
|
+
- ! '"df3f788d26af79b5968756324cc1b647"'
|
121
|
+
server:
|
122
|
+
- nginx/1.0.14 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
123
|
+
body: ! '{"updated_at":"2012-01-06T19:41:45Z","label":null,"address":"tyrique@brown.info","url":"/clients/3/email_addresses/309","id":"309"}'
|
124
|
+
http_version: '1.1'
|
@@ -65,11 +65,9 @@ describe TicketEvolution::Builder do
|
|
65
65
|
end
|
66
66
|
|
67
67
|
describe "#class_name_from_url" do
|
68
|
-
it "extracts a TicketEvolution class name from a url
|
68
|
+
it "extracts a TicketEvolution class name from a url" do
|
69
69
|
{
|
70
|
-
'/events' => 'TicketEvolution::Events',
|
71
70
|
'/events/12' => 'TicketEvolution::Events',
|
72
|
-
'/events/deleted' => 'TicketEvolution::Events',
|
73
71
|
'/events/21/venues/12' => 'TicketEvolution::Venues'
|
74
72
|
}.each do |given, expected|
|
75
73
|
instance.send(:class_name_from_url, given).should == expected
|
@@ -76,9 +76,13 @@ describe TicketEvolution::Connection do
|
|
76
76
|
end
|
77
77
|
|
78
78
|
context "if not passed" do
|
79
|
+
let(:options) {
|
80
|
+
opts = valid_options.clone
|
81
|
+
opts.delete(:ssl_verify)
|
82
|
+
opts
|
83
|
+
}
|
79
84
|
it "sets the request object to ssl verify true" do
|
80
|
-
|
81
|
-
connection = klass.new(valid_options)
|
85
|
+
connection = klass.new(options)
|
82
86
|
request = connection.build_request(:GET, '/')
|
83
87
|
request.ssl[:verify].should be_true
|
84
88
|
end
|
@@ -3,8 +3,8 @@ require 'spec_helper'
|
|
3
3
|
describe TicketEvolution::Model do
|
4
4
|
let(:klass) { TicketEvolution::Model }
|
5
5
|
let(:sample_klass) { TicketEvolution::Models::Samples }
|
6
|
-
let(:instance) { klass.new({:id => 1, :connection =>
|
7
|
-
let(:
|
6
|
+
let(:instance) { klass.new({:id => 1, :connection => fake_connection}) }
|
7
|
+
let(:fake_connection) { Fake.connection }
|
8
8
|
|
9
9
|
subject { klass }
|
10
10
|
|
@@ -12,7 +12,7 @@ describe TicketEvolution::Model do
|
|
12
12
|
|
13
13
|
describe "#initialize" do
|
14
14
|
context "when it receives an instance of connection" do
|
15
|
-
subject { klass.new({:connection =>
|
15
|
+
subject { klass.new({:connection => fake_connection}) }
|
16
16
|
|
17
17
|
it "should not error" do
|
18
18
|
expect { subject }.to_not raise_error
|
@@ -31,7 +31,7 @@ describe TicketEvolution::Model do
|
|
31
31
|
end
|
32
32
|
|
33
33
|
context "when it detects a scope in the url" do
|
34
|
-
let(:instance) { klass.new({:connection =>
|
34
|
+
let(:instance) { klass.new({:connection => fake_connection, 'url' => '/clients/234/addresses/123'}) }
|
35
35
|
let(:scope) { '/clients/234' }
|
36
36
|
|
37
37
|
it "should set @scope" do
|
@@ -41,7 +41,7 @@ describe TicketEvolution::Model do
|
|
41
41
|
|
42
42
|
context "when it does not detect a scope in the url" do
|
43
43
|
it "should not error" do
|
44
|
-
expect { klass.new({:connection =>
|
44
|
+
expect { klass.new({:connection => fake_connection}) }.to_not raise_error
|
45
45
|
end
|
46
46
|
end
|
47
47
|
end
|
@@ -59,8 +59,8 @@ describe TicketEvolution::Model do
|
|
59
59
|
end
|
60
60
|
|
61
61
|
it "should create an appropriate builder object" do
|
62
|
-
|
63
|
-
|
62
|
+
klass.new(:id => 1, :connection => fake_connection).send(
|
63
|
+
:process_datum, hash).should be_a TicketEvolution::Brokerage
|
64
64
|
end
|
65
65
|
end
|
66
66
|
|
@@ -98,6 +98,43 @@ describe TicketEvolution::Model do
|
|
98
98
|
end
|
99
99
|
end
|
100
100
|
|
101
|
+
describe "#endpoint" do
|
102
|
+
use_vcr_cassette "endpoints/clients/model", :record => :new_episodes
|
103
|
+
|
104
|
+
let(:instance) { connection.clients.list(:per_page => 1).first }
|
105
|
+
|
106
|
+
it "should return an endpoint object" do
|
107
|
+
instance.endpoint.should be_a_kind_of TicketEvolution::Endpoint
|
108
|
+
end
|
109
|
+
|
110
|
+
it "should be a type of #plural_class" do
|
111
|
+
instance.endpoint.class.should == instance.plural_class
|
112
|
+
end
|
113
|
+
|
114
|
+
context "when this model is a child" do
|
115
|
+
context "which was generated by a call to it's parent" do
|
116
|
+
let(:child) { instance.email_addresses.first }
|
117
|
+
it "should return an endpoint whose parent is another endpoint" do
|
118
|
+
pending "adding urls to all second layer returns in the api"
|
119
|
+
child.endpoint.parent.should be_a TicketEvolution::Clients
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
123
|
+
context "which was generated by a call to the api" do
|
124
|
+
let(:child) { instance.email_addresses.show(instance.email_addresses.first.id) }
|
125
|
+
it "should return an endpoint whose parent is another endpoint" do
|
126
|
+
child.endpoint.parent.should be_a TicketEvolution::Clients
|
127
|
+
end
|
128
|
+
end
|
129
|
+
end
|
130
|
+
|
131
|
+
context "when this model is not a child" do
|
132
|
+
it "should return an endpoint whose parent is a connection" do
|
133
|
+
instance.endpoint.parent.should be_a TicketEvolution::Connection
|
134
|
+
end
|
135
|
+
end
|
136
|
+
end
|
137
|
+
|
101
138
|
describe "#scope" do
|
102
139
|
context "when @scope is set" do
|
103
140
|
before { instance.instance_eval{ @scope = '/events/1' } }
|
@@ -120,7 +157,7 @@ describe TicketEvolution::Model do
|
|
120
157
|
let(:expected) { HashWithIndifferentAccess.new(params) }
|
121
158
|
|
122
159
|
it "should return the set attributes" do
|
123
|
-
klass.new(params.merge(:connection =>
|
160
|
+
klass.new(params.merge(:connection => fake_connection)).attributes.should == expected
|
124
161
|
end
|
125
162
|
end
|
126
163
|
|
@@ -130,7 +167,7 @@ describe TicketEvolution::Model do
|
|
130
167
|
let(:expected) { HashWithIndifferentAccess.new(initial.merge(params)) }
|
131
168
|
|
132
169
|
it "should set the passed attributes" do
|
133
|
-
instance = klass.new(initial.merge(:connection =>
|
170
|
+
instance = klass.new(initial.merge(:connection => fake_connection))
|
134
171
|
instance.attributes = params
|
135
172
|
instance.attributes.should == expected
|
136
173
|
end
|
@@ -144,11 +181,11 @@ describe TicketEvolution::Model do
|
|
144
181
|
end
|
145
182
|
|
146
183
|
context "when the missing class is found" do
|
147
|
-
before { @endpoint = instance.plural_class.new({:id => instance.id, :parent =>
|
184
|
+
before { @endpoint = instance.plural_class.new({:id => instance.id, :parent => fake_connection}) }
|
148
185
|
|
149
186
|
it "should instantiate a new instance of the requested endpoint, passing a new instance of it's endpoint class as parent" do
|
150
187
|
instance.plural_class.should_receive(:new).with({
|
151
|
-
:parent =>
|
188
|
+
:parent => fake_connection,
|
152
189
|
:id => instance.id
|
153
190
|
}).and_return(@endpoint)
|
154
191
|
sample_klass.should_receive(:new).with({:parent => @endpoint})
|
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.11
|
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-05-
|
12
|
+
date: 2012-05-11 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70350101834760 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.0.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70350101834760
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: faraday
|
27
|
-
requirement: &
|
27
|
+
requirement: &70350101833400 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.7.3
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70350101833400
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: yajl-ruby
|
38
|
-
requirement: &
|
38
|
+
requirement: &70350101830920 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: 0.7.7
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70350101830920
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: multi_json
|
49
|
-
requirement: &
|
49
|
+
requirement: &70350101829300 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,10 +54,10 @@ dependencies:
|
|
54
54
|
version: 0.0.4
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70350101829300
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: nokogiri
|
60
|
-
requirement: &
|
60
|
+
requirement: &70350101827660 !ruby/object:Gem::Requirement
|
61
61
|
none: false
|
62
62
|
requirements:
|
63
63
|
- - ! '>='
|
@@ -65,10 +65,10 @@ dependencies:
|
|
65
65
|
version: 1.4.3
|
66
66
|
type: :runtime
|
67
67
|
prerelease: false
|
68
|
-
version_requirements: *
|
68
|
+
version_requirements: *70350101827660
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &70350101826680 !ruby/object:Gem::Requirement
|
72
72
|
none: false
|
73
73
|
requirements:
|
74
74
|
- - ! '>='
|
@@ -76,10 +76,10 @@ dependencies:
|
|
76
76
|
version: 2.7.1
|
77
77
|
type: :development
|
78
78
|
prerelease: false
|
79
|
-
version_requirements: *
|
79
|
+
version_requirements: *70350101826680
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: vcr
|
82
|
-
requirement: &
|
82
|
+
requirement: &70350101825280 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - <
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '2'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70350101825280
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: webmock
|
93
|
-
requirement: &
|
93
|
+
requirement: &70350101824300 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -101,10 +101,10 @@ dependencies:
|
|
101
101
|
version: 1.8.0
|
102
102
|
type: :development
|
103
103
|
prerelease: false
|
104
|
-
version_requirements: *
|
104
|
+
version_requirements: *70350101824300
|
105
105
|
- !ruby/object:Gem::Dependency
|
106
106
|
name: awesome_print
|
107
|
-
requirement: &
|
107
|
+
requirement: &70350101823420 !ruby/object:Gem::Requirement
|
108
108
|
none: false
|
109
109
|
requirements:
|
110
110
|
- - ! '>='
|
@@ -112,10 +112,10 @@ dependencies:
|
|
112
112
|
version: '0'
|
113
113
|
type: :development
|
114
114
|
prerelease: false
|
115
|
-
version_requirements: *
|
115
|
+
version_requirements: *70350101823420
|
116
116
|
- !ruby/object:Gem::Dependency
|
117
117
|
name: rake
|
118
|
-
requirement: &
|
118
|
+
requirement: &70350101822360 !ruby/object:Gem::Requirement
|
119
119
|
none: false
|
120
120
|
requirements:
|
121
121
|
- - ! '>='
|
@@ -123,7 +123,7 @@ dependencies:
|
|
123
123
|
version: '0'
|
124
124
|
type: :development
|
125
125
|
prerelease: false
|
126
|
-
version_requirements: *
|
126
|
+
version_requirements: *70350101822360
|
127
127
|
description: Provides Ruby wrappers for the Ticket Evolution API (http://developer.ticketevolution.com).
|
128
128
|
Ticket Evolution is the industry leader in software for the Ticket Broker industry.
|
129
129
|
email:
|
@@ -228,6 +228,7 @@ files:
|
|
228
228
|
- spec/fixtures/net/endpoints/clients.yml
|
229
229
|
- spec/fixtures/net/endpoints/clients/create.yml
|
230
230
|
- spec/fixtures/net/endpoints/clients/list.yml
|
231
|
+
- spec/fixtures/net/endpoints/clients/model.yml
|
231
232
|
- spec/fixtures/net/endpoints/clients/update_fail.yml
|
232
233
|
- spec/fixtures/net/endpoints/clients/update_success.yml
|
233
234
|
- spec/fixtures/net/endpoints/company/destroy_error.yml
|
@@ -323,7 +324,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
323
324
|
version: '0'
|
324
325
|
segments:
|
325
326
|
- 0
|
326
|
-
hash:
|
327
|
+
hash: -3147042286825840558
|
327
328
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
328
329
|
none: false
|
329
330
|
requirements:
|
@@ -345,6 +346,7 @@ test_files:
|
|
345
346
|
- spec/fixtures/net/endpoints/clients.yml
|
346
347
|
- spec/fixtures/net/endpoints/clients/create.yml
|
347
348
|
- spec/fixtures/net/endpoints/clients/list.yml
|
349
|
+
- spec/fixtures/net/endpoints/clients/model.yml
|
348
350
|
- spec/fixtures/net/endpoints/clients/update_fail.yml
|
349
351
|
- spec/fixtures/net/endpoints/clients/update_success.yml
|
350
352
|
- spec/fixtures/net/endpoints/company/destroy_error.yml
|