restafari 0.7.7 → 0.7.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.
@@ -1,4 +1,5 @@
1
1
  require "faraday"
2
+ require 'uri'
2
3
 
3
4
  module Restafari
4
5
  module Action
@@ -46,9 +47,11 @@ module Restafari
46
47
  Restafari.config.run_before_request_hook(params)
47
48
 
48
49
  headers = params[:headers] || {}
49
- headers.delete_if { |k, v| v.nil? }
50
+ headers.delete_if { |_, v| v.nil? }
50
51
  params.delete(:headers) #so we dont send it as part of the params
51
52
 
53
+ encode_cookie(headers)
54
+
52
55
  result = conn.send(Restafari.config.http_method, path, params) do |req|
53
56
  req.headers.update(headers)
54
57
  @req = req
@@ -58,6 +61,14 @@ module Restafari
58
61
  Restafari.config.run_after_response_hook(result)
59
62
  Restafari::Response.new(result)
60
63
  end
64
+
65
+ def encode_cookie(headers)
66
+ return if headers.nil?
67
+ cookie = headers[:cookie]
68
+ if cookie
69
+ headers[:cookie] = headers[:cookie].map { |k, v| "#{k}=#{v}" }.join("; ")
70
+ end
71
+ end
61
72
  end
62
73
  end
63
74
  end
@@ -1,3 +1,3 @@
1
1
  module Restafari
2
- VERSION = "0.7.7"
2
+ VERSION = "0.7.8"
3
3
  end
@@ -99,4 +99,17 @@ describe Restafari::Action do
99
99
  @headers.has_key?(:cookie).should be false
100
100
  end
101
101
 
102
+ it "should handle hash of cookies" do
103
+ class SomeAction
104
+ include Restafari::Action
105
+ action :some_method
106
+ end
107
+
108
+ SomeAction.some_method(test: 2, headers: {cookie: {d:"aa&g", c:"c"}}) do |req|
109
+ @headers = req.headers
110
+ end
111
+
112
+ @headers[:cookie].should eq "d=aa&g; c=c"
113
+ end
114
+
102
115
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: restafari
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.7
4
+ version: 0.7.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: 2012-09-01 00:00:00.000000000Z
12
+ date: 2012-09-08 00:00:00.000000000Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: faraday
16
- requirement: &70292395406560 !ruby/object:Gem::Requirement
16
+ requirement: &70282988783620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70292395406560
24
+ version_requirements: *70282988783620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: webmock
27
- requirement: &70292395405200 !ruby/object:Gem::Requirement
27
+ requirement: &70282988782680 !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: *70292395405200
35
+ version_requirements: *70282988782680
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: spork
38
- requirement: &70292395403920 !ruby/object:Gem::Requirement
38
+ requirement: &70282988781760 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
41
  - - ! '>='
@@ -43,10 +43,10 @@ dependencies:
43
43
  version: '0'
44
44
  type: :development
45
45
  prerelease: false
46
- version_requirements: *70292395403920
46
+ version_requirements: *70282988781760
47
47
  - !ruby/object:Gem::Dependency
48
48
  name: rack-test
49
- requirement: &70292395402820 !ruby/object:Gem::Requirement
49
+ requirement: &70282988780900 !ruby/object:Gem::Requirement
50
50
  none: false
51
51
  requirements:
52
52
  - - ! '>='
@@ -54,10 +54,10 @@ dependencies:
54
54
  version: '0'
55
55
  type: :development
56
56
  prerelease: false
57
- version_requirements: *70292395402820
57
+ version_requirements: *70282988780900
58
58
  - !ruby/object:Gem::Dependency
59
59
  name: rspec
60
- requirement: &70292395401620 !ruby/object:Gem::Requirement
60
+ requirement: &70282988780080 !ruby/object:Gem::Requirement
61
61
  none: false
62
62
  requirements:
63
63
  - - ! '>='
@@ -65,10 +65,10 @@ dependencies:
65
65
  version: '0'
66
66
  type: :development
67
67
  prerelease: false
68
- version_requirements: *70292395401620
68
+ version_requirements: *70282988780080
69
69
  - !ruby/object:Gem::Dependency
70
70
  name: rake
71
- requirement: &70292395400860 !ruby/object:Gem::Requirement
71
+ requirement: &70282988778900 !ruby/object:Gem::Requirement
72
72
  none: false
73
73
  requirements:
74
74
  - - ! '>='
@@ -76,7 +76,7 @@ dependencies:
76
76
  version: '0'
77
77
  type: :development
78
78
  prerelease: false
79
- version_requirements: *70292395400860
79
+ version_requirements: *70282988778900
80
80
  description: Helper class to work with the restful apis
81
81
  email:
82
82
  - - dannifriedland@gmail.com