populr 0.1.7 → 0.1.8

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