tbg_api_consumer 0.0.8.pre → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 048990067e37362ce4278dd9a42fb62f8e22b1de
4
- data.tar.gz: 6c47bff8bc938dc84ec0c4c9b3967d4cbbbbea5f
3
+ metadata.gz: 1308b1706566e11b571683b652c46003300e6c58
4
+ data.tar.gz: f3383e510501c31b0855478a25cd520e7e6ff605
5
5
  SHA512:
6
- metadata.gz: 4841679d47f539e32774164d8a51327e721bb303c2a228ee9db653d87acf6cba5815e35c7a2a1ea021bc2e715af9d4692651a017922d9353ec4238e14e177af9
7
- data.tar.gz: b802701a3f35c56c41f221fbec76d159c5861b9da353e28c108244773dee4e7b0b3968de4c1f52e21e9c9e56035532116d1ec8a9858951bb84c06ffd8111a6d4
6
+ metadata.gz: bd9a270370b2e3c2de86679f26a024ad2b9ff005d84385e7a6e6ed66a5202a3820ca1fa28466338c2795918b182891e8731b4e46b6a5358bc9977cd52f183f8d
7
+ data.tar.gz: 020c48fd871de271cb98d59dcbb5e0b565379d11781f014bf5e2cdd9170cc2fa8caa53e21675ea9ac3bcbdcd978a72af8dbc2cab762473f57418388991383699
data/CHANGELOG.md CHANGED
@@ -1,3 +1,11 @@
1
+ ## Next
2
+
3
+ ## 0.2.0
4
+ - Added has_more to pagination
5
+
6
+ ## 0.1.0
7
+ - Added a error handler.
8
+
1
9
  ## 0.0.8.pre
2
10
  - Fixed overridden initializer bug that always required an attributes hash
3
11
  present in the arguments
data/lib/api_consumer.rb CHANGED
@@ -11,6 +11,7 @@ require 'api_consumer/elements/pagination'
11
11
  require 'api_consumer/elements/order'
12
12
  require 'api_consumer/elements/meta'
13
13
  require 'api_consumer/attributes/base'
14
+ require 'api_consumer/error_handler'
14
15
  require 'api_consumer/railtie' if defined?(Rails)
15
16
 
16
17
  module ApiConsumer
@@ -30,19 +31,23 @@ module ApiConsumer
30
31
  if Attributes::Base.new(attributes).standardized?
31
32
  attributes = attributes.fetch('data')
32
33
  end
33
-
34
34
  super attributes, persisted
35
35
  end
36
36
  end
37
37
 
38
+ module ClassMethods
39
+ include ErrorHandler
40
+ end
41
+
38
42
  mattr_accessor :parser_registry
43
+
39
44
  def self.included(base)
45
+ base.extend(ClassMethods)
40
46
  base.class_eval do
41
47
  base.collection_parser = Parsers::Collection
42
48
  base.send :prepend, Initializer
43
49
  end
44
50
  end
45
-
46
51
  end
47
52
 
48
53
  class Configuration
@@ -1,6 +1,6 @@
1
1
  module ApiConsumer
2
2
  module Elements
3
- Pagination = Struct.new(:page, :limit) do
3
+ Pagination = Struct.new(:page, :limit, :has_more) do
4
4
 
5
5
  def initialize(attributes)
6
6
  attributes.each { |k, v| send("#{k}=", v) if respond_to?("#{k}=") }
@@ -0,0 +1,16 @@
1
+ module ApiConsumer
2
+ module ErrorHandler
3
+ def find(*attributes)
4
+ scope = attributes.slice(0)
5
+ if scope == :all
6
+ begin
7
+ super(*attributes)
8
+ rescue ActiveResource::ConnectionError, ActiveResource::ClientError
9
+ []
10
+ end
11
+ else
12
+ super(*attributes)
13
+ end
14
+ end
15
+ end
16
+ end
@@ -1,3 +1,3 @@
1
1
  module ApiConsumer
2
- VERSION = "0.0.8.pre"
2
+ VERSION = "0.2.0"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tbg_api_consumer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8.pre
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - luxerama
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-26 00:00:00.000000000 Z
11
+ date: 2015-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeresource
@@ -130,6 +130,7 @@ files:
130
130
  - lib/api_consumer/elements/order.rb
131
131
  - lib/api_consumer/elements/pagination.rb
132
132
  - lib/api_consumer/elements/response.rb
133
+ - lib/api_consumer/error_handler.rb
133
134
  - lib/api_consumer/parser.rb
134
135
  - lib/api_consumer/parser_registry.rb
135
136
  - lib/api_consumer/parsers/base.rb
@@ -155,9 +156,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
156
  version: 2.0.0
156
157
  required_rubygems_version: !ruby/object:Gem::Requirement
157
158
  requirements:
158
- - - ">"
159
+ - - ">="
159
160
  - !ruby/object:Gem::Version
160
- version: 1.3.1
161
+ version: '0'
161
162
  requirements: []
162
163
  rubyforge_project:
163
164
  rubygems_version: 2.2.2