shutl 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/shutl.rb +10 -5
- data/lib/shutl/quote.rb +25 -6
- data/lib/shutl/version.rb +1 -1
- metadata +9 -9
data/lib/shutl.rb
CHANGED
@@ -1,11 +1,16 @@
|
|
1
1
|
require "shutl/version"
|
2
2
|
|
3
3
|
module Shutl
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
4
|
+
class << self
|
5
|
+
def config
|
6
|
+
@config ||= { username: "markburns",
|
7
|
+
app: "markburns_app",
|
8
|
+
token: "354363B84566430D410F6567AC2C488A"}
|
9
|
+
end
|
9
10
|
|
11
|
+
def config= config
|
12
|
+
@config = config
|
13
|
+
end
|
14
|
+
end
|
10
15
|
end
|
11
16
|
require "shutl/quote"
|
data/lib/shutl/quote.rb
CHANGED
@@ -10,15 +10,32 @@ class Shutl::Quote
|
|
10
10
|
headers['Accept'] = 'application/json'
|
11
11
|
|
12
12
|
class << self
|
13
|
-
def get
|
13
|
+
def get options
|
14
|
+
pickup_postcode, delivery_postcode, vehicle = parse options
|
15
|
+
|
14
16
|
response = post( '/quotes/', body:
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
17
|
+
{
|
18
|
+
pickup_postcode: pickup_postcode,
|
19
|
+
delivery_postcode: delivery_postcode,
|
20
|
+
vehicle: vehicle,
|
21
|
+
store_id: 1
|
20
22
|
})
|
21
23
|
|
24
|
+
handle response
|
25
|
+
end
|
26
|
+
|
27
|
+
private
|
28
|
+
|
29
|
+
def parse options
|
30
|
+
parsed = [options[:pickup_postcode],
|
31
|
+
options[:delivery_postcode],
|
32
|
+
options[:vehicle]].compact
|
33
|
+
|
34
|
+
raise ArgumentError.new("Invalid arguments: #{options} parsed as #{parsed}") unless parsed.length == 3
|
35
|
+
parsed
|
36
|
+
end
|
37
|
+
|
38
|
+
def handle response
|
22
39
|
case response.code
|
23
40
|
when 200
|
24
41
|
response.parsed_response
|
@@ -33,6 +50,8 @@ class Shutl::Quote
|
|
33
50
|
end
|
34
51
|
`open "response.html"`
|
35
52
|
{error: response.parsed_response}
|
53
|
+
else
|
54
|
+
{error: "Unhandled HTTP code in shutl gem: #{response.code}, #{response}"}
|
36
55
|
end
|
37
56
|
end
|
38
57
|
end
|
data/lib/shutl/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: shutl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -13,7 +13,7 @@ date: 2012-04-25 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: httparty
|
16
|
-
requirement: &
|
16
|
+
requirement: &70295780403880 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: '0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70295780403880
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: debugger
|
27
|
-
requirement: &
|
27
|
+
requirement: &70295780403460 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :development
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70295780403460
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: awesome_print
|
38
|
-
requirement: &
|
38
|
+
requirement: &70295780403040 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,10 +43,10 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :development
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70295780403040
|
47
47
|
- !ruby/object:Gem::Dependency
|
48
48
|
name: wirble
|
49
|
-
requirement: &
|
49
|
+
requirement: &70295780402620 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
51
51
|
requirements:
|
52
52
|
- - ! '>='
|
@@ -54,7 +54,7 @@ dependencies:
|
|
54
54
|
version: '0'
|
55
55
|
type: :development
|
56
56
|
prerelease: false
|
57
|
-
version_requirements: *
|
57
|
+
version_requirements: *70295780402620
|
58
58
|
description: Placeholder gem for when we launch the shutl v2 API
|
59
59
|
email:
|
60
60
|
- markthedeveloper@gmail.com
|