shipstation 0.14.5 → 0.18

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +5 -5
  2. data/MIT-LICENSE +0 -0
  3. data/Rakefile +1 -5
  4. data/lib/shipstation.rb +74 -51
  5. data/lib/shipstation/api_operations/create.rb +7 -7
  6. data/lib/shipstation/api_operations/delete.rb +9 -9
  7. data/lib/shipstation/api_operations/list.rb +7 -7
  8. data/lib/shipstation/api_operations/retrieve.rb +7 -7
  9. data/lib/shipstation/api_operations/update.rb +9 -9
  10. data/lib/shipstation/api_resource.rb +4 -4
  11. data/lib/shipstation/carrier.rb +8 -7
  12. data/lib/shipstation/customer.rb +4 -4
  13. data/lib/shipstation/order.rb +40 -26
  14. data/lib/shipstation/product.rb +5 -5
  15. data/lib/shipstation/shipment.rb +14 -8
  16. data/lib/shipstation/store.rb +10 -10
  17. data/lib/shipstation/tag.rb +8 -8
  18. data/lib/shipstation/version.rb +1 -1
  19. data/lib/shipstation/warehouse.rb +10 -10
  20. data/lib/tasks/shipstation_tasks.rake +0 -0
  21. data/test/dummy/Gemfile +3 -4
  22. data/test/dummy/Gemfile.lock +3 -3
  23. data/test/dummy/README.rdoc +0 -0
  24. data/test/dummy/Rakefile +0 -0
  25. data/test/dummy/app/assets/javascripts/application.js +0 -0
  26. data/test/dummy/app/assets/stylesheets/application.css +0 -0
  27. data/test/dummy/app/controllers/application_controller.rb +0 -0
  28. data/test/dummy/app/helpers/application_helper.rb +0 -0
  29. data/test/dummy/app/views/layouts/application.html.erb +4 -4
  30. data/test/dummy/bin/setup +1 -1
  31. data/test/dummy/bin/spring +1 -1
  32. data/test/dummy/config.ru +0 -0
  33. data/test/dummy/config/application.rb +0 -0
  34. data/test/dummy/config/boot.rb +0 -0
  35. data/test/dummy/config/database.yml +0 -0
  36. data/test/dummy/config/environment.rb +0 -0
  37. data/test/dummy/config/environments/development.rb +1 -1
  38. data/test/dummy/config/environments/production.rb +1 -1
  39. data/test/dummy/config/environments/test.rb +2 -2
  40. data/test/dummy/config/initializers/assets.rb +0 -0
  41. data/test/dummy/config/initializers/backtrace_silencers.rb +0 -0
  42. data/test/dummy/config/initializers/cookies_serializer.rb +0 -0
  43. data/test/dummy/config/initializers/filter_parameter_logging.rb +0 -0
  44. data/test/dummy/config/initializers/inflections.rb +0 -0
  45. data/test/dummy/config/initializers/mime_types.rb +0 -0
  46. data/test/dummy/config/initializers/session_store.rb +0 -0
  47. data/test/dummy/config/initializers/shipstation.rb +0 -0
  48. data/test/dummy/config/initializers/wrap_parameters.rb +0 -0
  49. data/test/dummy/config/locales/en.yml +0 -0
  50. data/test/dummy/config/routes.rb +0 -0
  51. data/test/dummy/config/secrets.yml +0 -0
  52. data/test/dummy/db/seeds.rb +0 -0
  53. data/test/dummy/public/404.html +52 -52
  54. data/test/dummy/public/422.html +52 -52
  55. data/test/dummy/public/500.html +51 -51
  56. data/test/dummy/public/favicon.ico +0 -0
  57. data/test/dummy/public/robots.txt +0 -0
  58. data/test/dummy/test/test_helper.rb +0 -0
  59. data/test/shipstation_test.rb +0 -0
  60. data/test/test_helper.rb +2 -2
  61. metadata +27 -28
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 2ed2ef561844c229b2e294f02691309719350cfa
4
- data.tar.gz: 0b58ed58ff3f7adafce3984d0ce99c8c66638116
2
+ SHA256:
3
+ metadata.gz: fe71077558f3724730188ad4a60e856634889a7b8ee3800609c967f0bf7873a1
4
+ data.tar.gz: f42db728139bc16c78f045ac6bad23f44501bc1938517b8a9421dd2804b0e7ed
5
5
  SHA512:
6
- metadata.gz: 6bc361c9ff8ab8bfe99a5de3f34600dfa1038f2d5219d43afa88f7d2b8cef4f0812c0a7345092b8d8e160c27f66865dfd3a686e224099fa8597bcc545361697d
7
- data.tar.gz: 3022ff46eac5e5dea1069cf205215ee1ac5a4af73c0a3ddf94ddade4db5750b4d468fd29e2d16540fe10f2190accb58233f4775555d8655668071379bda11371
6
+ metadata.gz: f131c227fa6a7993ca355e5da0624609170fc0d06881a47697292deeeafb8864f6b0103a7a37e72ef460e2bf862f84f035a548d714bececa58913933f15d00c1
7
+ data.tar.gz: 2313f8c0078b3fc4dcdf275914573e6b8bfee237fa9ea993bc37515f0ec9b5b46812a2d9d4c86e05fe2e2720fa68613b53391c056f54575824b5dd65cf22ff51
File without changes
data/Rakefile CHANGED
@@ -8,17 +8,13 @@ require 'rdoc/task'
8
8
 
9
9
  RDoc::Task.new(:rdoc) do |rdoc|
10
10
  rdoc.rdoc_dir = 'rdoc'
11
- rdoc.title = 'Shipstation'
11
+ rdoc.title = 'Shipstation'
12
12
  rdoc.options << '--line-numbers'
13
13
  rdoc.rdoc_files.include('README.rdoc')
14
14
  rdoc.rdoc_files.include('lib/**/*.rb')
15
15
  end
16
16
 
17
17
 
18
-
19
-
20
-
21
-
22
18
  Bundler::GemHelper.install_tasks
23
19
 
24
20
  require 'rake/testtask'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rest-client'
2
4
 
3
5
  require 'shipstation/api_operations/list'
@@ -17,63 +19,84 @@ require 'shipstation/product'
17
19
  require 'shipstation/tag'
18
20
 
19
21
  module Shipstation
20
- API_BASE = "https://ssapi.shipstation.com/"
21
22
 
22
- class ShipstationError < StandardError
23
+ API_BASE = "https://ssapi.shipstation.com/"
24
+
25
+ class ShipstationError < StandardError
26
+ end
27
+
28
+ class AuthenticationError < ShipstationError;
29
+ end
30
+ class ConfigurationError < ShipstationError;
31
+ end
32
+ class ApiRequestError < ShipstationError
33
+ attr_reader :response_code, :response_headers, :response_body
34
+
35
+ def initialize(response_code:, response_headers:, response_body:)
36
+ @response_code = response_code
37
+ @response_headers = response_headers
38
+ @response_body = response_body
23
39
  end
40
+ end
24
41
 
25
- class AuthenticationError < ShipstationError; end
26
- class ConfigurationError < ShipstationError; end
42
+ class << self
43
+ def username
44
+ defined? @username and @username or raise(
45
+ ConfigurationError, "Shipstation username not configured"
46
+ )
47
+ end
27
48
 
28
- class << self
29
- def username
30
- defined? @username and @username or raise(
31
- ConfigurationError, "Shipstation username not configured"
32
- )
33
- end
34
- attr_writer :username
49
+ attr_writer :username
35
50
 
36
- def password
37
- defined? @password and @password or raise(
38
- ConfigurationError, "Shipstation password not configured"
39
- )
40
- end
41
- attr_writer :password
42
-
43
- def request method, resource, params={}
44
- ss_username = params[:username] || Shipstation.username
45
- ss_password = params[:password] || Shipstation.password
46
-
47
- params.except!(:username, :password)
48
-
49
- defined? method or raise(
50
- ArgumentError, "Request method has not been specified"
51
- )
52
- defined? resource or raise(
53
- ArgumentError, "Request resource has not been specified"
54
- )
55
- if method == :get
56
- headers = { :accept => :json, content_type: :json }.merge({params: params})
57
- payload = nil
58
- else
59
- headers = { :accept => :json, content_type: :json }
60
- payload = params
61
- end
62
- RestClient::Request.new({
63
- method: method,
64
- url: API_BASE + resource,
65
- user: ss_username,
66
- password: ss_password,
67
- payload: payload ? payload.to_json : nil,
68
- headers: headers
69
- }).execute do |response, request, result|
70
- str_response = response.to_str
71
- str_response.blank? ? '' : JSON.parse(str_response)
72
- end
73
- end
51
+ def password
52
+ defined? @password and @password or raise(
53
+ ConfigurationError, "Shipstation password not configured"
54
+ )
55
+ end
56
+
57
+ attr_writer :password
58
+
59
+ def request method, resource, params = {}
60
+ ss_username = params[:username] || Shipstation.username
61
+ ss_password = params[:password] || Shipstation.password
74
62
 
75
- def datetime_format datetime
76
- datetime.strftime("%Y-%m-%d %T")
63
+ params.except!(:username, :password)
64
+
65
+ defined? method or raise(
66
+ ArgumentError, "Request method has not been specified"
67
+ )
68
+ defined? resource or raise(
69
+ ArgumentError, "Request resource has not been specified"
70
+ )
71
+ if method == :get
72
+ headers = {:accept => :json, content_type: :json}.merge({params: params})
73
+ payload = nil
74
+ else
75
+ headers = {:accept => :json, content_type: :json}
76
+ payload = params
77
+ end
78
+ RestClient::Request.new({
79
+ method: method,
80
+ url: API_BASE + resource,
81
+ user: ss_username,
82
+ password: ss_password,
83
+ payload: payload ? payload.to_json : nil,
84
+ headers: headers
85
+ }).execute do |response, request, result|
86
+ if response.code != 200
87
+ raise ApiRequestError.new(
88
+ response_code: response.code,
89
+ response_headers: response.headers,
90
+ response_body: response.to_str
91
+ )
77
92
  end
93
+ str_response = response.to_str
94
+ str_response.blank? ? '' : JSON.parse(str_response)
95
+ end
96
+ end
97
+
98
+ def datetime_format datetime
99
+ datetime.strftime("%Y-%m-%d %T")
78
100
  end
101
+ end
79
102
  end
@@ -1,11 +1,11 @@
1
1
  module Shipstation
2
- module APIOperations
3
- module Create
2
+ module APIOperations
3
+ module Create
4
4
 
5
- def create params={}
6
- response = Shipstation.request(:post, "#{class_name.downcase.pluralize}/create#{class_name.downcase}", params)
7
- return response
8
- end
9
- end
5
+ def create params = {}
6
+ response = Shipstation.request(:post, "#{class_name.downcase.pluralize}/create#{class_name.downcase}", params)
7
+ return response
8
+ end
10
9
  end
10
+ end
11
11
  end
@@ -1,11 +1,11 @@
1
1
  module Shipstation
2
- module APIOperations
3
- module Delete
4
-
5
- def delete object_id, params={}
6
- Shipstation.request(:delete, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
- end
8
-
9
- end
10
- end
2
+ module APIOperations
3
+ module Delete
4
+
5
+ def delete object_id, params = {}
6
+ Shipstation.request(:delete, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
+ end
8
+
9
+ end
10
+ end
11
11
  end
@@ -1,12 +1,12 @@
1
1
  module Shipstation
2
- module APIOperations
3
- module List
2
+ module APIOperations
3
+ module List
4
4
 
5
- def list params={}
6
- response = Shipstation.request(:get, class_name.downcase.pluralize, params)
5
+ def list params = {}
6
+ response = Shipstation.request(:get, class_name.downcase.pluralize, params)
7
7
 
8
- return response
9
- end
10
- end
8
+ return response
9
+ end
11
10
  end
11
+ end
12
12
  end
@@ -1,11 +1,11 @@
1
1
  module Shipstation
2
- module APIOperations
3
- module Retrieve
2
+ module APIOperations
3
+ module Retrieve
4
4
 
5
- def retrieve object_id, params={}
6
- response = Shipstation.request(:get, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
- return response
8
- end
9
- end
5
+ def retrieve object_id, params = {}
6
+ response = Shipstation.request(:get, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
+ return response
8
+ end
10
9
  end
10
+ end
11
11
  end
@@ -1,11 +1,11 @@
1
1
  module Shipstation
2
- module APIOperations
3
- module Update
4
-
5
- def update object_id, params={}
6
- Shipstation.request(:put, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
- end
8
-
9
- end
10
- end
2
+ module APIOperations
3
+ module Update
4
+
5
+ def update object_id, params = {}
6
+ Shipstation.request(:put, "#{class_name.downcase.pluralize}/#{object_id}", params)
7
+ end
8
+
9
+ end
10
+ end
11
11
  end
@@ -1,8 +1,8 @@
1
1
  module Shipstation
2
- class ApiResource
2
+ class ApiResource
3
3
 
4
- def self.class_name
5
- self.name.split('::')[-1]
6
- end
4
+ def self.class_name
5
+ self.name.split('::')[-1]
7
6
  end
7
+ end
8
8
  end
@@ -1,11 +1,12 @@
1
1
  module Shipstation
2
- class Carrier < ApiResource
2
+ class Carrier < ApiResource
3
+ extend Shipstation::APIOperations::List
3
4
 
4
- class << self
5
- def list
6
- response = Shipstation.request(:get, 'carriers')
7
- return response
8
- end
9
- end
5
+ class << self
6
+ def list_services(params = {})
7
+ response = Shipstation.request(:get, 'carriers/listservices', params)
8
+ return response
9
+ end
10
10
  end
11
+ end
11
12
  end
@@ -1,6 +1,6 @@
1
1
  module Shipstation
2
- class Customer < ApiResource
3
- extend Shipstation::APIOperations::List
4
- extend Shipstation::APIOperations::Retrieve
5
- end
2
+ class Customer < ApiResource
3
+ extend Shipstation::APIOperations::List
4
+ extend Shipstation::APIOperations::Retrieve
5
+ end
6
6
  end
@@ -1,28 +1,42 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Shipstation
2
- class Order < ApiResource
3
- extend Shipstation::APIOperations::List
4
- extend Shipstation::APIOperations::Create
5
- extend Shipstation::APIOperations::Retrieve
6
- extend Shipstation::APIOperations::Delete
7
-
8
- class << self
9
- def create_label params={}
10
- response = Shipstation.request(:post, "orders/createlabelfororder", params)
11
-
12
- return response
13
- end
14
-
15
- def assign_tag params={}
16
- response = Shipstation.request(:post, "orders/addtag", params)
17
-
18
- return response
19
- end
20
-
21
- # params: { [:username], [:password], input: [ {:order_number, ... }, { :order_number, ... } ] }
22
- # todo: complete in future phase
23
- # def create_update_orders params
24
- # Shipstation.request(:post, "orders/createorders", params)
25
- # end
26
- end
4
+ class Order < ApiResource
5
+ extend Shipstation::APIOperations::List
6
+ extend Shipstation::APIOperations::Create
7
+ extend Shipstation::APIOperations::Retrieve
8
+ extend Shipstation::APIOperations::Delete
9
+
10
+ class << self
11
+ def create_label(params = {})
12
+ response = Shipstation.request(:post, 'orders/createlabelfororder', params)
13
+
14
+ response
15
+ end
16
+
17
+ def assign_tag(params = {})
18
+ response = Shipstation.request(:post, 'orders/addtag', params)
19
+
20
+ response
21
+ end
22
+
23
+ def remove_tag(params = {})
24
+ response = Shipstation.request(:post, 'orders/removetag', params)
25
+
26
+ response
27
+ end
28
+
29
+ def create_bulk(params = {})
30
+ response = Shipstation.request(:post, 'orders/createorders', params)
31
+
32
+ response
33
+ end
34
+
35
+ # params: { [:username], [:password], input: [ {:order_number, ... }, { :order_number, ... } ] }
36
+ # todo: complete in future phase
37
+ # def create_update_orders params
38
+ # Shipstation.request(:post, "orders/createorders", params)
39
+ # end
27
40
  end
28
- end
41
+ end
42
+ end
@@ -1,7 +1,7 @@
1
1
  module Shipstation
2
- class Product < ApiResource
3
- extend Shipstation::APIOperations::List
4
- extend Shipstation::APIOperations::Retrieve
5
- extend Shipstation::APIOperations::Update
6
- end
2
+ class Product < ApiResource
3
+ extend Shipstation::APIOperations::List
4
+ extend Shipstation::APIOperations::Retrieve
5
+ extend Shipstation::APIOperations::Update
6
+ end
7
7
  end
@@ -1,13 +1,19 @@
1
1
  module Shipstation
2
- class Shipment < ApiResource
3
- extend Shipstation::APIOperations::List
2
+ class Shipment < ApiResource
3
+ extend Shipstation::APIOperations::List
4
4
 
5
- class << self
6
- def get_rates params={}
7
- response = Shipstation.request(:post, "shipments/getrates", params)
5
+ class << self
6
+ def get_rates(params = {})
7
+ Shipstation.request(:post, "shipments/getrates", params)
8
+ end
8
9
 
9
- return response
10
- end
11
- end
10
+ def create_label(params = {})
11
+ Shipstation.request(:post, 'shipments/createlabel', params)
12
+ end
13
+
14
+ def void_label(params = {})
15
+ Shipstation.request(:post, 'shipments/voidlabel', params)
16
+ end
12
17
  end
18
+ end
13
19
  end
@@ -1,14 +1,14 @@
1
1
  module Shipstation
2
- class Store < ApiResource
3
- extend Shipstation::APIOperations::Retrieve
4
- extend Shipstation::APIOperations::Update
2
+ class Store < ApiResource
3
+ extend Shipstation::APIOperations::Retrieve
4
+ extend Shipstation::APIOperations::Update
5
5
 
6
- class << self
7
- def list
8
- response = Shipstation.request(:get, 'stores')
9
-
10
- return response
11
- end
12
- end
6
+ class << self
7
+ def list
8
+ response = Shipstation.request(:get, 'stores')
9
+
10
+ return response
11
+ end
13
12
  end
13
+ end
14
14
  end
@@ -1,12 +1,12 @@
1
1
  module Shipstation
2
- class Tag < ApiResource
2
+ class Tag < ApiResource
3
3
 
4
- class << self
5
- def list
6
- response = Shipstation.request(:get, 'accounts/listtags')
7
-
8
- return response
9
- end
10
- end
4
+ class << self
5
+ def list
6
+ response = Shipstation.request(:get, 'accounts/listtags')
7
+
8
+ return response
9
+ end
11
10
  end
11
+ end
12
12
  end
@@ -1,3 +1,3 @@
1
1
  module Shipstation
2
- VERSION = "0.14.5"
2
+ VERSION = "0.18"
3
3
  end
@@ -1,15 +1,15 @@
1
1
  module Shipstation
2
- class Warehouse < ApiResource
3
- extend Shipstation::APIOperations::Create
4
- extend Shipstation::APIOperations::Retrieve
5
- extend Shipstation::APIOperations::Update
2
+ class Warehouse < ApiResource
3
+ extend Shipstation::APIOperations::Create
4
+ extend Shipstation::APIOperations::Retrieve
5
+ extend Shipstation::APIOperations::Update
6
6
 
7
- class << self
8
- def list
9
- response = Shipstation.request(:get, 'warehouses')
7
+ class << self
8
+ def list
9
+ response = Shipstation.request(:get, 'warehouses')
10
10
 
11
- return response
12
- end
13
- end
11
+ return response
12
+ end
14
13
  end
14
+ end
15
15
  end
File without changes
@@ -26,14 +26,13 @@ gem 'sdoc', '~> 0.4.0', group: :doc
26
26
  gem 'ffi', '~> 1.9.24'
27
27
  gem 'sprockets', '~> 3.7.2'
28
28
 
29
- gem 'rest-client'
30
- gem 'shipstation'
29
+ gem 'rest-client'
30
+ gem 'shipstation'
31
31
 
32
-
33
32
 
34
33
  # Use ActiveModel has_secure_password
35
34
  # gem 'bcrypt', '~> 3.1.7'
36
-
35
+
37
36
  # Use Unicorn as the app server
38
37
  # gem 'unicorn'
39
38
 
@@ -79,12 +79,12 @@ GEM
79
79
  mime-types-data (~> 3.2015)
80
80
  mime-types-data (3.2018.0812)
81
81
  mini_mime (1.0.1)
82
- mini_portile2 (2.3.0)
82
+ mini_portile2 (2.4.0)
83
83
  minitest (5.11.3)
84
84
  multi_json (1.13.1)
85
85
  netrc (0.11.0)
86
- nokogiri (1.8.4)
87
- mini_portile2 (~> 2.3.0)
86
+ nokogiri (1.10.4)
87
+ mini_portile2 (~> 2.4.0)
88
88
  rack (1.6.10)
89
89
  rack-test (0.6.3)
90
90
  rack (>= 1.0)
File without changes
File without changes
@@ -1,10 +1,10 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>Dummy</title>
5
- <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
- <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
- <%= csrf_meta_tags %>
4
+ <title>Dummy</title>
5
+ <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
6
+ <%= javascript_include_tag 'application', 'data-turbolinks-track' => true %>
7
+ <%= csrf_meta_tags %>
8
8
  </head>
9
9
  <body>
10
10
 
@@ -2,7 +2,7 @@
2
2
  require 'pathname'
3
3
 
4
4
  # path to your application root.
5
- APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
5
+ APP_ROOT = Pathname.new File.expand_path('../../', __FILE__)
6
6
 
7
7
  Dir.chdir APP_ROOT do
8
8
  # This script is a starting point to setup your application.
@@ -8,7 +8,7 @@ unless defined?(Spring)
8
8
  require 'bundler'
9
9
 
10
10
  lockfile = Bundler::LockfileParser.new(Bundler.default_lockfile.read)
11
- spring = lockfile.specs.detect { |spec| spec.name == "spring" }
11
+ spring = lockfile.specs.detect {|spec| spec.name == "spring"}
12
12
  if spring
13
13
  Gem.use_paths Gem.dir, Bundler.bundle_path.to_s, *Gem.path
14
14
  gem 'spring', spring.version
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -10,7 +10,7 @@ Rails.application.configure do
10
10
  config.eager_load = false
11
11
 
12
12
  # Show full error reports and disable caching.
13
- config.consider_all_requests_local = true
13
+ config.consider_all_requests_local = true
14
14
  config.action_controller.perform_caching = false
15
15
 
16
16
  # Don't care if the mailer can't send.
@@ -11,7 +11,7 @@ Rails.application.configure do
11
11
  config.eager_load = true
12
12
 
13
13
  # Full error reports are disabled and caching is turned on.
14
- config.consider_all_requests_local = false
14
+ config.consider_all_requests_local = false
15
15
  config.action_controller.perform_caching = true
16
16
 
17
17
  # Enable Rack::Cache to put a simple HTTP cache in front of your application
@@ -13,11 +13,11 @@ Rails.application.configure do
13
13
  config.eager_load = false
14
14
 
15
15
  # Configure static file server for tests with Cache-Control for performance.
16
- config.serve_static_files = true
16
+ config.serve_static_files = true
17
17
  config.static_cache_control = 'public, max-age=3600'
18
18
 
19
19
  # Show full error reports and disable caching.
20
- config.consider_all_requests_local = true
20
+ config.consider_all_requests_local = true
21
21
  config.action_controller.perform_caching = false
22
22
 
23
23
  # Raise exceptions instead of rendering exception templates.
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,67 +1,67 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>The page you were looking for doesn't exist (404)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
14
 
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
20
 
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
33
 
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
39
 
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
55
  </head>
56
56
 
57
57
  <body>
58
- <!-- This file lives in public/404.html -->
59
- <div class="dialog">
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
60
  <div>
61
- <h1>The page you were looking for doesn't exist.</h1>
62
- <p>You may have mistyped the address or the page may have moved.</p>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
63
  </div>
64
64
  <p>If you are the application owner check the logs for more information.</p>
65
- </div>
65
+ </div>
66
66
  </body>
67
67
  </html>
@@ -1,67 +1,67 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>The change you wanted was rejected (422)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
14
 
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
20
 
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
33
 
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
39
 
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
55
  </head>
56
56
 
57
57
  <body>
58
- <!-- This file lives in public/422.html -->
59
- <div class="dialog">
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
60
  <div>
61
- <h1>The change you wanted was rejected.</h1>
62
- <p>Maybe you tried to change something you didn't have access to.</p>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
63
  </div>
64
64
  <p>If you are the application owner check the logs for more information.</p>
65
- </div>
65
+ </div>
66
66
  </body>
67
67
  </html>
@@ -1,66 +1,66 @@
1
1
  <!DOCTYPE html>
2
2
  <html>
3
3
  <head>
4
- <title>We're sorry, but something went wrong (500)</title>
5
- <meta name="viewport" content="width=device-width,initial-scale=1">
6
- <style>
7
- body {
8
- background-color: #EFEFEF;
9
- color: #2E2F30;
10
- text-align: center;
11
- font-family: arial, sans-serif;
12
- margin: 0;
13
- }
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
14
 
15
- div.dialog {
16
- width: 95%;
17
- max-width: 33em;
18
- margin: 4em auto 0;
19
- }
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
20
 
21
- div.dialog > div {
22
- border: 1px solid #CCC;
23
- border-right-color: #999;
24
- border-left-color: #999;
25
- border-bottom-color: #BBB;
26
- border-top: #B00100 solid 4px;
27
- border-top-left-radius: 9px;
28
- border-top-right-radius: 9px;
29
- background-color: white;
30
- padding: 7px 12% 0;
31
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
- }
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
33
 
34
- h1 {
35
- font-size: 100%;
36
- color: #730E15;
37
- line-height: 1.5em;
38
- }
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
39
 
40
- div.dialog > p {
41
- margin: 0 0 1em;
42
- padding: 1em;
43
- background-color: #F7F7F7;
44
- border: 1px solid #CCC;
45
- border-right-color: #999;
46
- border-left-color: #999;
47
- border-bottom-color: #999;
48
- border-bottom-left-radius: 4px;
49
- border-bottom-right-radius: 4px;
50
- border-top-color: #DADADA;
51
- color: #666;
52
- box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
- }
54
- </style>
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
55
  </head>
56
56
 
57
57
  <body>
58
- <!-- This file lives in public/500.html -->
59
- <div class="dialog">
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
60
  <div>
61
- <h1>We're sorry, but something went wrong.</h1>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
62
  </div>
63
63
  <p>If you are the application owner check the logs for more information.</p>
64
- </div>
64
+ </div>
65
65
  </body>
66
66
  </html>
File without changes
File without changes
File without changes
File without changes
@@ -1,7 +1,7 @@
1
1
  # Configure Rails Environment
2
2
  ENV["RAILS_ENV"] = "test"
3
3
 
4
- require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
5
  ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
6
  require "rails/test_help"
7
7
 
@@ -10,7 +10,7 @@ require "rails/test_help"
10
10
  Minitest.backtrace_filter = Minitest::BacktraceFilter.new
11
11
 
12
12
  # Load support files
13
- Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
13
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
14
14
 
15
15
  # Load fixtures from the engine
16
16
  if ActiveSupport::TestCase.respond_to?(:fixture_path=)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: shipstation
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.14.5
4
+ version: '0.18'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tom Dallimore
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-09 00:00:00.000000000 Z
11
+ date: 2020-10-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rest-client
@@ -112,52 +112,51 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
112
  - !ruby/object:Gem::Version
113
113
  version: '0'
114
114
  requirements: []
115
- rubyforge_project:
116
- rubygems_version: 2.5.1
115
+ rubygems_version: 3.1.2
117
116
  signing_key:
118
117
  specification_version: 4
119
118
  summary: A Ruby wrapper for the Shipstation API
120
119
  test_files:
121
- - test/dummy/app/controllers/application_controller.rb
122
- - test/dummy/app/views/layouts/application.html.erb
123
120
  - test/dummy/app/assets/javascripts/application.js
124
121
  - test/dummy/app/assets/stylesheets/application.css
122
+ - test/dummy/app/controllers/application_controller.rb
125
123
  - test/dummy/app/helpers/application_helper.rb
126
- - test/dummy/test/test_helper.rb
124
+ - test/dummy/app/views/layouts/application.html.erb
125
+ - test/dummy/bin/bundle
126
+ - test/dummy/bin/rails
127
127
  - test/dummy/bin/rake
128
128
  - test/dummy/bin/setup
129
- - test/dummy/bin/bundle
130
129
  - test/dummy/bin/spring
131
- - test/dummy/bin/rails
132
- - test/dummy/config/secrets.yml
133
- - test/dummy/config/routes.rb
134
- - test/dummy/config/locales/en.yml
135
- - test/dummy/config/environments/production.rb
136
- - test/dummy/config/environments/development.rb
137
- - test/dummy/config/environments/test.rb
138
- - test/dummy/config/environment.rb
139
130
  - test/dummy/config/application.rb
140
- - test/dummy/config/database.yml
141
131
  - test/dummy/config/boot.rb
132
+ - test/dummy/config/database.yml
133
+ - test/dummy/config/environment.rb
134
+ - test/dummy/config/environments/development.rb
135
+ - test/dummy/config/environments/production.rb
136
+ - test/dummy/config/environments/test.rb
137
+ - test/dummy/config/initializers/assets.rb
142
138
  - test/dummy/config/initializers/backtrace_silencers.rb
143
- - test/dummy/config/initializers/mime_types.rb
139
+ - test/dummy/config/initializers/cookies_serializer.rb
144
140
  - test/dummy/config/initializers/filter_parameter_logging.rb
141
+ - test/dummy/config/initializers/inflections.rb
142
+ - test/dummy/config/initializers/mime_types.rb
145
143
  - test/dummy/config/initializers/session_store.rb
146
- - test/dummy/config/initializers/wrap_parameters.rb
147
- - test/dummy/config/initializers/assets.rb
148
- - test/dummy/config/initializers/cookies_serializer.rb
149
144
  - test/dummy/config/initializers/shipstation.rb
150
- - test/dummy/config/initializers/inflections.rb
145
+ - test/dummy/config/initializers/wrap_parameters.rb
146
+ - test/dummy/config/locales/en.yml
147
+ - test/dummy/config/routes.rb
148
+ - test/dummy/config/secrets.yml
151
149
  - test/dummy/config.ru
152
- - test/dummy/Rakefile
153
- - test/dummy/public/favicon.ico
154
- - test/dummy/public/422.html
155
- - test/dummy/public/500.html
156
- - test/dummy/public/404.html
157
- - test/dummy/public/robots.txt
158
150
  - test/dummy/db/seeds.rb
159
151
  - test/dummy/Gemfile
160
152
  - test/dummy/Gemfile.lock
153
+ - test/dummy/public/404.html
154
+ - test/dummy/public/422.html
155
+ - test/dummy/public/500.html
156
+ - test/dummy/public/favicon.ico
157
+ - test/dummy/public/robots.txt
158
+ - test/dummy/Rakefile
161
159
  - test/dummy/README.rdoc
160
+ - test/dummy/test/test_helper.rb
162
161
  - test/shipstation_test.rb
163
162
  - test/test_helper.rb