shutl 0.0.2 → 0.0.3

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/shutl.rb CHANGED
@@ -1,11 +1,16 @@
1
1
  require "shutl/version"
2
2
 
3
3
  module Shutl
4
- def self.config
5
- { username: "markburns",
6
- app: "markburns_app",
7
- token: "354363B84566430D410F6567AC2C488A"}
8
- end
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 pickup_postcode, delivery_postcode, vehicle
13
+ def get options
14
+ pickup_postcode, delivery_postcode, vehicle = parse options
15
+
14
16
  response = post( '/quotes/', body:
15
- {
16
- pickup_postcode: pickup_postcode,
17
- delivery_postcode: delivery_postcode,
18
- vehicle: vehicle,
19
- store_id: 1
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
@@ -1,3 +1,3 @@
1
1
  module Shutl
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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.2
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: &70253761576000 !ruby/object:Gem::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: *70253761576000
24
+ version_requirements: *70295780403880
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: debugger
27
- requirement: &70253761575580 !ruby/object:Gem::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: *70253761575580
35
+ version_requirements: *70295780403460
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: awesome_print
38
- requirement: &70253761575160 !ruby/object:Gem::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: *70253761575160
46
+ version_requirements: *70295780403040
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: wirble
49
- requirement: &70253761574740 !ruby/object:Gem::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: *70253761574740
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