restulicious 0.1.8 → 0.1.11

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -6,7 +6,7 @@ TODO: Write a gem description
6
6
 
7
7
  Add this line to your application's Gemfile:
8
8
 
9
- gem 'rest_resource'
9
+ gem 'restulicious'
10
10
 
11
11
  And then execute:
12
12
 
@@ -14,7 +14,7 @@ And then execute:
14
14
 
15
15
  Or install it yourself as:
16
16
 
17
- $ gem install rest_resource
17
+ $ gem install restulicious
18
18
 
19
19
  ## Usage
20
20
 
@@ -1,3 +1,4 @@
1
+ #TODO: Split out this adapter into a separate gem
1
2
  module Restulicious
2
3
  module Adapter
3
4
  class RESTApi
@@ -40,6 +41,7 @@ module Restulicious
40
41
  Restulicious.config.parser_class.new(@klazz, @key, response.body)
41
42
  end
42
43
 
44
+ #TODO: Check whether this can be deleted
43
45
  def hydra
44
46
  Restulicious.config.hydra
45
47
  end
@@ -50,7 +52,7 @@ module Restulicious
50
52
 
51
53
  def run_request
52
54
  @request.queue if @request.respond_to?(:queue)
53
- hydra.run
55
+ ::RESTApi.run
54
56
  parser(@request.response).result
55
57
  end
56
58
 
@@ -72,7 +74,9 @@ module Restulicious
72
74
  end
73
75
  if block_given?
74
76
  @request.on_complete do |response|
75
- block.call(parser(response).result)
77
+ if response.success?
78
+ block.call(parser(response).result)
79
+ end
76
80
  end
77
81
  end
78
82
  if should_run_request?(&block)
@@ -46,7 +46,7 @@ module Restulicious
46
46
  def interpolated_url
47
47
  interpolated_url = @url
48
48
  @params.each do |key, value|
49
- interpolated_url = interpolated_url.gsub /:#{key}/, value.to_s
49
+ interpolated_url = interpolated_url.gsub /:#{key}/, Typhoeus::Utils.escape(value.to_s)
50
50
  end
51
51
  interpolated_url
52
52
  end
@@ -1,3 +1,3 @@
1
1
  module Restulicious
2
- VERSION = "0.1.8"
2
+ VERSION = "0.1.11"
3
3
  end
@@ -55,6 +55,11 @@ describe Restulicious::QueryInterface do
55
55
  it "uses full url" do
56
56
  assert_equal "http://bigdeal.com/the/next/:thing", @interface.all_url
57
57
  end
58
+
59
+ it "URL encodes param values during interpolation" do
60
+ @interface.where(thing: "super#")
61
+ assert_equal "http://bigdeal.com/the/next/super%23", @interface.all_url
62
+ end
58
63
  end
59
64
 
60
65
  describe "first_url" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restulicious
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8
4
+ version: 0.1.11
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-02-11 00:00:00.000000000 Z
12
+ date: 2013-03-18 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -157,21 +157,15 @@ required_ruby_version: !ruby/object:Gem::Requirement
157
157
  - - ! '>='
158
158
  - !ruby/object:Gem::Version
159
159
  version: '0'
160
- segments:
161
- - 0
162
- hash: 3646070466362267354
163
160
  required_rubygems_version: !ruby/object:Gem::Requirement
164
161
  none: false
165
162
  requirements:
166
163
  - - ! '>='
167
164
  - !ruby/object:Gem::Version
168
165
  version: '0'
169
- segments:
170
- - 0
171
- hash: 3646070466362267354
172
166
  requirements: []
173
167
  rubyforge_project:
174
- rubygems_version: 1.8.24
168
+ rubygems_version: 1.8.25
175
169
  signing_key:
176
170
  specification_version: 3
177
171
  summary: Simplifies consumption of restful APIs, including a query interface like