populr 0.1.7 → 0.1.8

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.7
1
+ 0.1.8
data/lib/populr.rb CHANGED
@@ -27,14 +27,14 @@ class Populr
27
27
  attr_reader :api_version
28
28
 
29
29
 
30
- def self.interpret_response(result, options = {})
30
+ def self.interpret_response(result, result_content, options = {})
31
31
  # Handle HTTP errors and RestClient errors
32
32
  raise ResourceNotFound.new if result.code.to_i == 404
33
33
  raise AccessDenied.new if result.code.to_i == 403
34
34
 
35
35
  # Hande content expectation errors
36
- raise UnexpectedResponse.new if options[:expected_class] && result.body.empty?
37
- json = JSON.parse(result.body)
36
+ raise UnexpectedResponse.new if options[:expected_class] && result_content.empty?
37
+ json = JSON.parse(result_content)
38
38
  raise APIError.new(json['error_type'], json['error']) if json.is_a?(Hash) && json['error_type']
39
39
  raise UnexpectedResponse.new(result.msg) if result.is_a?(Net::HTTPClientError)
40
40
  raise UnexpectedResponse.new if options[:expected_class] && !json.is_a?(options[:expected_class])
data/lib/restful_model.rb CHANGED
@@ -61,7 +61,7 @@ class RestfulModel
61
61
  action_url = @_api.url_for_path(self.path(action))
62
62
 
63
63
  RestClient.send(http_method, action_url, data){ |response,request,result|
64
- json = Populr.interpret_response(result, {:expected_class => Object})
64
+ json = Populr.interpret_response(result, response, {:expected_class => Object})
65
65
  inflate(json)
66
66
  }
67
67
  self
@@ -89,7 +89,7 @@ class RestfulModelCollection
89
89
  url = @_api.url_for_path(self.path(id))
90
90
 
91
91
  RestClient.get(url){ |response,request,result|
92
- json = Populr.interpret_response(result, {:expected_class => Object})
92
+ json = Populr.interpret_response(result, response, {:expected_class => Object})
93
93
  if @model_class < RestfulModel
94
94
  model = @model_class.new(self)
95
95
  model.inflate(json)
@@ -103,9 +103,8 @@ class RestfulModelCollection
103
103
  def get_restful_model_collection(offset = 0, count = 50)
104
104
  url = @_api.url_for_path("#{self.path}?offset=#{offset}&count=#{count}")
105
105
  models = []
106
-
107
106
  RestClient.get(url){ |response,request,result|
108
- items = Populr.interpret_response(result, {:expected_class => Array})
107
+ items = Populr.interpret_response(result, response, {:expected_class => Array})
109
108
  models = inflate_collection(items)
110
109
  }
111
110
  models
data/populr.gemspec CHANGED
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "populr"
8
- s.version = "0.1.7"
8
+ s.version = "0.1.8"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Ben Gotow"]
12
- s.date = "2013-05-22"
12
+ s.date = "2013-05-23"
13
13
  s.description = "Gem for interacting with the Populr.me API that allows you to create and publish one-page websites, subscribe to web hooks and receive events when those pages are interacted with. Visit http://www.populr.me/ for more information. "
14
14
  s.email = "ben@populr.me"
15
15
  s.extra_rdoc_files = [
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: populr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.7
4
+ version: 0.1.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-05-22 00:00:00.000000000 Z
12
+ date: 2013-05-23 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rest-client
16
- requirement: &70266353146760 !ruby/object:Gem::Requirement
16
+ requirement: &70278705753780 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '1.6'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70266353146760
24
+ version_requirements: *70278705753780
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: shoulda
27
- requirement: &70266353145880 !ruby/object:Gem::Requirement
27
+ requirement: &70278705751960 !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: *70266353145880
35
+ version_requirements: *70278705751960
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: rdoc
38
- requirement: &70266353144840 !ruby/object:Gem::Requirement
38
+ requirement: &70278705751020 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ~>
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '3.12'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70266353144840
46
+ version_requirements: *70278705751020
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: bundler
49
- requirement: &70266353143160 !ruby/object:Gem::Requirement
49
+ requirement: &70278705764320 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ~>
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: 1.3.5
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70266353143160
57
+ version_requirements: *70278705764320
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: jeweler
60
- requirement: &70266353142080 !ruby/object:Gem::Requirement
60
+ requirement: &70278705762640 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ~>
@@ -65,7 +65,7 @@ dependencies:
65
65
  version: 1.8.4
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70266353142080
68
+ version_requirements: *70278705762640
69
69
  description: ! 'Gem for interacting with the Populr.me API that allows you to create
70
70
  and publish one-page websites, subscribe to web hooks and receive events when those
71
71
  pages are interacted with. Visit http://www.populr.me/ for more information. '
@@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  segments:
118
118
  - 0
119
- hash: -1595564489638053625
119
+ hash: -2185631134278236433
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements: