sendle_api 0.1.4 → 0.1.9

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: a80399749f497c0cfb91bbf482a96ad8a41b74c7c759014ea6cfc755b7f2127b
4
- data.tar.gz: 790d234ef4b3f8dda30f789e8a92f99663df66fd3e2a8693c02502346811494c
3
+ metadata.gz: 7e44918e10ca83b0d05d242cbf0311c79e84b8e80a0618be6e099d300da2f4ac
4
+ data.tar.gz: 4aa87b10d953856785402638e155202405b98d8d61757ed7144b415db3cfe80b
5
5
  SHA512:
6
- metadata.gz: e596d9496665068ac763770b8d99f6bd40e302b1055235fce94372020af86e311adcc200f967da4579dba9f4afd7f8b847feffa239eb5e9d609865e29c32cf58
7
- data.tar.gz: f4073cfbfe00bb060522da79de8d680ebd68fbc3892678fed7612738369787281902a942c0d345b1e02aa3c1a544ec1d678616f7fd7a1f309598b8d1fa1ed05d
6
+ metadata.gz: 7baa761f0218c16a39e60eb7ddfc51db5e389cdfa38d91a9532d318ddbb79c8318f1ae0d037a2d8ef81a23b6295ac85f203973678d7861af10fa51b2f78c0746
7
+ data.tar.gz: 8562dd99a2dedaa8249b25a8c02cdd105e20c632bb1800357a26243fd4fb0253a4ab981b3265e9cee333f10c73b862be33f0ef4b9171120174eb02caf91da343
data/lib/dev/config.rb CHANGED
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "dotenv/load"
2
4
 
3
5
  def set_config
4
6
  SendleAPI.configure do |config|
5
- config.sendle_id = ENV["SENDLE_ID"]
7
+ config.sendle_id = ENV["SENDLE_ID"]
6
8
  config.api_key = ENV["SENDLE_API_KEY"]
7
9
  config.testing = true
8
10
  end
9
- end
11
+ end
@@ -1,9 +1,11 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "zeitwerk"
2
4
  require_relative "config"
3
5
 
4
6
  loader = Zeitwerk::Loader.for_gem
5
7
  loader.inflector.inflect(
6
- "sendle_api" => "SendleAPI"
8
+ "sendle_api" => "SendleAPI",
7
9
  )
8
10
  loader.push_dir("./lib")
9
11
  loader.collapse("./lib/sendle_api/resources")
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Configuration
3
5
  attr_accessor :sendle_id, :api_key, :testing
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Address < Base
3
5
  include NotSaveable
@@ -7,9 +9,9 @@ module SendleAPI
7
9
  suburb: nil,
8
10
  state_name: nil,
9
11
  postcode: nil,
10
- country: nil
12
+ country: nil,
11
13
  }
12
14
 
13
15
  validates :address_line1, :suburb, :state_name, :postcode, :country, presence: true
14
16
  end
15
- end
17
+ end
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  module SendleAPI
3
4
  class Base < ::ActiveResource::Base
4
5
  validate :child_object_validations
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Contact < Base
3
5
  include NotSaveable
@@ -12,4 +14,4 @@ module SendleAPI
12
14
 
13
15
  FIELDS = [:name, :phone, :company]
14
16
  end
15
- end
17
+ end
@@ -1,4 +1,6 @@
1
- require 'digest/sha1'
1
+ # frozen_string_literal: true
2
+
3
+ require "digest/sha1"
2
4
 
3
5
  module SendleAPI
4
6
  class Order < Base
@@ -8,7 +10,7 @@ module SendleAPI
8
10
  has_one :receiver, class_name: Receiver
9
11
 
10
12
  validates :description, :weight, :sender, :receiver, presence: true
11
- validates :first_mile_option, inclusion: { in: ["pickup", "drop off"]}
13
+ validates :first_mile_option, inclusion: { in: ["pickup", "drop off"] }
12
14
 
13
15
  DEFAULT_ATTRS = {
14
16
  pickup_date: nil,
@@ -20,7 +22,7 @@ module SendleAPI
20
22
  weight: Weight.new,
21
23
  volume: Volume.new,
22
24
  sender: Sender.new,
23
- receiver: Receiver.new
25
+ receiver: Receiver.new,
24
26
  }
25
27
 
26
28
  CHILD_OBJECT_KEYS_FOR_VALIDATION = [:weight, :volume, :sender, :receiver]
@@ -47,8 +49,7 @@ module SendleAPI
47
49
  end
48
50
 
49
51
  def set_idempotency_key_header
50
- self.class.headers.merge!("Idempotency-Key": Digest::SHA1.hexdigest(self.encode))
52
+ self.class.headers.merge!("Idempotency-Key": Digest::SHA1.hexdigest(encode))
51
53
  end
52
-
53
54
  end
54
55
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Receiver < Base
3
5
  include NotSaveable
@@ -10,7 +12,7 @@ module SendleAPI
10
12
  DEFAULT_ATTRS = {
11
13
  contact: Contact.new,
12
14
  address: Address.new,
13
- instructions: ""
15
+ instructions: "",
14
16
  }
15
17
 
16
18
  CHILD_OBJECT_KEYS_FOR_VALIDATION = [:contact, :address]
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Sender < Base
3
5
  include NotSaveable
@@ -7,11 +9,11 @@ module SendleAPI
7
9
 
8
10
  validates :contact, :address, presence: true
9
11
  validate :address_country_valid
10
-
12
+
11
13
  DEFAULT_ATTRS = {
12
14
  contact: Contact.new,
13
15
  address: Address.new,
14
- instructions: ""
16
+ instructions: "",
15
17
  }
16
18
 
17
19
  CHILD_OBJECT_KEYS_FOR_VALIDATION = [:contact, :address]
@@ -20,9 +22,9 @@ module SendleAPI
20
22
 
21
23
  def address_country_valid
22
24
  return unless address
23
-
24
- valid_sender_countries = ['AU', 'US', 'Australia', 'United States']
25
- unless valid_sender_countries.include? address.country
25
+
26
+ valid_sender_countries = ["AU", "US", "Australia", "United States"]
27
+ unless valid_sender_countries.include?(address.country)
26
28
  errors.add(:sender_address_country, "Must be from #{valid_sender_countries}")
27
29
  end
28
30
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Tracking < Base
3
5
  self.prefix = "/api/tracking"
@@ -1,11 +1,13 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module SendleAPI
2
4
  class Volume < Base
3
5
  include NotSaveable
4
6
 
5
7
  DEFAULT_ATTRS = {
6
8
  value: nil,
7
- units: nil
9
+ units: nil,
8
10
  }
9
- validates :units, inclusion: { in: %w(m3 in3) }, if: -> {value.present?}
11
+ validates :units, inclusion: { in: ["m3", "in3"] }, if: -> { value.present? }
10
12
  end
11
- end
13
+ end
@@ -1,3 +1,4 @@
1
+ # frozen_string_literal: true
1
2
 
2
3
  module SendleAPI
3
4
  class Weight < Base
@@ -5,10 +6,10 @@ module SendleAPI
5
6
 
6
7
  DEFAULT_ATTRS = {
7
8
  value: nil,
8
- units: nil
9
+ units: nil,
9
10
  }
10
11
 
11
12
  validates :value, presence: true
12
- validates :units, inclusion: { in: %w(lb kg) }
13
+ validates :units, inclusion: { in: ["lb", "kg"] }
13
14
  end
14
- end
15
+ end
@@ -1,3 +1,3 @@
1
1
  module SendleAPI
2
- VERSION = "0.1.4"
2
+ VERSION = "0.1.9"
3
3
  end
data/lib/sendle_api.rb CHANGED
@@ -1,10 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "sendle_api/version"
2
4
  require "active_resource"
3
5
 
4
6
  module SendleAPI
5
- require "phonelib"
6
- require "countries"
7
-
8
7
  require "sendle_api/configuration"
9
8
  require "sendle_api/not_saveable"
10
9
  require "sendle_api/errors"
data/sendle_api.gemspec CHANGED
@@ -1,4 +1,5 @@
1
1
  # frozen_string_literal: true
2
+
2
3
  require_relative "lib/sendle_api/version"
3
4
 
4
5
  Gem::Specification.new do |spec|
@@ -28,15 +29,14 @@ Gem::Specification.new do |spec|
28
29
  spec.require_paths = ["lib"]
29
30
 
30
31
  spec.add_dependency("activeresource", ">= 4.1.0")
31
- spec.add_dependency("countries", "~> 3.0")
32
- spec.add_dependency("phonelib", "~> 0.6")
33
32
 
34
- spec.add_development_dependency("rspec", "~> 3.2")
35
33
  spec.add_development_dependency("dotenv")
36
- spec.add_development_dependency("pry-byebug")
37
- spec.add_development_dependency("pry")
38
34
  spec.add_development_dependency("guard-rspec")
35
+ spec.add_development_dependency("pry")
36
+ spec.add_development_dependency("pry-byebug")
37
+ spec.add_development_dependency("rspec", "~> 3.2")
39
38
  spec.add_development_dependency("rubocop")
40
39
  spec.add_development_dependency("rubocop-shopify")
40
+ spec.add_development_dependency("zeitwerk", "~> 2.1", ">= 2.1.8")
41
41
  spec.metadata["rubygems_mfa_required"] = "true"
42
42
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sendle_api
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Chong
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-04-12 00:00:00.000000000 Z
11
+ date: 2023-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -25,49 +25,35 @@ dependencies:
25
25
  - !ruby/object:Gem::Version
26
26
  version: 4.1.0
27
27
  - !ruby/object:Gem::Dependency
28
- name: countries
29
- requirement: !ruby/object:Gem::Requirement
30
- requirements:
31
- - - "~>"
32
- - !ruby/object:Gem::Version
33
- version: '3.0'
34
- type: :runtime
35
- prerelease: false
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - "~>"
39
- - !ruby/object:Gem::Version
40
- version: '3.0'
41
- - !ruby/object:Gem::Dependency
42
- name: phonelib
28
+ name: dotenv
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - "~>"
31
+ - - ">="
46
32
  - !ruby/object:Gem::Version
47
- version: '0.6'
48
- type: :runtime
33
+ version: '0'
34
+ type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - "~>"
38
+ - - ">="
53
39
  - !ruby/object:Gem::Version
54
- version: '0.6'
40
+ version: '0'
55
41
  - !ruby/object:Gem::Dependency
56
- name: rspec
42
+ name: guard-rspec
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - "~>"
45
+ - - ">="
60
46
  - !ruby/object:Gem::Version
61
- version: '3.2'
47
+ version: '0'
62
48
  type: :development
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - "~>"
52
+ - - ">="
67
53
  - !ruby/object:Gem::Version
68
- version: '3.2'
54
+ version: '0'
69
55
  - !ruby/object:Gem::Dependency
70
- name: dotenv
56
+ name: pry
71
57
  requirement: !ruby/object:Gem::Requirement
72
58
  requirements:
73
59
  - - ">="
@@ -95,21 +81,21 @@ dependencies:
95
81
  - !ruby/object:Gem::Version
96
82
  version: '0'
97
83
  - !ruby/object:Gem::Dependency
98
- name: pry
84
+ name: rspec
99
85
  requirement: !ruby/object:Gem::Requirement
100
86
  requirements:
101
- - - ">="
87
+ - - "~>"
102
88
  - !ruby/object:Gem::Version
103
- version: '0'
89
+ version: '3.2'
104
90
  type: :development
105
91
  prerelease: false
106
92
  version_requirements: !ruby/object:Gem::Requirement
107
93
  requirements:
108
- - - ">="
94
+ - - "~>"
109
95
  - !ruby/object:Gem::Version
110
- version: '0'
96
+ version: '3.2'
111
97
  - !ruby/object:Gem::Dependency
112
- name: guard-rspec
98
+ name: rubocop
113
99
  requirement: !ruby/object:Gem::Requirement
114
100
  requirements:
115
101
  - - ">="
@@ -123,7 +109,7 @@ dependencies:
123
109
  - !ruby/object:Gem::Version
124
110
  version: '0'
125
111
  - !ruby/object:Gem::Dependency
126
- name: rubocop
112
+ name: rubocop-shopify
127
113
  requirement: !ruby/object:Gem::Requirement
128
114
  requirements:
129
115
  - - ">="
@@ -137,19 +123,25 @@ dependencies:
137
123
  - !ruby/object:Gem::Version
138
124
  version: '0'
139
125
  - !ruby/object:Gem::Dependency
140
- name: rubocop-shopify
126
+ name: zeitwerk
141
127
  requirement: !ruby/object:Gem::Requirement
142
128
  requirements:
129
+ - - "~>"
130
+ - !ruby/object:Gem::Version
131
+ version: '2.1'
143
132
  - - ">="
144
133
  - !ruby/object:Gem::Version
145
- version: '0'
134
+ version: 2.1.8
146
135
  type: :development
147
136
  prerelease: false
148
137
  version_requirements: !ruby/object:Gem::Requirement
149
138
  requirements:
139
+ - - "~>"
140
+ - !ruby/object:Gem::Version
141
+ version: '2.1'
150
142
  - - ">="
151
143
  - !ruby/object:Gem::Version
152
- version: '0'
144
+ version: 2.1.8
153
145
  description:
154
146
  email:
155
147
  - andygg1996personal@gmail.com
@@ -211,7 +203,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
211
203
  - !ruby/object:Gem::Version
212
204
  version: '0'
213
205
  requirements: []
214
- rubygems_version: 3.2.32
206
+ rubygems_version: 3.2.33
215
207
  signing_key:
216
208
  specification_version: 4
217
209
  summary: Ruby object based Sendle API wrapper.