storenvy 0.1.1 → 0.1.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.
@@ -8,7 +8,7 @@ module Storenvy
8
8
  include HTTParty
9
9
  headers 'Content-Type' => 'application/json'
10
10
 
11
- attr_reader :account, :host
11
+ attr_reader :account, :host, :maintenance_mode
12
12
 
13
13
  def initialize(host)
14
14
  host.gsub!(/https?:\/\//, '') # remove http(s)://
@@ -23,10 +23,11 @@ module Storenvy
23
23
  case response.code
24
24
  when 200
25
25
  Hashie::Mash.new(response)
26
- when 503
27
- {:error => "#{response.code} - Maintenance Mode"}
26
+ when 503
27
+ @maitenance_mode = true
28
+ Hashie::Mash.new({:error => "#{response.code} - Maintenance Mode", :maintenance_mode => true})
28
29
  else
29
- {:error => response.code}
30
+ Hashie::Mash.new({:error => response.code})
30
31
  end
31
32
  end
32
33
 
@@ -39,11 +40,13 @@ module Storenvy
39
40
  when 200
40
41
  response.map { |c| Hashie::Mash.new(c) }
41
42
  when 503
42
- {:error => "#{response.code} - Maintenance Mode"}
43
+ # {:error => "#{response.code} - Maintenance Mode"}
44
+ @maitenance_mode = true
45
+ []
43
46
  else
44
47
  {:error => response.code}
45
48
  end
46
- end
49
+ end
47
50
 
48
51
 
49
52
  # GET store resource
@@ -51,7 +54,11 @@ module Storenvy
51
54
  opts = { :show_products => true }.merge opts
52
55
 
53
56
  data = self.class.fetch("http://#{@host}/store.json")
54
- data.products = opts[:show_products] ? products(true) : {}
57
+ unless @maintenance_mode
58
+ data.products = opts[:show_products] ? products(true) : {}
59
+ else
60
+ data.products = nil
61
+ end
55
62
  data
56
63
  end
57
64
 
@@ -87,12 +94,12 @@ module Storenvy
87
94
  products = []
88
95
  while true
89
96
  data = self.class.list("http://#{@host}/products.json", {:page => page})
90
- products = (products+data).group_by{|h| h[:id]}.map{ |k,v| v.reduce(:merge)}
97
+ products = (products+data).group_by{|h| h[:id]}.map{ |k,v| v.reduce(:merge)} unless @maintenance_mode
91
98
  page = page + 1
92
99
  break if data.count < 50
93
100
  end
94
101
  products
95
- end
102
+ end
96
103
 
97
104
  end
98
105
  end
@@ -1,3 +1,3 @@
1
1
  module Storenvy
2
- VERSION = "0.1.1"
2
+ VERSION = "0.1.3"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: storenvy
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: httparty
17
- requirement: &2164486820 !ruby/object:Gem::Requirement
17
+ requirement: &2165551920 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - ~>
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 0.8.1
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2164486820
25
+ version_requirements: *2165551920
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: hashie
28
- requirement: &2164486320 !ruby/object:Gem::Requirement
28
+ requirement: &2165588020 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - ~>
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 1.2.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2164486320
36
+ version_requirements: *2165588020
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: rspec
39
- requirement: &2164485940 !ruby/object:Gem::Requirement
39
+ requirement: &2165587640 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :development
46
46
  prerelease: false
47
- version_requirements: *2164485940
47
+ version_requirements: *2165587640
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: webmock
50
- requirement: &2164485480 !ruby/object:Gem::Requirement
50
+ requirement: &2165587180 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,7 +55,7 @@ dependencies:
55
55
  version: '0'
56
56
  type: :development
57
57
  prerelease: false
58
- version_requirements: *2164485480
58
+ version_requirements: *2165587180
59
59
  description: A Ruby wrapper for the Storenvy REST API
60
60
  email:
61
61
  - matt@tonkapark.com