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 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