stub_hub_api 0.0.2 → 1.1.4
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.
- checksums.yaml +4 -4
- data/README.md +1 -1
- data/lib/stub_hub_api.rb +79 -0
- data/lib/stub_hub_api/base.rb +42 -2
- data/lib/stub_hub_api/fulfillment.rb +68 -0
- data/lib/stub_hub_api/listing.rb +4 -4
- data/lib/stub_hub_api/logger.rb +54 -0
- data/lib/stub_hub_api/login.rb +2 -1
- data/lib/stub_hub_api/login_sandbox.rb +42 -0
- data/lib/stub_hub_api/response.rb +18 -1
- data/lib/stub_hub_api/search.rb +1 -1
- data/lib/stub_hub_api/version.rb +1 -1
- data/stub_hub_api.gemspec +2 -1
- metadata +28 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c102374323a739fcdd8e693469b81de49329d7de
|
4
|
+
data.tar.gz: d74203b2d9ecda50c0417165573ed551fa5f906b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5ed73ff6affc950ac2e1dfc0b20fe10db43adcd154c515aab431c7373053c06d4bd4066d9d30bad8914ef2f067ab776bcfc4521458ca673ff5516ab368538b77
|
7
|
+
data.tar.gz: bc5a8e4e4c555c4b02cefcfe3627b4b4fe7d82c09b2ab5325ce867a78f8cddc60726ae2e848ba93c60c2fa2516b75db2ffab06f27feefc5f95efb93c61cfe636
|
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# StubHubApi [](https://codeclimate.com/github/hashdog/stub_hub_api)
|
1
|
+
# StubHubApi [](https://codeclimate.com/github/hashdog/stub_hub_api) [](http://badge.fury.io/rb/stub_hub_api)
|
2
2
|
|
3
3
|
This gem provides access to add, edit and delete listings appearing on StubHub.
|
4
4
|
|
data/lib/stub_hub_api.rb
CHANGED
@@ -1,16 +1,95 @@
|
|
1
1
|
require 'json'
|
2
|
+
require 'nokogiri'
|
2
3
|
require 'faraday'
|
4
|
+
require 'open-uri'
|
5
|
+
require 'base64'
|
6
|
+
require 'logger'
|
3
7
|
|
4
8
|
require_relative 'stub_hub_api/version'
|
5
9
|
require_relative 'stub_hub_api/response'
|
10
|
+
require_relative 'stub_hub_api/logger'
|
6
11
|
require_relative 'stub_hub_api/base'
|
7
12
|
require_relative 'stub_hub_api/login'
|
13
|
+
require_relative 'stub_hub_api/login_sandbox'
|
8
14
|
require_relative 'stub_hub_api/account_management'
|
9
15
|
require_relative 'stub_hub_api/account_management_sale'
|
10
16
|
require_relative 'stub_hub_api/event'
|
11
17
|
require_relative 'stub_hub_api/listing'
|
12
18
|
require_relative 'stub_hub_api/search'
|
19
|
+
require_relative 'stub_hub_api/fulfillment'
|
13
20
|
require_relative 'stub_hub_api/alert'
|
14
21
|
|
15
22
|
|
16
23
|
module StubHubApi;end
|
24
|
+
#
|
25
|
+
# data = {:eventId=>"103765980",
|
26
|
+
# :isElectronicDelivery=>true,
|
27
|
+
# :pricePerProduct=>{:amount=>"559.98", :currency=>"USD"},
|
28
|
+
# :inhandDate=>"2018-11-07T09:59:56Z",
|
29
|
+
# :section=>"Parterre Center",
|
30
|
+
# :products=>
|
31
|
+
# [{:fullfillmentArtifact=>"99000002000071965129",
|
32
|
+
# :productType=>"ticket",
|
33
|
+
# :row=>"U ",
|
34
|
+
# :seat=>117,
|
35
|
+
# :operation=>"ADD"},
|
36
|
+
# {:fullfillmentArtifact=>"99000002000071965128",
|
37
|
+
# :productType=>"ticket",
|
38
|
+
# :row=>"U ",
|
39
|
+
# :seat=>118,
|
40
|
+
# :operation=>"ADD"},
|
41
|
+
# {:fullfillmentArtifact=>"99000002000071965127",
|
42
|
+
# :productType=>"ticket",
|
43
|
+
# :row=>"U ",
|
44
|
+
# :seat=>119,
|
45
|
+
# :operation=>"ADD"},
|
46
|
+
# {:fullfillmentArtifact=>"99000002000071965126",
|
47
|
+
# :productType=>"ticket",
|
48
|
+
# :row=>"U ",
|
49
|
+
# :seat=>120,
|
50
|
+
# :operation=>"ADD"}],
|
51
|
+
# :splitOption=>"MULTIPLES",
|
52
|
+
# :splitQuantity=>"1",
|
53
|
+
# :externalListingId=>359710}
|
54
|
+
#
|
55
|
+
# # c = StubHubApi::Listing.new(token: '0d85c364-10fb-3ee8-a41f-c5bf0c2ad7eb', sandbox: false)
|
56
|
+
# # r = c.create(data)
|
57
|
+
# # puts r.inspect
|
58
|
+
# # exit
|
59
|
+
#
|
60
|
+
# #1380812233
|
61
|
+
#
|
62
|
+
# # sleep(5)
|
63
|
+
# # puts "uploading...."
|
64
|
+
# cc = StubHubApi::Fulfillment.new(token: '0d85c364-10fb-3ee8-a41f-c5bf0c2ad7eb', sandbox: false)
|
65
|
+
#
|
66
|
+
# options = {
|
67
|
+
# :listing=>{
|
68
|
+
# :tickets=>[
|
69
|
+
# {:row=>"U", :seat=>"117", :name=>"17"},
|
70
|
+
# {:row=>"U", :seat=>"118", :name=>"18"},
|
71
|
+
# {:row=>"U", :seat=>"119", :name=>"19"},
|
72
|
+
# {:row=>"U", :seat=>"120", :name=>"20"}
|
73
|
+
# ]
|
74
|
+
# }
|
75
|
+
# }
|
76
|
+
# files = [
|
77
|
+
# {file_name: '17', file: '/Users/chebyte/rails/neuro/apis/stub_hub_api/lib/17.pdf'},
|
78
|
+
# {file_name: '18', file: '/Users/chebyte/rails/neuro/apis/stub_hub_api/lib/18.pdf'},
|
79
|
+
# {file_name: '19', file: '/Users/chebyte/rails/neuro/apis/stub_hub_api/lib/19.pdf'},
|
80
|
+
# {file_name: '20', file: '/Users/chebyte/rails/neuro/apis/stub_hub_api/lib/20.pdf'}
|
81
|
+
# ]
|
82
|
+
#
|
83
|
+
#
|
84
|
+
# r = cc.preload_pdf_json("1382617308", options, files)
|
85
|
+
#
|
86
|
+
# puts r.inspect
|
87
|
+
# exit
|
88
|
+
#
|
89
|
+
# #
|
90
|
+
# c = StubHubApi::Listing.new(token: '0d85c364-10fb-3ee8-a41f-c5bf0c2ad7eb', sandbox: false)
|
91
|
+
#
|
92
|
+
#
|
93
|
+
# r = c.delete('1382617308')
|
94
|
+
#
|
95
|
+
# puts r.inspect
|
data/lib/stub_hub_api/base.rb
CHANGED
@@ -23,8 +23,27 @@ module StubHubApi
|
|
23
23
|
end
|
24
24
|
end
|
25
25
|
|
26
|
+
def post_multi_pdfs_json_query_api url, body
|
27
|
+
session.post do |req|
|
28
|
+
req.url url
|
29
|
+
req.headers["Content-Type"] = 'multipart/form-data; boundary=----WebKitFormBoundary7MA4YWxkTrZu0gW'
|
30
|
+
req.body = body
|
31
|
+
req.options.timeout = 2000
|
32
|
+
end.body
|
33
|
+
end
|
34
|
+
|
35
|
+
def post_multi_part_query_api url, options, file
|
36
|
+
session.post do |req|
|
37
|
+
req.url make_request_url(url, options)
|
38
|
+
req.headers['Content-Type'] = 'multipart/form-data'
|
39
|
+
req.body = {}
|
40
|
+
req.body[:file] = Faraday::UploadIO.new(file, 'application/pdf', "#{Time.now.to_i * rand(1000)}.pdf")
|
41
|
+
req.options.timeout = 2000
|
42
|
+
end.body
|
43
|
+
end
|
44
|
+
|
26
45
|
def delete_query_api url
|
27
|
-
session.delete(make_request_url(url, {}))
|
46
|
+
session.delete(make_request_url(url, {})).body
|
28
47
|
end
|
29
48
|
|
30
49
|
def put_query_api url, payload = false, options
|
@@ -41,6 +60,19 @@ module StubHubApi
|
|
41
60
|
|
42
61
|
private
|
43
62
|
|
63
|
+
def folder_log
|
64
|
+
folder_path = "#{ENV['HOME']}/loggers/sh"
|
65
|
+
unless File.exists?(folder_path)
|
66
|
+
system "mkdir -p #{folder_path}"
|
67
|
+
end
|
68
|
+
folder_path
|
69
|
+
end
|
70
|
+
|
71
|
+
def logger
|
72
|
+
log_file = File.open("#{folder_log}/#{Time.now.strftime('%Y-%m-%d')}.log",'a+')
|
73
|
+
@logger = ::Logger.new(log_file)
|
74
|
+
end
|
75
|
+
|
44
76
|
def sandbox_base_url
|
45
77
|
'https://api.stubhubsandbox.com'
|
46
78
|
end
|
@@ -65,15 +97,23 @@ module StubHubApi
|
|
65
97
|
Faraday::Utils.build_nested_query(options)
|
66
98
|
end
|
67
99
|
|
100
|
+
def user_agents
|
101
|
+
["Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (FM Scene 4.6.1) ",
|
102
|
+
"Mozilla/5.0 (Windows; U; Windows NT 5.1; de; rv:1.9.2.3) Gecko/20100401 Firefox/3.6.3 (.NET CLR 3.5.30729) (Prevx 3.0.5) ",
|
103
|
+
"Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_2) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/40.0.2214.115 Safari/537.36"]
|
104
|
+
end
|
105
|
+
|
68
106
|
def session
|
69
107
|
return @connection if @connection
|
70
108
|
|
71
109
|
@connection = ::Faraday.new current_base_url, ssl: {verify: false} do |conn|
|
72
110
|
conn.use Faraday::Response::StubHub
|
111
|
+
conn.use Faraday::Response::StubHubCustomLogger, logger
|
73
112
|
conn.request :url_encoded
|
74
|
-
conn.
|
113
|
+
conn.request :multipart
|
75
114
|
conn.adapter Faraday.default_adapter
|
76
115
|
end
|
116
|
+
@connection.headers[:user_agent] = user_agents.shuffle.first
|
77
117
|
@connection.authorization :Bearer, token
|
78
118
|
@connection
|
79
119
|
end
|
@@ -0,0 +1,68 @@
|
|
1
|
+
module StubHubApi
|
2
|
+
class Fulfillment < Base
|
3
|
+
def upload_pdf(file, sale_id, options)
|
4
|
+
doc = post_multi_part_query_api("/fulfillment/pdf/v1/sale/#{sale_id}", options, StringIO.new(Base64.decode64(file)))
|
5
|
+
fields = %w(orderId row seatNo uploadStatus delivered)
|
6
|
+
response = {}
|
7
|
+
doc.xpath("uploadPDFTicketToOrderResponse").each do |xml|
|
8
|
+
fields.each do |field|
|
9
|
+
response[field] = xml.at_xpath(field).content if xml.at_xpath(field).content
|
10
|
+
end
|
11
|
+
end
|
12
|
+
response
|
13
|
+
end
|
14
|
+
|
15
|
+
def preload_pdf(file, listing_id, options)
|
16
|
+
doc = post_multi_part_query_api("/fulfillment/pdf/v1/listing/#{listing_id}", options, StringIO.new(Base64.decode64(file)))
|
17
|
+
fields = %w(listingId row seatNo uploadStatus preDelivered)
|
18
|
+
response = {}
|
19
|
+
doc.xpath("uploadPDFTicketToListingResponse").each do |xml|
|
20
|
+
fields.each do |field|
|
21
|
+
response[field] = xml.at_xpath(field).content if xml.at_xpath(field).content
|
22
|
+
end
|
23
|
+
end
|
24
|
+
response
|
25
|
+
end
|
26
|
+
|
27
|
+
def preload_pdf_json(listing_id, options, files)
|
28
|
+
boundary = "------WebKitFormBoundary7MA4YWxkTrZu0gW"
|
29
|
+
post_body = ""
|
30
|
+
post_body << "#{boundary}\r\n"
|
31
|
+
post_body << "Content-Disposition: form-data; name=\"listing\"\r\n\r\n"
|
32
|
+
post_body << "#{options.to_json}\r\n"
|
33
|
+
files.each do |file|
|
34
|
+
post_body << "#{boundary}\r\n"
|
35
|
+
post_body << "Content-Disposition: form-data; name=\"#{file[:file_name]}\"; filename=\"#{file[:file_name]}.pdf\"\r\n"
|
36
|
+
post_body << "Content-Type: application/pdf\r\n\r\n"
|
37
|
+
post_body << ""
|
38
|
+
post_body << ""
|
39
|
+
post_body << File.read(file[:file])
|
40
|
+
post_body << ""
|
41
|
+
post_body << "\r\n"
|
42
|
+
end
|
43
|
+
post_body << "\r\n"
|
44
|
+
post_body << "#{boundary}--\r\n"
|
45
|
+
post_multi_pdfs_json_query_api("/inventory/listings/v1/#{listing_id}/pdfs", post_body)
|
46
|
+
end
|
47
|
+
|
48
|
+
|
49
|
+
def label_for(options)
|
50
|
+
post_query_api("/fulfillment/shipping/v1/labels", true, options)
|
51
|
+
end
|
52
|
+
|
53
|
+
|
54
|
+
def get_label_for(options)
|
55
|
+
get_query_api("/fulfillment/shipping/v1/labels", options)
|
56
|
+
end
|
57
|
+
|
58
|
+
def confirm_transfer_sales(sale_id)
|
59
|
+
post_query_api("/fulfillment/delivery/v1/sale/#{sale_id}/confirmation", false)
|
60
|
+
end
|
61
|
+
|
62
|
+
def upload_barcode(options)
|
63
|
+
post_query_api("/fulfillment/barcode/v1/order", true, options)
|
64
|
+
end
|
65
|
+
|
66
|
+
|
67
|
+
end
|
68
|
+
end
|
data/lib/stub_hub_api/listing.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
module StubHubApi
|
2
2
|
class Listing < Base
|
3
3
|
def create(options = {})
|
4
|
-
post_query_api("/inventory/listings/
|
4
|
+
post_query_api("/inventory/listings/v2", true, options)
|
5
5
|
end
|
6
6
|
|
7
7
|
def create_with_barcode(options = {})
|
8
|
-
post_query_api("/inventory/listings/
|
8
|
+
post_query_api("/inventory/listings/v2/barcodes", true, options)
|
9
9
|
end
|
10
10
|
|
11
11
|
def delete(listing_id)
|
@@ -13,11 +13,11 @@ module StubHubApi
|
|
13
13
|
end
|
14
14
|
|
15
15
|
def update(listing_id, options = {})
|
16
|
-
put_query_api("/inventory/listings/
|
16
|
+
put_query_api("/inventory/listings/v2/#{listing_id}", true, options)
|
17
17
|
end
|
18
18
|
|
19
19
|
def show(listing_id, options = {})
|
20
|
-
get_query_api("/inventory/listings/
|
20
|
+
get_query_api("/inventory/listings/v2/#{listing_id}", options)
|
21
21
|
end
|
22
22
|
|
23
23
|
end
|
@@ -0,0 +1,54 @@
|
|
1
|
+
require 'forwardable'
|
2
|
+
|
3
|
+
module Faraday
|
4
|
+
class Response::StubHubCustomLogger < Response::Middleware
|
5
|
+
extend Forwardable
|
6
|
+
|
7
|
+
def initialize(app, logger = nil, options = {})
|
8
|
+
super(app)
|
9
|
+
@logger = logger || begin
|
10
|
+
require 'logger'
|
11
|
+
::Logger.new(STDOUT)
|
12
|
+
end
|
13
|
+
@options = options
|
14
|
+
end
|
15
|
+
|
16
|
+
def_delegators :@logger, :debug, :info, :warn, :error, :fatal
|
17
|
+
|
18
|
+
def call(env)
|
19
|
+
if env.method != :get
|
20
|
+
info "#{env.method} #{env.url.to_s}"
|
21
|
+
debug('request') { dump_headers env.request_headers }
|
22
|
+
debug('request') { dump_body(env[:body]) } if env[:body]
|
23
|
+
end
|
24
|
+
super
|
25
|
+
end
|
26
|
+
|
27
|
+
def on_complete(env)
|
28
|
+
if env.method != :get
|
29
|
+
info('Status') { env.status.to_s }
|
30
|
+
debug('response') { dump_headers env.response_headers }
|
31
|
+
debug('response') { dump_body env[:body] } if env[:body]
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def dump_headers(headers)
|
38
|
+
headers.map { |k, v| "#{k}: #{v.inspect}" }.join("\n")
|
39
|
+
end
|
40
|
+
|
41
|
+
def dump_body(body)
|
42
|
+
if body.respond_to?(:to_str)
|
43
|
+
body.to_str
|
44
|
+
else
|
45
|
+
pretty_inspect(body)
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def pretty_inspect(body)
|
50
|
+
require 'pp' unless body.respond_to?(:pretty_inspect)
|
51
|
+
body.pretty_inspect
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
data/lib/stub_hub_api/login.rb
CHANGED
@@ -28,6 +28,7 @@ module StubHubApi
|
|
28
28
|
|
29
29
|
@conn = Faraday.new(:url => base_url, :ssl => {:verify => false}) do |faraday|
|
30
30
|
faraday.request :url_encoded
|
31
|
+
faraday.use Faraday::Response::StubHubCustomLogger, logger, bodies: true
|
31
32
|
faraday.adapter Faraday.default_adapter
|
32
33
|
end
|
33
34
|
@conn.basic_auth(@consumer_key, @consumer_secret)
|
@@ -35,7 +36,7 @@ module StubHubApi
|
|
35
36
|
end
|
36
37
|
|
37
38
|
def init
|
38
|
-
@response = session.post '/login', { grant_type: 'password', username: @username, password: @password
|
39
|
+
@response = session.post '/login', { grant_type: 'password', username: @username, password: @password}
|
39
40
|
end
|
40
41
|
end
|
41
42
|
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module StubHubApi
|
2
|
+
class LoginSandbox < Base
|
3
|
+
attr_reader :response
|
4
|
+
|
5
|
+
def initialize(consumer_key:, consumer_secret:, username:, password:)
|
6
|
+
@consumer_key = consumer_key
|
7
|
+
@consumer_secret = consumer_secret
|
8
|
+
@username = username
|
9
|
+
@password = password
|
10
|
+
init
|
11
|
+
end
|
12
|
+
|
13
|
+
def full_response
|
14
|
+
response
|
15
|
+
end
|
16
|
+
|
17
|
+
def user_id
|
18
|
+
response.headers['x-stubhub-user-guid']
|
19
|
+
end
|
20
|
+
|
21
|
+
def account
|
22
|
+
response.body
|
23
|
+
end
|
24
|
+
|
25
|
+
private
|
26
|
+
def session
|
27
|
+
return @conn if @conn
|
28
|
+
|
29
|
+
@conn = Faraday.new(:url => sandbox_base_url, :ssl => {:verify => false}) do |faraday|
|
30
|
+
faraday.request :url_encoded
|
31
|
+
faraday.use Faraday::Response::StubHubCustomLogger, logger, bodies: true
|
32
|
+
faraday.adapter Faraday.default_adapter
|
33
|
+
end
|
34
|
+
@conn.basic_auth(@consumer_key, @consumer_secret)
|
35
|
+
@conn
|
36
|
+
end
|
37
|
+
|
38
|
+
def init
|
39
|
+
@response = session.post '/login', { grant_type: 'password', username: @username, password: @password, scope: 'SANDBOX'}
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -1,10 +1,27 @@
|
|
1
1
|
#api exception
|
2
2
|
class ApiException < StandardError;end
|
3
3
|
|
4
|
+
#monkey patch for json
|
5
|
+
module JSON
|
6
|
+
def self.is_json?(foo)
|
7
|
+
begin
|
8
|
+
return false unless foo.is_a?(String)
|
9
|
+
JSON.parse(foo).all?
|
10
|
+
rescue JSON::ParserError
|
11
|
+
false
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
|
4
17
|
module Faraday
|
5
18
|
class Response::StubHub < Response::Middleware
|
6
19
|
def parse_body(body)
|
7
|
-
JSON.
|
20
|
+
if JSON.is_json?(body)
|
21
|
+
JSON.parse(body)
|
22
|
+
else
|
23
|
+
Nokogiri::XML(body)
|
24
|
+
end
|
8
25
|
end
|
9
26
|
|
10
27
|
def check_status(env)
|
data/lib/stub_hub_api/search.rb
CHANGED
data/lib/stub_hub_api/version.rb
CHANGED
data/stub_hub_api.gemspec
CHANGED
@@ -20,6 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
|
21
21
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
22
|
spec.add_development_dependency 'rake', '~> 0'
|
23
|
-
spec.add_runtime_dependency '
|
23
|
+
spec.add_runtime_dependency 'nokogiri', '1.6.3.1', '>= 1.6.3.1'
|
24
|
+
spec.add_runtime_dependency 'faraday', '~> 0.9', '>= 0.9.2'
|
24
25
|
spec.add_runtime_dependency 'json', '~> 1.8.1', '>= 1.8.1'
|
25
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: stub_hub_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version:
|
4
|
+
version: 1.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- chebyte
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-11-12 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -38,6 +38,26 @@ dependencies:
|
|
38
38
|
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: nokogiri
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.6.3.1
|
48
|
+
- - ">="
|
49
|
+
- !ruby/object:Gem::Version
|
50
|
+
version: 1.6.3.1
|
51
|
+
type: :runtime
|
52
|
+
prerelease: false
|
53
|
+
version_requirements: !ruby/object:Gem::Requirement
|
54
|
+
requirements:
|
55
|
+
- - '='
|
56
|
+
- !ruby/object:Gem::Version
|
57
|
+
version: 1.6.3.1
|
58
|
+
- - ">="
|
59
|
+
- !ruby/object:Gem::Version
|
60
|
+
version: 1.6.3.1
|
41
61
|
- !ruby/object:Gem::Dependency
|
42
62
|
name: faraday
|
43
63
|
requirement: !ruby/object:Gem::Requirement
|
@@ -47,7 +67,7 @@ dependencies:
|
|
47
67
|
version: '0.9'
|
48
68
|
- - ">="
|
49
69
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.9.
|
70
|
+
version: 0.9.2
|
51
71
|
type: :runtime
|
52
72
|
prerelease: false
|
53
73
|
version_requirements: !ruby/object:Gem::Requirement
|
@@ -57,7 +77,7 @@ dependencies:
|
|
57
77
|
version: '0.9'
|
58
78
|
- - ">="
|
59
79
|
- !ruby/object:Gem::Version
|
60
|
-
version: 0.9.
|
80
|
+
version: 0.9.2
|
61
81
|
- !ruby/object:Gem::Dependency
|
62
82
|
name: json
|
63
83
|
requirement: !ruby/object:Gem::Requirement
|
@@ -97,8 +117,11 @@ files:
|
|
97
117
|
- lib/stub_hub_api/alert.rb
|
98
118
|
- lib/stub_hub_api/base.rb
|
99
119
|
- lib/stub_hub_api/event.rb
|
120
|
+
- lib/stub_hub_api/fulfillment.rb
|
100
121
|
- lib/stub_hub_api/listing.rb
|
122
|
+
- lib/stub_hub_api/logger.rb
|
101
123
|
- lib/stub_hub_api/login.rb
|
124
|
+
- lib/stub_hub_api/login_sandbox.rb
|
102
125
|
- lib/stub_hub_api/response.rb
|
103
126
|
- lib/stub_hub_api/search.rb
|
104
127
|
- lib/stub_hub_api/version.rb
|
@@ -123,7 +146,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
123
146
|
version: '0'
|
124
147
|
requirements: []
|
125
148
|
rubyforge_project:
|
126
|
-
rubygems_version: 2.2.
|
149
|
+
rubygems_version: 2.2.5
|
127
150
|
signing_key:
|
128
151
|
specification_version: 4
|
129
152
|
summary: Gem for StubHub
|