ticketevolution-ruby 0.6.2 → 0.6.4
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/ticket_evolution/core/connection.rb +14 -9
- data/lib/ticket_evolution/core/endpoint/request_handler.rb +2 -1
- data/lib/ticket_evolution/core/model.rb +5 -6
- data/lib/ticket_evolution/version.rb +1 -1
- data/lib/ticket_evolution.rb +0 -1
- data/spec/fixtures/net/core/connection.yml +4 -4
- data/spec/fixtures/net/endpoints/clients.yml +246 -0
- data/spec/lib/ticket_evolution/client_spec.rb +14 -0
- data/spec/lib/ticket_evolution/core/connection_spec.rb +48 -10
- data/spec/shared_examples/endpoints/class.rb +7 -0
- metadata +23 -23
@@ -47,6 +47,14 @@ module TicketEvolution
|
|
47
47
|
end.join
|
48
48
|
end
|
49
49
|
|
50
|
+
def uri(path)
|
51
|
+
parts = [].tap do |parts|
|
52
|
+
parts << self.url
|
53
|
+
parts << "/V#{@config[:version]}" if @config[:version] > 8
|
54
|
+
parts << path
|
55
|
+
end.join
|
56
|
+
end
|
57
|
+
|
50
58
|
def sign(method, path, content = nil)
|
51
59
|
Base64.encode64(
|
52
60
|
OpenSSL::HMAC.digest(
|
@@ -57,8 +65,7 @@ module TicketEvolution
|
|
57
65
|
end
|
58
66
|
|
59
67
|
def build_request(method, path, params = nil)
|
60
|
-
|
61
|
-
Curl::Easy.new(generate_url(method, uri, params)) do |request|
|
68
|
+
Curl::Easy.new(generate_url(method, self.uri(path), params)) do |request|
|
62
69
|
if @config.has_key?(:ssl_verify)
|
63
70
|
request.ssl_verify_host = @config[:ssl_verify]
|
64
71
|
request.ssl_verify_peer = @config[:ssl_verify]
|
@@ -67,8 +74,8 @@ module TicketEvolution
|
|
67
74
|
request.on_debug { |type, data| self.logger << data }
|
68
75
|
end
|
69
76
|
request.post_body = post_body(params) unless method == :GET
|
70
|
-
request.headers["Accept"] = "application/vnd.ticketevolution.api+json; version=#{@config[:version]}"
|
71
|
-
request.headers["X-Signature"] = sign(method, uri, params)
|
77
|
+
request.headers["Accept"] = "application/vnd.ticketevolution.api+json; version=#{@config[:version]}" unless @config[:version] > 8
|
78
|
+
request.headers["X-Signature"] = sign(method, self.uri(path), params)
|
72
79
|
request.headers["X-Token"] = @config[:token]
|
73
80
|
end
|
74
81
|
end
|
@@ -92,17 +99,15 @@ module TicketEvolution
|
|
92
99
|
end
|
93
100
|
end
|
94
101
|
|
95
|
-
def process_params(method,
|
96
|
-
|
102
|
+
def process_params(method, uri, params)
|
103
|
+
"#{uri}?#{if params.present?
|
97
104
|
case method
|
98
105
|
when :GET
|
99
106
|
params.to_query
|
100
107
|
else
|
101
108
|
post_body(params)
|
102
109
|
end
|
103
|
-
end
|
104
|
-
|
105
|
-
"#{URI.join(url, path).to_s}?" + suffix.to_s
|
110
|
+
end}"
|
106
111
|
end
|
107
112
|
end
|
108
113
|
end
|
@@ -13,6 +13,7 @@ module TicketEvolution
|
|
13
13
|
401 => ["Unauthorized","Returned when the authentication credentials are invalid."],
|
14
14
|
404 => ["Not Found","The requested resource could not be located."],
|
15
15
|
406 => ["Not Acceptable","The requested content type or version is invalid."],
|
16
|
+
422 => ["Unprocessable Entity","Returned when the application can't processes the data."],
|
16
17
|
500 => ["Internal Server Error","Used a general error response for processing errors or other issues with the web service. "],
|
17
18
|
503 => ["Service Unavailable","Returned when the API service is temporarily unavailable. This could also indicate that the rate limit for the given token has been reached. If this status is received, the request should be retried."]
|
18
19
|
}
|
@@ -38,7 +39,7 @@ module TicketEvolution
|
|
38
39
|
resp.header = response.header_str
|
39
40
|
resp.response_code = response.response_code
|
40
41
|
resp.body = MultiJson.decode(response.body_str).merge({:connection => self.connection})
|
41
|
-
resp.server_message = CODES[response.response_code].last
|
42
|
+
resp.server_message = (CODES[response.response_code] || ['Unknown Error']).last
|
42
43
|
end
|
43
44
|
end
|
44
45
|
end
|
@@ -43,16 +43,15 @@ module TicketEvolution
|
|
43
43
|
|
44
44
|
def new_ostruct_member(name)
|
45
45
|
begin
|
46
|
-
|
47
|
-
name = super(name)
|
46
|
+
name = super
|
48
47
|
class << self; self; end.class_eval do
|
49
48
|
define_method(name) do
|
50
49
|
begin
|
51
50
|
obj = @table[name]
|
52
|
-
obj.
|
53
|
-
def obj.method_missing(method, *args)
|
54
|
-
|
55
|
-
|
51
|
+
def obj.endpoint=(e); @endpoint = e; end
|
52
|
+
def obj.method_missing(method, *args); @endpoint.send(method, *args); end
|
53
|
+
named_endpoint = "#{self.plural_class_name}::#{name.to_s.camelize}".constantize
|
54
|
+
obj.endpoint = named_endpoint.new(:parent => self.plural_class.new(:id => self.id, :parent => @connection))
|
56
55
|
obj
|
57
56
|
rescue
|
58
57
|
@table[name]
|
data/lib/ticket_evolution.rb
CHANGED
@@ -86,7 +86,7 @@
|
|
86
86
|
accept:
|
87
87
|
- application/vnd.ticketevolution.api+json; version=8
|
88
88
|
x-signature:
|
89
|
-
-
|
89
|
+
- F/qzyf3TZi71VSZ7GtP9yfgdfB/LFGKIqup6s5GoQ8E=
|
90
90
|
x-token:
|
91
91
|
- 621e8a816a4e31a4dcf9f450e6de150f
|
92
92
|
response: !ruby/struct:VCR::Response
|
@@ -107,7 +107,7 @@
|
|
107
107
|
location:
|
108
108
|
- http://developer.ticketevolution.com
|
109
109
|
x-runtime:
|
110
|
-
- '0.
|
110
|
+
- '0.001958'
|
111
111
|
content-length:
|
112
112
|
- '102'
|
113
113
|
server:
|
@@ -123,7 +123,7 @@
|
|
123
123
|
accept:
|
124
124
|
- application/vnd.ticketevolution.api+json; version=8
|
125
125
|
x-signature:
|
126
|
-
-
|
126
|
+
- F/qzyf3TZi71VSZ7GtP9yfgdfB/LFGKIqup6s5GoQ8E=
|
127
127
|
x-token:
|
128
128
|
- 621e8a816a4e31a4dcf9f450e6de150f
|
129
129
|
response: !ruby/struct:VCR::Response
|
@@ -144,7 +144,7 @@
|
|
144
144
|
location:
|
145
145
|
- http://developer.ticketevolution.com
|
146
146
|
x-runtime:
|
147
|
-
- '0.
|
147
|
+
- '0.001958'
|
148
148
|
content-length:
|
149
149
|
- '102'
|
150
150
|
server:
|
@@ -241,3 +241,249 @@
|
|
241
241
|
body: ! '{"addresses":[],"phone_numbers":[],"email_addresses":[],"name":"Comish
|
242
242
|
Gordon","url":"/clients/2275","id":"2275","updated_at":"2012-01-24T22:49:11Z"}'
|
243
243
|
http_version: '1.1'
|
244
|
+
- !ruby/struct:VCR::HTTPInteraction
|
245
|
+
request: !ruby/struct:VCR::Request
|
246
|
+
method: :get
|
247
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients?
|
248
|
+
body: !!null
|
249
|
+
headers:
|
250
|
+
accept:
|
251
|
+
- application/vnd.ticketevolution.api+json; version=8
|
252
|
+
x-signature:
|
253
|
+
- oHMe9KFgCudRW9XqDC2pfrbw4KkBje3M2DftUa8xbGQ=
|
254
|
+
x-token:
|
255
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
256
|
+
response: !ruby/struct:VCR::Response
|
257
|
+
status: !ruby/struct:VCR::ResponseStatus
|
258
|
+
code: 200
|
259
|
+
message: OK
|
260
|
+
headers:
|
261
|
+
content-type:
|
262
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
263
|
+
transfer-encoding:
|
264
|
+
- chunked
|
265
|
+
connection:
|
266
|
+
- keep-alive
|
267
|
+
status:
|
268
|
+
- '200'
|
269
|
+
x-powered-by:
|
270
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
271
|
+
etag:
|
272
|
+
- ! '"5bb5dd0bc5c9af9a2b7f7a7376a159e8"'
|
273
|
+
x-ua-compatible:
|
274
|
+
- IE=Edge,chrome=1
|
275
|
+
x-runtime:
|
276
|
+
- '1.179774'
|
277
|
+
cache-control:
|
278
|
+
- max-age=0, private, must-revalidate
|
279
|
+
strict-transport-security:
|
280
|
+
- max-age=31536000
|
281
|
+
server:
|
282
|
+
- nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
283
|
+
body: ! '{"current_page":1,"per_page":100,"total_entries":27,"clients":[{"email_addresses":[{"label":null,"address":"tyrique@brown.info"}],"phone_numbers":[{"extension":"999","label":null,"country_code":null,"number":"(301)555-1234"}],"url":"/clients/3","updated_at":"2011-08-11T03:12:43Z","name":"Main
|
284
|
+
Office","addresses":[{"latitude":null,"postal_code":"68577","longitude":null,"country_code":"AI","name":null,"locality":"West
|
285
|
+
Lambertfort","extended_address":null,"region":"MN","street_address":"035 McCullough
|
286
|
+
Manor"}],"office":{"url":"/offices/6","brokerage":{"abbreviation":"Ticket Evolution","url":"/brokerages/61","name":"Ticket
|
287
|
+
Evolution","id":"61"},"name":"Main Office","id":"6"},"id":"3"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/1535","updated_at":"2011-08-29T17:08:43Z","name":"Main
|
288
|
+
Office","addresses":[{"latitude":null,"postal_code":"58008-6072","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"125
|
289
|
+
Street"},{"latitude":null,"postal_code":null,"longitude":null,"country_code":null,"name":null,"locality":null,"extended_address":null,"region":null,"street_address":null}],"office":{"url":"/offices/1116","brokerage":{"abbreviation":"Tevo","url":"/brokerages/630","name":"SeatGeek","id":"630"},"name":"Main
|
290
|
+
Office","id":"1116"},"id":"1535"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2022","updated_at":"2011-12-21T19:26:18Z","name":"Will
|
291
|
+
Smith","addresses":[],"id":"2022"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2094","updated_at":"2011-12-30T21:18:39Z","name":"Ms
|
292
|
+
Rogers","addresses":[],"id":"2094"},{"email_addresses":[{"label":"work","address":"moe.szyslak@moestavern.com"},{"label":"home","address":"moeissexxxy69@compuserve.com"}],"phone_numbers":[{"extension":null,"label":"work
|
293
|
+
fax","country_code":null,"number":"243-6698"},{"extension":null,"label":"work","country_code":null,"number":"243-6697"}],"url":"/clients/2098","updated_at":"2012-01-06T04:30:46Z","name":"Morris
|
294
|
+
“Moe” Szyslak","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
295
|
+
Evergreen Terrace"}],"id":"2098"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2271","updated_at":"2012-01-24T20:27:04Z","name":"Brad
|
296
|
+
Tatum","addresses":[],"id":"2271"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2273","updated_at":"2012-01-24T22:23:43Z","name":"jimmy
|
297
|
+
buffet","addresses":[],"id":"2273"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2274","updated_at":"2012-01-24T22:30:24Z","name":"Comish
|
298
|
+
Gordon","addresses":[],"id":"2274"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2275","updated_at":"2012-01-24T22:49:11Z","name":"Comish
|
299
|
+
Gordon","addresses":[],"id":"2275"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2302","updated_at":"2012-01-27T10:16:50Z","name":"John
|
300
|
+
Raj","addresses":[],"id":"2302"},{"email_addresses":[{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"[EMAILLABEL]","address":"[EMAILADDRESS]"}],"phone_numbers":[{"extension":null,"label":"Office","country_code":null,"number":"877-326-7785"},{"extension":null,"label":"Office","country_code":null,"number":"877-326-7785"}],"url":"/clients/2303","updated_at":"2012-01-27T10:45:12Z","name":"John
|
301
|
+
Raj","addresses":[],"id":"2303"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2307","updated_at":"2012-01-28T06:32:37Z","name":"john","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
302
|
+
Evergreen Terrace"}],"id":"2307"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2308","updated_at":"2012-01-28T06:44:34Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
303
|
+
Evergreen Terrace"}],"office":{"url":"/offices/2","brokerage":{"abbreviation":"Circle
|
304
|
+
City","url":"/brokerages/86","name":"Circle City Tickets","id":"86"},"name":"Downtown
|
305
|
+
Office","id":"2"},"id":"2308"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"},{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2310","updated_at":"2012-01-28T07:24:57Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
306
|
+
Evergreen Terrace"}],"office":{"url":"/offices/970","brokerage":{"abbreviation":"Hello","url":"/brokerages/434","name":"Hello
|
307
|
+
Tickets","id":"434"},"name":"Main Office","id":"970"},"id":"2310"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2323","updated_at":"2012-01-31T05:11:02Z","name":"JohnRaj","addresses":[],"id":"2323"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2324","updated_at":"2012-01-31T05:38:18Z","name":"JohnRaj","addresses":[],"id":"2324"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2325","updated_at":"2012-01-31T05:42:28Z","name":"David","addresses":[],"id":"2325"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2326","updated_at":"2012-01-31T05:47:02Z","name":"David
|
308
|
+
Billy","addresses":[],"id":"2326"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2327","updated_at":"2012-01-31T06:01:19Z","name":"David
|
309
|
+
Billy","addresses":[],"id":"2327"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2328","updated_at":"2012-01-31T06:06:34Z","name":"David
|
310
|
+
Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
311
|
+
Evergreen Terrace"}],"id":"2328"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2329","updated_at":"2012-01-31T07:31:32Z","name":"JohnRaj","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
312
|
+
Evergreen Terrace"}],"id":"2329"},{"email_addresses":[{"label":"Welkins","address":"Welkins@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Welkins","country_code":null,"number":"333-444-4444"}],"url":"/clients/2330","updated_at":"2012-01-31T07:38:31Z","name":"Welkins","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
313
|
+
Evergreen Terrace"}],"id":"2330"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2332","updated_at":"2012-01-31T08:03:15Z","name":"JohnRaj","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
314
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1594","brokerage":{"abbreviation":"Ticket
|
315
|
+
Logic","url":"/brokerages/1609","name":"Ticket Logic Pty Ltd","id":"1609"},"name":"Ticket
|
316
|
+
Logic","id":"1594"},"id":"2332"},{"email_addresses":[{"label":"Welkins","address":"Welkins@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Welkins","country_code":null,"number":"333-444-4444"}],"url":"/clients/2333","updated_at":"2012-01-31T08:08:57Z","name":"Welkins","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
317
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1593","brokerage":{"abbreviation":"Dare
|
318
|
+
Ticket","url":"/brokerages/1608","name":"Dare Ticket","id":"1608"},"name":"Main
|
319
|
+
Office","id":"1593"},"id":"2333"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2355","updated_at":"2012-02-08T05:13:58Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
320
|
+
Evergreen Terrace"}],"id":"2355"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2356","updated_at":"2012-02-08T05:30:28Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
321
|
+
Evergreen Terrace"}],"id":"2356"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2359","updated_at":"2012-02-10T06:02:34Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
322
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1583","brokerage":{"abbreviation":"Fanprice","url":"/brokerages/1600","name":"Fanprice,
|
323
|
+
Inc.","id":"1600"},"name":"Main Office","id":"1583"},"id":"2359"}]}'
|
324
|
+
http_version: '1.1'
|
325
|
+
- !ruby/struct:VCR::HTTPInteraction
|
326
|
+
request: !ruby/struct:VCR::Request
|
327
|
+
method: :get
|
328
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients?
|
329
|
+
body: !!null
|
330
|
+
headers:
|
331
|
+
accept:
|
332
|
+
- application/vnd.ticketevolution.api+json; version=8
|
333
|
+
x-signature:
|
334
|
+
- oHMe9KFgCudRW9XqDC2pfrbw4KkBje3M2DftUa8xbGQ=
|
335
|
+
x-token:
|
336
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
337
|
+
response: !ruby/struct:VCR::Response
|
338
|
+
status: !ruby/struct:VCR::ResponseStatus
|
339
|
+
code: 200
|
340
|
+
message: OK
|
341
|
+
headers:
|
342
|
+
content-type:
|
343
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
344
|
+
transfer-encoding:
|
345
|
+
- chunked
|
346
|
+
connection:
|
347
|
+
- keep-alive
|
348
|
+
status:
|
349
|
+
- '200'
|
350
|
+
x-powered-by:
|
351
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
352
|
+
etag:
|
353
|
+
- ! '"5bb5dd0bc5c9af9a2b7f7a7376a159e8"'
|
354
|
+
x-ua-compatible:
|
355
|
+
- IE=Edge,chrome=1
|
356
|
+
x-runtime:
|
357
|
+
- '1.179774'
|
358
|
+
cache-control:
|
359
|
+
- max-age=0, private, must-revalidate
|
360
|
+
strict-transport-security:
|
361
|
+
- max-age=31536000
|
362
|
+
server:
|
363
|
+
- nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
364
|
+
body: ! '{"current_page":1,"per_page":100,"total_entries":27,"clients":[{"email_addresses":[{"label":null,"address":"tyrique@brown.info"}],"phone_numbers":[{"extension":"999","label":null,"country_code":null,"number":"(301)555-1234"}],"url":"/clients/3","updated_at":"2011-08-11T03:12:43Z","name":"Main
|
365
|
+
Office","addresses":[{"latitude":null,"postal_code":"68577","longitude":null,"country_code":"AI","name":null,"locality":"West
|
366
|
+
Lambertfort","extended_address":null,"region":"MN","street_address":"035 McCullough
|
367
|
+
Manor"}],"office":{"url":"/offices/6","brokerage":{"abbreviation":"Ticket Evolution","url":"/brokerages/61","name":"Ticket
|
368
|
+
Evolution","id":"61"},"name":"Main Office","id":"6"},"id":"3"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/1535","updated_at":"2011-08-29T17:08:43Z","name":"Main
|
369
|
+
Office","addresses":[{"latitude":null,"postal_code":"58008-6072","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"125
|
370
|
+
Street"},{"latitude":null,"postal_code":null,"longitude":null,"country_code":null,"name":null,"locality":null,"extended_address":null,"region":null,"street_address":null}],"office":{"url":"/offices/1116","brokerage":{"abbreviation":"Tevo","url":"/brokerages/630","name":"SeatGeek","id":"630"},"name":"Main
|
371
|
+
Office","id":"1116"},"id":"1535"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2022","updated_at":"2011-12-21T19:26:18Z","name":"Will
|
372
|
+
Smith","addresses":[],"id":"2022"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2094","updated_at":"2011-12-30T21:18:39Z","name":"Ms
|
373
|
+
Rogers","addresses":[],"id":"2094"},{"email_addresses":[{"label":"work","address":"moe.szyslak@moestavern.com"},{"label":"home","address":"moeissexxxy69@compuserve.com"}],"phone_numbers":[{"extension":null,"label":"work
|
374
|
+
fax","country_code":null,"number":"243-6698"},{"extension":null,"label":"work","country_code":null,"number":"243-6697"}],"url":"/clients/2098","updated_at":"2012-01-06T04:30:46Z","name":"Morris
|
375
|
+
“Moe” Szyslak","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
376
|
+
Evergreen Terrace"}],"id":"2098"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2271","updated_at":"2012-01-24T20:27:04Z","name":"Brad
|
377
|
+
Tatum","addresses":[],"id":"2271"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2273","updated_at":"2012-01-24T22:23:43Z","name":"jimmy
|
378
|
+
buffet","addresses":[],"id":"2273"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2274","updated_at":"2012-01-24T22:30:24Z","name":"Comish
|
379
|
+
Gordon","addresses":[],"id":"2274"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2275","updated_at":"2012-01-24T22:49:11Z","name":"Comish
|
380
|
+
Gordon","addresses":[],"id":"2275"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2302","updated_at":"2012-01-27T10:16:50Z","name":"John
|
381
|
+
Raj","addresses":[],"id":"2302"},{"email_addresses":[{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"john","address":"john@riverstonetech.com"},{"label":"[EMAILLABEL]","address":"[EMAILADDRESS]"}],"phone_numbers":[{"extension":null,"label":"Office","country_code":null,"number":"877-326-7785"},{"extension":null,"label":"Office","country_code":null,"number":"877-326-7785"}],"url":"/clients/2303","updated_at":"2012-01-27T10:45:12Z","name":"John
|
382
|
+
Raj","addresses":[],"id":"2303"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2307","updated_at":"2012-01-28T06:32:37Z","name":"john","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
383
|
+
Evergreen Terrace"}],"id":"2307"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2308","updated_at":"2012-01-28T06:44:34Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
384
|
+
Evergreen Terrace"}],"office":{"url":"/offices/2","brokerage":{"abbreviation":"Circle
|
385
|
+
City","url":"/brokerages/86","name":"Circle City Tickets","id":"86"},"name":"Downtown
|
386
|
+
Office","id":"2"},"id":"2308"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"},{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2310","updated_at":"2012-01-28T07:24:57Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
387
|
+
Evergreen Terrace"}],"office":{"url":"/offices/970","brokerage":{"abbreviation":"Hello","url":"/brokerages/434","name":"Hello
|
388
|
+
Tickets","id":"434"},"name":"Main Office","id":"970"},"id":"2310"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2323","updated_at":"2012-01-31T05:11:02Z","name":"JohnRaj","addresses":[],"id":"2323"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2324","updated_at":"2012-01-31T05:38:18Z","name":"JohnRaj","addresses":[],"id":"2324"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2325","updated_at":"2012-01-31T05:42:28Z","name":"David","addresses":[],"id":"2325"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2326","updated_at":"2012-01-31T05:47:02Z","name":"David
|
389
|
+
Billy","addresses":[],"id":"2326"},{"email_addresses":[],"phone_numbers":[],"url":"/clients/2327","updated_at":"2012-01-31T06:01:19Z","name":"David
|
390
|
+
Billy","addresses":[],"id":"2327"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2328","updated_at":"2012-01-31T06:06:34Z","name":"David
|
391
|
+
Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
392
|
+
Evergreen Terrace"}],"id":"2328"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2329","updated_at":"2012-01-31T07:31:32Z","name":"JohnRaj","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
393
|
+
Evergreen Terrace"}],"id":"2329"},{"email_addresses":[{"label":"Welkins","address":"Welkins@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Welkins","country_code":null,"number":"333-444-4444"}],"url":"/clients/2330","updated_at":"2012-01-31T07:38:31Z","name":"Welkins","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
394
|
+
Evergreen Terrace"}],"id":"2330"},{"email_addresses":[{"label":"John","address":"john@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"John","country_code":null,"number":"333-444-4444"}],"url":"/clients/2332","updated_at":"2012-01-31T08:03:15Z","name":"JohnRaj","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
395
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1594","brokerage":{"abbreviation":"Ticket
|
396
|
+
Logic","url":"/brokerages/1609","name":"Ticket Logic Pty Ltd","id":"1609"},"name":"Ticket
|
397
|
+
Logic","id":"1594"},"id":"2332"},{"email_addresses":[{"label":"Welkins","address":"Welkins@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Welkins","country_code":null,"number":"333-444-4444"}],"url":"/clients/2333","updated_at":"2012-01-31T08:08:57Z","name":"Welkins","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":null,"locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
398
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1593","brokerage":{"abbreviation":"Dare
|
399
|
+
Ticket","url":"/brokerages/1608","name":"Dare Ticket","id":"1608"},"name":"Main
|
400
|
+
Office","id":"1593"},"id":"2333"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2355","updated_at":"2012-02-08T05:13:58Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
401
|
+
Evergreen Terrace"}],"id":"2355"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2356","updated_at":"2012-02-08T05:30:28Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
402
|
+
Evergreen Terrace"}],"id":"2356"},{"email_addresses":[{"label":"Billy","address":"billy@riverstonetech.com"}],"phone_numbers":[{"extension":null,"label":"Billy","country_code":null,"number":"877-326-7785"}],"url":"/clients/2359","updated_at":"2012-02-10T06:02:34Z","name":"Billy","addresses":[{"latitude":null,"postal_code":"58008-0000","longitude":null,"country_code":"US","name":"Billy","locality":"Springfield","extended_address":null,"region":"MG","street_address":"555
|
403
|
+
Evergreen Terrace"}],"office":{"url":"/offices/1583","brokerage":{"abbreviation":"Fanprice","url":"/brokerages/1600","name":"Fanprice,
|
404
|
+
Inc.","id":"1600"},"name":"Main Office","id":"1583"},"id":"2359"}]}'
|
405
|
+
http_version: '1.1'
|
406
|
+
- !ruby/struct:VCR::HTTPInteraction
|
407
|
+
request: !ruby/struct:VCR::Request
|
408
|
+
method: :get
|
409
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients/2359/addresses?
|
410
|
+
body: !!null
|
411
|
+
headers:
|
412
|
+
accept:
|
413
|
+
- application/vnd.ticketevolution.api+json; version=8
|
414
|
+
x-signature:
|
415
|
+
- fiDv7wgSxdmv2nG4hjzRD6V8Ti+7J8P8aijHlZk3ldE=
|
416
|
+
x-token:
|
417
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
418
|
+
response: !ruby/struct:VCR::Response
|
419
|
+
status: !ruby/struct:VCR::ResponseStatus
|
420
|
+
code: 200
|
421
|
+
message: OK
|
422
|
+
headers:
|
423
|
+
content-type:
|
424
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
425
|
+
transfer-encoding:
|
426
|
+
- chunked
|
427
|
+
connection:
|
428
|
+
- keep-alive
|
429
|
+
status:
|
430
|
+
- '200'
|
431
|
+
x-powered-by:
|
432
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
433
|
+
etag:
|
434
|
+
- ! '"d1c91f9e7aca9e307c07699f6beee9d9"'
|
435
|
+
x-ua-compatible:
|
436
|
+
- IE=Edge,chrome=1
|
437
|
+
x-runtime:
|
438
|
+
- '0.161420'
|
439
|
+
cache-control:
|
440
|
+
- max-age=0, private, must-revalidate
|
441
|
+
strict-transport-security:
|
442
|
+
- max-age=31536000
|
443
|
+
server:
|
444
|
+
- nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
445
|
+
body: ! '{"addresses":[{"latitude":null,"postal_code":"58008-0000","label":"Billy","longitude":null,"country_code":"US","url":"/clients/2359/addresses/48597","updated_at":"2012-02-10T06:25:53Z","name":"Billy","locality":"Springfield","extended_address":null,"id":"48597","region":"MG","street_address":"555
|
446
|
+
Evergreen Terrace"}],"current_page":1,"per_page":100,"total_entries":1}'
|
447
|
+
http_version: '1.1'
|
448
|
+
- !ruby/struct:VCR::HTTPInteraction
|
449
|
+
request: !ruby/struct:VCR::Request
|
450
|
+
method: :get
|
451
|
+
uri: https://api.sandbox.ticketevolution.com:443/clients/2359/addresses?
|
452
|
+
body: !!null
|
453
|
+
headers:
|
454
|
+
accept:
|
455
|
+
- application/vnd.ticketevolution.api+json; version=8
|
456
|
+
x-signature:
|
457
|
+
- fiDv7wgSxdmv2nG4hjzRD6V8Ti+7J8P8aijHlZk3ldE=
|
458
|
+
x-token:
|
459
|
+
- b2b5a7a33b1a78896ed1b53d81c5c9cc
|
460
|
+
response: !ruby/struct:VCR::Response
|
461
|
+
status: !ruby/struct:VCR::ResponseStatus
|
462
|
+
code: 200
|
463
|
+
message: OK
|
464
|
+
headers:
|
465
|
+
content-type:
|
466
|
+
- application/vnd.ticketevolution.api+json; version=8; charset=utf-8
|
467
|
+
transfer-encoding:
|
468
|
+
- chunked
|
469
|
+
connection:
|
470
|
+
- keep-alive
|
471
|
+
status:
|
472
|
+
- '200'
|
473
|
+
x-powered-by:
|
474
|
+
- Phusion Passenger (mod_rails/mod_rack) 3.0.11
|
475
|
+
etag:
|
476
|
+
- ! '"d1c91f9e7aca9e307c07699f6beee9d9"'
|
477
|
+
x-ua-compatible:
|
478
|
+
- IE=Edge,chrome=1
|
479
|
+
x-runtime:
|
480
|
+
- '0.161420'
|
481
|
+
cache-control:
|
482
|
+
- max-age=0, private, must-revalidate
|
483
|
+
strict-transport-security:
|
484
|
+
- max-age=31536000
|
485
|
+
server:
|
486
|
+
- nginx/1.0.11 + Phusion Passenger 3.0.11 (mod_rails/mod_rack)
|
487
|
+
body: ! '{"addresses":[{"latitude":null,"postal_code":"58008-0000","label":"Billy","longitude":null,"country_code":"US","url":"/clients/2359/addresses/48597","updated_at":"2012-02-10T06:25:53Z","name":"Billy","locality":"Springfield","extended_address":null,"id":"48597","region":"MG","street_address":"555
|
488
|
+
Evergreen Terrace"}],"current_page":1,"per_page":100,"total_entries":1}'
|
489
|
+
http_version: '1.1'
|
@@ -1,7 +1,21 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe TicketEvolution::Client do
|
4
|
+
let(:klass) { TicketEvolution::Client }
|
4
5
|
subject { TicketEvolution::Client }
|
5
6
|
|
7
|
+
describe "when calling a nested endpoint method" do
|
8
|
+
use_vcr_cassette "endpoints/clients", :record => :new_episodes
|
9
|
+
|
10
|
+
let(:client) { TicketEvolution::Clients.new(:parent => connection).list.last }
|
11
|
+
|
12
|
+
it "should pass the request to the appropriate endpoint and get back an appropriate response" do
|
13
|
+
collection = client.addresses.list
|
14
|
+
collection.should be_a TicketEvolution::Collection
|
15
|
+
collection.total_entries.should == collection.size
|
16
|
+
collection.first.should be_a TicketEvolution::Address
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
6
20
|
it_behaves_like "a ticket_evolution model"
|
7
21
|
end
|
@@ -156,8 +156,28 @@ describe TicketEvolution::Connection do
|
|
156
156
|
end
|
157
157
|
end
|
158
158
|
|
159
|
+
describe "#uri" do
|
160
|
+
let(:path) { '/test' }
|
161
|
+
|
162
|
+
context "api version 8" do
|
163
|
+
subject { klass.new(valid_options) }
|
164
|
+
|
165
|
+
it "should not include the version" do
|
166
|
+
subject.uri(path).should == "#{subject.url}#{path}"
|
167
|
+
end
|
168
|
+
end
|
169
|
+
|
170
|
+
context "api version 9 or above" do
|
171
|
+
subject { klass.new(valid_options.merge({:version => 9})) }
|
172
|
+
|
173
|
+
it "should include the version" do
|
174
|
+
subject.uri(path).should == "#{subject.url}/V9#{path}"
|
175
|
+
end
|
176
|
+
end
|
177
|
+
end
|
178
|
+
|
159
179
|
describe "#sign" do
|
160
|
-
let(:path) { "/test" }
|
180
|
+
let(:path) { "#{connection.url}/test" }
|
161
181
|
|
162
182
|
describe "with a port in the url_base" do
|
163
183
|
let(:connection) { klass.new(valid_options.merge({:secret => "/3uZ9bXNe/6rxEBmlGLvoRXrcSzRDMfyJSewhlrc"})) }
|
@@ -228,13 +248,7 @@ describe TicketEvolution::Connection do
|
|
228
248
|
end
|
229
249
|
|
230
250
|
describe "#build_request" do
|
231
|
-
let(:
|
232
|
-
{
|
233
|
-
"Accept" => "application/vnd.ticketevolution.api+json; version=#{valid_options[:version]}",
|
234
|
-
"X-Signature" => "8eaaqg6d4DJ2SEWkCvkdhc05dITmpNbUrcbN75UBGMA=",
|
235
|
-
"X-Token" => valid_options[:token]
|
236
|
-
}
|
237
|
-
end
|
251
|
+
let(:req_options) { valid_options.merge(:secret => "/3uZ9bXNe/6rxEBmlGLvoRXrcSzRDMfyJSewhlrc") }
|
238
252
|
let(:params) do
|
239
253
|
{
|
240
254
|
:one => 1,
|
@@ -244,10 +258,34 @@ describe TicketEvolution::Connection do
|
|
244
258
|
end
|
245
259
|
let(:url) { "https://api.sandbox.ticketevolution.com/test?one=1&three=three&two=two" }
|
246
260
|
|
247
|
-
subject { klass.new(valid_options
|
261
|
+
subject { klass.new(valid_options).build_request(:GET, '/test', params) }
|
248
262
|
|
249
263
|
it { should be_a Curl::Easy }
|
250
|
-
its(:headers) { should == headers }
|
251
264
|
its(:url) { should == url }
|
265
|
+
|
266
|
+
context "api version 8" do
|
267
|
+
let(:headers) do
|
268
|
+
{
|
269
|
+
"Accept" => "application/vnd.ticketevolution.api+json; version=#{valid_options[:version]}",
|
270
|
+
"X-Signature" => "8eaaqg6d4DJ2SEWkCvkdhc05dITmpNbUrcbN75UBGMA=",
|
271
|
+
"X-Token" => valid_options[:token]
|
272
|
+
}
|
273
|
+
end
|
274
|
+
subject { klass.new(req_options).build_request(:GET, '/test', params) }
|
275
|
+
|
276
|
+
its(:headers) { should == headers }
|
277
|
+
end
|
278
|
+
|
279
|
+
context "api version 9 or above" do
|
280
|
+
let(:headers) do
|
281
|
+
{
|
282
|
+
"X-Signature" => "qBpzNPLG7h3+kj5EA0MDWarNG8ATeLx3OHqlKEf2YF0=",
|
283
|
+
"X-Token" => valid_options[:token]
|
284
|
+
}
|
285
|
+
end
|
286
|
+
subject { klass.new(req_options.merge(:version => 9)).build_request(:GET, '/test', params) }
|
287
|
+
|
288
|
+
its(:headers) { should == headers }
|
289
|
+
end
|
252
290
|
end
|
253
291
|
end
|
@@ -224,6 +224,13 @@ shared_examples_for "a ticket_evolution endpoint class" do
|
|
224
224
|
its(:server_message) { should == value.last }
|
225
225
|
end
|
226
226
|
end
|
227
|
+
|
228
|
+
context "with a missing response code" do
|
229
|
+
let(:response_code) { 900 }
|
230
|
+
|
231
|
+
its(:response_code) { should == 900 }
|
232
|
+
its(:server_message) { should == "Unknown Error" }
|
233
|
+
end
|
227
234
|
end
|
228
235
|
end
|
229
236
|
|
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.6.
|
4
|
+
version: 0.6.4
|
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-02-
|
12
|
+
date: 2012-02-17 00:00:00.000000000Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
|
-
requirement: &
|
16
|
+
requirement: &70256748458480 !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: *70256748458480
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: curb
|
27
|
-
requirement: &
|
27
|
+
requirement: &70256748457480 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: 0.7.8
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70256748457480
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: yajl-ruby
|
38
|
-
requirement: &
|
38
|
+
requirement: &70256748456140 !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: *70256748456140
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: multi_json
|
49
|
-
requirement: &
|
49
|
+
requirement: &70256748454820 !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: *70256748454820
|
58
58
|
- !ruby/object:Gem::Dependency
|
59
59
|
name: nokogiri
|
60
|
-
requirement: &
|
60
|
+
requirement: &70256748454100 !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: *70256748454100
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rspec
|
71
|
-
requirement: &
|
71
|
+
requirement: &70256748453420 !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: *70256748453420
|
80
80
|
- !ruby/object:Gem::Dependency
|
81
81
|
name: vcr
|
82
|
-
requirement: &
|
82
|
+
requirement: &70256748452700 !ruby/object:Gem::Requirement
|
83
83
|
none: false
|
84
84
|
requirements:
|
85
85
|
- - ! '>='
|
@@ -87,10 +87,10 @@ dependencies:
|
|
87
87
|
version: '0'
|
88
88
|
type: :development
|
89
89
|
prerelease: false
|
90
|
-
version_requirements: *
|
90
|
+
version_requirements: *70256748452700
|
91
91
|
- !ruby/object:Gem::Dependency
|
92
92
|
name: webmock
|
93
|
-
requirement: &
|
93
|
+
requirement: &70256748451480 !ruby/object:Gem::Requirement
|
94
94
|
none: false
|
95
95
|
requirements:
|
96
96
|
- - ! '>='
|
@@ -98,10 +98,10 @@ dependencies:
|
|
98
98
|
version: '0'
|
99
99
|
type: :development
|
100
100
|
prerelease: false
|
101
|
-
version_requirements: *
|
101
|
+
version_requirements: *70256748451480
|
102
102
|
- !ruby/object:Gem::Dependency
|
103
103
|
name: awesome_print
|
104
|
-
requirement: &
|
104
|
+
requirement: &70256748450920 !ruby/object:Gem::Requirement
|
105
105
|
none: false
|
106
106
|
requirements:
|
107
107
|
- - ! '>='
|
@@ -109,10 +109,10 @@ dependencies:
|
|
109
109
|
version: '0'
|
110
110
|
type: :development
|
111
111
|
prerelease: false
|
112
|
-
version_requirements: *
|
112
|
+
version_requirements: *70256748450920
|
113
113
|
- !ruby/object:Gem::Dependency
|
114
114
|
name: rake
|
115
|
-
requirement: &
|
115
|
+
requirement: &70256748450320 !ruby/object:Gem::Requirement
|
116
116
|
none: false
|
117
117
|
requirements:
|
118
118
|
- - ! '>='
|
@@ -120,7 +120,7 @@ dependencies:
|
|
120
120
|
version: '0'
|
121
121
|
type: :development
|
122
122
|
prerelease: false
|
123
|
-
version_requirements: *
|
123
|
+
version_requirements: *70256748450320
|
124
124
|
description: Provides Ruby wrappers for the Ticket Evolution API (http://developer.ticketevolution.com).
|
125
125
|
Ticket Evolution is the industry leader in software for the Ticket Broker industry.
|
126
126
|
email:
|
@@ -295,7 +295,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
295
295
|
version: '0'
|
296
296
|
segments:
|
297
297
|
- 0
|
298
|
-
hash:
|
298
|
+
hash: -3594449940152660308
|
299
299
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
300
300
|
none: false
|
301
301
|
requirements:
|