lalamove 0.3.0 → 0.4.0
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/Gemfile +2 -0
- data/Gemfile.lock +8 -0
- data/lalamove.gemspec +17 -15
- data/lib/generators/initializer/templates/lalamove_initializer.rb +8 -0
- data/lib/generators/lalamove/install_generator.rb +9 -0
- data/lib/lalamove.rb +7 -4
- data/lib/lalamove/configuration.rb +8 -2
- data/lib/lalamove/helper.rb +9 -5
- data/lib/lalamove/service.rb +5 -2
- data/lib/lalamove/version.rb +3 -1
- metadata +10 -8
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: bc1477cdff22137e6f27feb3700a39a17f6ce89ea97d95b49dcba7cb41285dad
|
|
4
|
+
data.tar.gz: 25d1f44d08730fe05c4278d777e4244ed290699c205080d2eb0c23fc7379fc5d
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 33b50c2e9b01b9a6915a33da50523462a0456a8e9429e59787dc1a63c6e1b59b5dd6ad089471e6ddd40fccd32010d2241ec42990db37c9f47ebbf9415540d35f
|
|
7
|
+
data.tar.gz: 50414e75e29b5cb746f05eed1bf9b8daa2210089bdc36007089122aa3b4061a65432769a65aca6bfe8e9b1895410c307df0237259bed43be8e28b01a1088f3fa
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -6,15 +6,21 @@ PATH
|
|
|
6
6
|
GEM
|
|
7
7
|
remote: https://rubygems.org/
|
|
8
8
|
specs:
|
|
9
|
+
coderay (1.1.2)
|
|
9
10
|
httparty (0.17.3)
|
|
10
11
|
mime-types (~> 3.0)
|
|
11
12
|
multi_xml (>= 0.5.2)
|
|
13
|
+
method_source (0.9.2)
|
|
12
14
|
mime-types (3.3.1)
|
|
13
15
|
mime-types-data (~> 3.2015)
|
|
14
16
|
mime-types-data (3.2019.1009)
|
|
15
17
|
minitest (5.14.0)
|
|
16
18
|
multi_xml (0.6.0)
|
|
19
|
+
pry (0.12.2)
|
|
20
|
+
coderay (~> 1.1.0)
|
|
21
|
+
method_source (~> 0.9.0)
|
|
17
22
|
rake (10.5.0)
|
|
23
|
+
thor (1.0.1)
|
|
18
24
|
|
|
19
25
|
PLATFORMS
|
|
20
26
|
ruby
|
|
@@ -24,7 +30,9 @@ DEPENDENCIES
|
|
|
24
30
|
httparty
|
|
25
31
|
lalamove!
|
|
26
32
|
minitest (~> 5.0)
|
|
33
|
+
pry
|
|
27
34
|
rake (~> 10.0)
|
|
35
|
+
thor
|
|
28
36
|
|
|
29
37
|
BUNDLED WITH
|
|
30
38
|
2.0.2
|
data/lalamove.gemspec
CHANGED
|
@@ -1,34 +1,36 @@
|
|
|
1
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
lib = File.expand_path('../lib', __dir__)
|
|
2
4
|
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
|
-
require
|
|
5
|
+
require 'lalamove/version'
|
|
4
6
|
|
|
5
7
|
Gem::Specification.new do |spec|
|
|
6
|
-
spec.name =
|
|
8
|
+
spec.name = 'lalamove'
|
|
7
9
|
spec.version = Lalamove::VERSION
|
|
8
|
-
spec.authors = [
|
|
9
|
-
spec.email = [
|
|
10
|
+
spec.authors = ['Jessie Arevalo']
|
|
11
|
+
spec.email = ['dt.jessie7@gmail.com']
|
|
10
12
|
|
|
11
13
|
spec.summary = %q{Lalamove Ruby Sdk}
|
|
12
14
|
spec.description = %q{Ruby SDK for easy integration with the lalamove API's}
|
|
13
|
-
spec.homepage =
|
|
14
|
-
spec.license =
|
|
15
|
+
spec.homepage = 'https://developers.lalamove.com/'
|
|
16
|
+
spec.license = 'MIT'
|
|
15
17
|
|
|
16
18
|
# spec.metadata["allowed_push_host"] = "TODO: Set to 'http://mygemserver.com'"
|
|
17
19
|
|
|
18
|
-
spec.metadata[
|
|
19
|
-
spec.metadata[
|
|
20
|
-
# spec.metadata["changelog_uri"] =
|
|
20
|
+
spec.metadata['homepage_uri'] = spec.homepage
|
|
21
|
+
spec.metadata['source_code_uri'] = 'https://github.com/dyesiboy/lalamove'
|
|
22
|
+
# spec.metadata["changelog_uri"] = 'TODO: Put your gem's CHANGELOG.md URL here.'
|
|
21
23
|
|
|
22
24
|
# Specify which files should be added to the gem when it is released.
|
|
23
25
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
|
24
26
|
spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
|
|
25
27
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
|
26
28
|
end
|
|
27
|
-
spec.bindir =
|
|
29
|
+
spec.bindir = 'exe'
|
|
28
30
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
|
29
|
-
spec.require_paths = [
|
|
31
|
+
spec.require_paths = ['lib']
|
|
30
32
|
|
|
31
|
-
spec.add_development_dependency
|
|
32
|
-
spec.add_development_dependency
|
|
33
|
-
spec.add_development_dependency
|
|
33
|
+
spec.add_development_dependency 'bundler', '~> 2.0'
|
|
34
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
|
35
|
+
spec.add_development_dependency 'rake', '~> 10.0'
|
|
34
36
|
end
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
class InitializerGenerator < Rails::Generators::NamedBase
|
|
2
|
+
source_root File.expand_path('../../templates', __dir__)
|
|
3
|
+
desc 'Create Lalamove initializer for your application'
|
|
4
|
+
|
|
5
|
+
def copy_initializer_file
|
|
6
|
+
copy_file 'lalamove_initializer.rb', 'config/initializers/lalamove.rb'
|
|
7
|
+
puts 'Install complete! Truly Outrageous!'
|
|
8
|
+
end
|
|
9
|
+
end
|
data/lib/lalamove.rb
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
-
|
|
2
|
-
require "lalamove/configuration"
|
|
3
|
-
require "lalamove/service"
|
|
1
|
+
# frozen_string_literal: true
|
|
4
2
|
|
|
3
|
+
require 'lalamove/version'
|
|
4
|
+
require 'lalamove/configuration'
|
|
5
|
+
require 'lalamove/service'
|
|
6
|
+
require 'lalamove/helper'
|
|
7
|
+
|
|
8
|
+
# Lalamove
|
|
5
9
|
module Lalamove
|
|
6
|
-
class Error < StandardError; end
|
|
7
10
|
class << self
|
|
8
11
|
attr_accessor :configuration
|
|
9
12
|
end
|
|
@@ -1,20 +1,26 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Lalamove
|
|
1
4
|
module Lalamove
|
|
5
|
+
# Configuration
|
|
2
6
|
class Configuration
|
|
3
7
|
attr_accessor :key, :secret_key
|
|
4
8
|
attr_writer :base_url, :mode
|
|
5
9
|
end
|
|
6
10
|
|
|
7
|
-
SANDBOX_BASE_URL = 'https://sandbox-rest.lalamove.com'
|
|
8
|
-
PROD_BASE_URL = 'https://rest.lalamove.com'
|
|
11
|
+
SANDBOX_BASE_URL = 'https://sandbox-rest.lalamove.com'
|
|
12
|
+
PROD_BASE_URL = 'https://rest.lalamove.com'
|
|
9
13
|
|
|
10
14
|
def base_url
|
|
11
15
|
return @base_url unless @base_url.nil?
|
|
12
16
|
return SANDBOX_BASE_URL if mode == ':sandbox'
|
|
17
|
+
|
|
13
18
|
PROD_BASE_URL
|
|
14
19
|
end
|
|
15
20
|
|
|
16
21
|
def mode
|
|
17
22
|
return @mode unless @mode.nil?
|
|
23
|
+
|
|
18
24
|
:sandbox
|
|
19
25
|
end
|
|
20
26
|
end
|
data/lib/lalamove/helper.rb
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'openssl'
|
|
2
4
|
require 'base64'
|
|
3
5
|
require 'net/http'
|
|
@@ -7,17 +9,19 @@ module Lalamove
|
|
|
7
9
|
module Helper
|
|
8
10
|
def self.request(path, payload, method)
|
|
9
11
|
timestamp = get_timestamp
|
|
12
|
+
puts timestamp
|
|
10
13
|
signature = generate_signature(path, method, timestamp, payload)
|
|
11
14
|
token = get_token(key, timestamp, signature)
|
|
12
15
|
headers = get_header(token, timestamp.to_s)
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
HTTParty.post(request_url, :headers => headers, :body => payload.to_json.to_s)
|
|
16
|
+
url = request_url(path)
|
|
17
|
+
HTTParty.post(url, :headers => headers, :body => payload.to_json.to_s)
|
|
16
18
|
end
|
|
17
19
|
|
|
18
20
|
def self.generate_signature(path, method, timestamp, payload)
|
|
19
|
-
generate_raw_signature(method, timestamp, path, payload)
|
|
20
|
-
|
|
21
|
+
raw_signature = generate_raw_signature(method, timestamp, path, payload)
|
|
22
|
+
puts "Key config"
|
|
23
|
+
puts Lalamove.config.secret_key
|
|
24
|
+
OpenSSL::HMAC.hexdigest('sha256', Lalamove.config.secret_key, raw_signature)
|
|
21
25
|
end
|
|
22
26
|
|
|
23
27
|
def self.generate_raw_signature(method, timestamp,path, payload)
|
data/lib/lalamove/service.rb
CHANGED
|
@@ -1,9 +1,12 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
1
3
|
require 'lalamove/helper'
|
|
2
4
|
|
|
3
5
|
module Lalamove
|
|
6
|
+
# Service
|
|
4
7
|
class Service
|
|
5
|
-
def quotation(payload)
|
|
6
|
-
Helper.request('/v2/quotations', payload,
|
|
8
|
+
def self.quotation(payload)
|
|
9
|
+
Helper.request('/v2/quotations', payload, 'POST')
|
|
7
10
|
end
|
|
8
11
|
end
|
|
9
12
|
end
|
data/lib/lalamove/version.rb
CHANGED
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: lalamove
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.
|
|
4
|
+
version: 0.4.0
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Jessie Arevalo
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: exe
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date: 2020-01-
|
|
11
|
+
date: 2020-01-28 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: bundler
|
|
@@ -25,33 +25,33 @@ dependencies:
|
|
|
25
25
|
- !ruby/object:Gem::Version
|
|
26
26
|
version: '2.0'
|
|
27
27
|
- !ruby/object:Gem::Dependency
|
|
28
|
-
name:
|
|
28
|
+
name: minitest
|
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
|
30
30
|
requirements:
|
|
31
31
|
- - "~>"
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: '
|
|
33
|
+
version: '5.0'
|
|
34
34
|
type: :development
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
|
37
37
|
requirements:
|
|
38
38
|
- - "~>"
|
|
39
39
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '
|
|
40
|
+
version: '5.0'
|
|
41
41
|
- !ruby/object:Gem::Dependency
|
|
42
|
-
name:
|
|
42
|
+
name: rake
|
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
|
44
44
|
requirements:
|
|
45
45
|
- - "~>"
|
|
46
46
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '
|
|
47
|
+
version: '10.0'
|
|
48
48
|
type: :development
|
|
49
49
|
prerelease: false
|
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
|
51
51
|
requirements:
|
|
52
52
|
- - "~>"
|
|
53
53
|
- !ruby/object:Gem::Version
|
|
54
|
-
version: '
|
|
54
|
+
version: '10.0'
|
|
55
55
|
description: Ruby SDK for easy integration with the lalamove API's
|
|
56
56
|
email:
|
|
57
57
|
- dt.jessie7@gmail.com
|
|
@@ -70,6 +70,8 @@ files:
|
|
|
70
70
|
- bin/console
|
|
71
71
|
- bin/setup
|
|
72
72
|
- lalamove.gemspec
|
|
73
|
+
- lib/generators/initializer/templates/lalamove_initializer.rb
|
|
74
|
+
- lib/generators/lalamove/install_generator.rb
|
|
73
75
|
- lib/lalamove.rb
|
|
74
76
|
- lib/lalamove/configuration.rb
|
|
75
77
|
- lib/lalamove/helper.rb
|