shipindo 0.1.1 → 0.2.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.
- data/lib/shipindo/carriers.rb +9 -0
- data/lib/shipindo/carriers/jne.rb +13 -2
- data/lib/shipindo/version.rb +2 -2
- data/test/unit/carriers_test.rb +5 -0
- metadata +4 -4
data/lib/shipindo/carriers.rb
CHANGED
@@ -4,6 +4,15 @@ module Shipindo
|
|
4
4
|
|
5
5
|
module ClassMethods
|
6
6
|
|
7
|
+
def find_city(options)
|
8
|
+
options[:carrier] ||= 'jne'
|
9
|
+
|
10
|
+
klass = find_carrier(options[:carrier])
|
11
|
+
city = klass.new.find_city(options[:name])
|
12
|
+
|
13
|
+
options.merge(city) if city
|
14
|
+
end
|
15
|
+
|
7
16
|
def find_rates(options)
|
8
17
|
# jne is default for 99% Indonesia online shop..
|
9
18
|
options[:carrier] ||= 'jne'
|
@@ -17,10 +17,21 @@ module Shipindo::Carrier
|
|
17
17
|
end
|
18
18
|
end
|
19
19
|
|
20
|
+
def find_city(name)
|
21
|
+
city = list_city(name).first
|
22
|
+
city unless city[:code] == " null "
|
23
|
+
end
|
24
|
+
|
20
25
|
def find_rates(options)
|
21
26
|
if options[:origin] && options[:destination]
|
22
|
-
|
23
|
-
|
27
|
+
|
28
|
+
unless options[:origin_code]
|
29
|
+
options[:origin_code] = find_city(options[:origin])[:code]
|
30
|
+
end
|
31
|
+
|
32
|
+
unless options[:destination_code]
|
33
|
+
options[:destination_code] = find_city(options[:destination])[:code]
|
34
|
+
end
|
24
35
|
# another jne server flunk, response city name is from request parameters,
|
25
36
|
# if there isn't any eg. using only code if cities, then it's displayed as empty.
|
26
37
|
options[:from] = options[:origin]
|
data/lib/shipindo/version.rb
CHANGED
data/test/unit/carriers_test.rb
CHANGED
@@ -25,6 +25,11 @@ class CarriersTest < Test::Unit::TestCase
|
|
25
25
|
assert_equal 330_000, data[:response][:rates][0][:rate]
|
26
26
|
end
|
27
27
|
|
28
|
+
should "find city" do
|
29
|
+
assert_equal("UERHMTAwMDBK", Shipindo.find_city(:name => 'padang')[:code])
|
30
|
+
assert_nil(Shipindo.find_city(:name => 'jogjakarta'))
|
31
|
+
end
|
32
|
+
|
28
33
|
end
|
29
34
|
|
30
35
|
end
|
metadata
CHANGED
@@ -4,9 +4,9 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
-
|
9
|
-
version: 0.
|
7
|
+
- 2
|
8
|
+
- 0
|
9
|
+
version: 0.2.0
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- wynst
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-07-
|
17
|
+
date: 2010-07-30 00:00:00 +07:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|