arbor 0.0.3 → 0.0.4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6b4a455a9b06989723d91f8d5419b8e4d1eaa731
4
- data.tar.gz: 9058985b086831ec3c748bf57f876318607aa216
3
+ metadata.gz: f4622243f2b9cc55bb92df8d7ce4be991da2edf6
4
+ data.tar.gz: 93d633e7a69c6e6c47dda85423be913506666849
5
5
  SHA512:
6
- metadata.gz: 6f6971c9eb5ad2bb2812c33092c97122af8cdfa377e6fb732948843ef580c39c9b5385d109c2d39d416c5417485de9f8983ab6b7200a54bb0da196b0dd8a9ee3
7
- data.tar.gz: 1e811aeb1400e1a056d180668e4929ad37d46421b09c9bac38aff600e8ad195122d23b603f8b4f906c4599b3d899eb39b1c6a3b1fa0c338032a60a23973e078e
6
+ metadata.gz: 5f31459897a6dbd924ecfb115956e5f573a96dd3ae7fa350550e1beb92824936e464a054dc08d7e11a3787581569c5128e63b53fed70b622c7dfae3af94217af
7
+ data.tar.gz: 6dac4216882606e0d3c101190bc1fdff3a71307a9e72e4b758bfbb6254effa9a7ea328da6947f710d5fe0fa8f58dc0ebe97613b65afe503cacd29df2569b8385
data/lib/arbor/client.rb CHANGED
@@ -19,7 +19,9 @@ module Arbor
19
19
  [:get, :post].each do |verb|
20
20
  define_method(verb) do |*args|
21
21
  request = configure_request(*args)
22
- response = HTTPI.request(verb, request, settings[:adapter])
22
+ response = attempt((settings[:retries] || 1).times) do
23
+ HTTPI.request(verb, request, settings[:adapter])
24
+ end
23
25
  JSON.parse(response.body.presence || "{}")
24
26
  end
25
27
  end
@@ -36,8 +36,8 @@ module Arbor
36
36
  unless self.respond_to?("#{name}=")
37
37
  self.class.instance_eval { define_method(name) { attribute(name) } }
38
38
  self.class.send(:attr_writer, name)
39
+ @attribute_names << name
39
40
  end
40
- @attribute_names << name
41
41
  self.send("#{name}=", value)
42
42
  end
43
43
  end
data/lib/arbor/utils.rb CHANGED
@@ -26,5 +26,18 @@ module Arbor
26
26
  def left_pad(array, num)
27
27
  num.times { array.unshift(nil) }
28
28
  end
29
+
30
+ def attempt(enum)
31
+ exception = nil
32
+ enum.each do
33
+ begin
34
+ return yield
35
+ rescue Exception => e
36
+ exception = e
37
+ next
38
+ end
39
+ end
40
+ raise exception
41
+ end
29
42
  end
30
43
  end
data/lib/arbor/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Arbor
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arbor
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Campbell
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-09-23 00:00:00.000000000 Z
11
+ date: 2014-10-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport