cookie_cutter 0.3.2 → 0.3.3
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/cookie_cutter.gemspec +1 -0
- data/lib/cookie_cutter/cookie.rb +5 -3
- data/lib/cookie_cutter/version.rb +1 -1
- data/spec/base_spec.rb +20 -3
- metadata +19 -2
data/cookie_cutter.gemspec
CHANGED
data/lib/cookie_cutter/cookie.rb
CHANGED
@@ -3,8 +3,9 @@ require 'cookie_cutter/cookie_attribute'
|
|
3
3
|
module CookieCutter
|
4
4
|
module Cookie
|
5
5
|
module ClassMethods
|
6
|
-
def find(request)
|
7
|
-
|
6
|
+
def find(request, options={})
|
7
|
+
options[:secure_request] = request.scheme == 'https' unless options[:secure_request]
|
8
|
+
new(request.cookie_jar, options)
|
8
9
|
end
|
9
10
|
|
10
11
|
attr_reader :cookie_name
|
@@ -106,6 +107,7 @@ module CookieCutter
|
|
106
107
|
def initialize(cookie_jar, options={})
|
107
108
|
@cookie_jar = cookie_jar
|
108
109
|
@secure_request = options[:secure_request]
|
110
|
+
@cookie_name = options[:cookie_name] || self.class.cookie_name
|
109
111
|
end
|
110
112
|
|
111
113
|
def secure_request?
|
@@ -133,7 +135,7 @@ module CookieCutter
|
|
133
135
|
end
|
134
136
|
|
135
137
|
def cookie_name
|
136
|
-
|
138
|
+
@cookie_name
|
137
139
|
end
|
138
140
|
|
139
141
|
def secure?
|
data/spec/base_spec.rb
CHANGED
@@ -3,6 +3,9 @@ require 'cookie_cutter'
|
|
3
3
|
require 'cookie_cutter/test_support'
|
4
4
|
require 'active_support/core_ext'
|
5
5
|
|
6
|
+
class EmptyValuedCookie < CookieCutter::Base
|
7
|
+
end
|
8
|
+
|
6
9
|
class SingleValuedCookie < CookieCutter::Base
|
7
10
|
store_as :svc
|
8
11
|
end
|
@@ -22,10 +25,24 @@ end
|
|
22
25
|
|
23
26
|
describe CookieCutter::Base do
|
24
27
|
let(:cookie_jar) { CookieCutter::TestSupport::FakeCookieJar.new }
|
25
|
-
it 'should not
|
28
|
+
it 'should not update the cookie_jar when no value is set' do
|
26
29
|
SingleValuedCookie.new(cookie_jar)
|
27
30
|
cookie_jar.to_hash.should be_empty
|
28
31
|
end
|
32
|
+
describe 'name' do
|
33
|
+
it 'uses defined cookie name' do
|
34
|
+
request = double('http_request', scheme: 'https', cookie_jar: cookie_jar)
|
35
|
+
cookie = SingleValuedCookie.find(request)
|
36
|
+
cookie.cookie_name.should == :svc
|
37
|
+
end
|
38
|
+
legacy_cookie = :getty_cookie
|
39
|
+
let(:legacy_cookie_jar) { CookieCutter::TestSupport::FakeCookieJar.new({cookie_name: legacy_cookie}) }
|
40
|
+
it 'uses cookie name in cookie_jar' do
|
41
|
+
request = double('http_request', scheme: 'https', cookie_jar: legacy_cookie_jar)
|
42
|
+
cookie = EmptyValuedCookie.find(request, {cookie_name: legacy_cookie})
|
43
|
+
cookie.cookie_name.should == legacy_cookie
|
44
|
+
end
|
45
|
+
end
|
29
46
|
describe 'domain' do
|
30
47
|
it 'does not set domain if not given' do
|
31
48
|
class CookieWithNoDomain < CookieCutter::Base
|
@@ -160,8 +177,8 @@ describe CookieCutter::Base do
|
|
160
177
|
multi_valued_cookie.value2.should == "myval2"
|
161
178
|
end
|
162
179
|
it "privatizes the singular 'value' getter and setter" do
|
163
|
-
expect { multi_valued_cookie.value = "myval"}.
|
164
|
-
expect { multi_valued_cookie.value}.
|
180
|
+
expect { multi_valued_cookie.value = "myval"}.to raise_error(NoMethodError)
|
181
|
+
expect { multi_valued_cookie.value }.to raise_error(NoMethodError)
|
165
182
|
end
|
166
183
|
it "can override stored attribute name with :store_as option" do
|
167
184
|
multi_valued_cookie.value2 = "myval2"
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cookie_cutter
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2013-
|
13
|
+
date: 2013-12-26 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: activesupport
|
@@ -60,6 +60,22 @@ dependencies:
|
|
60
60
|
- - ! '>='
|
61
61
|
- !ruby/object:Gem::Version
|
62
62
|
version: '0'
|
63
|
+
- !ruby/object:Gem::Dependency
|
64
|
+
name: rspec-mocks
|
65
|
+
requirement: !ruby/object:Gem::Requirement
|
66
|
+
none: false
|
67
|
+
requirements:
|
68
|
+
- - ! '>='
|
69
|
+
- !ruby/object:Gem::Version
|
70
|
+
version: '0'
|
71
|
+
type: :development
|
72
|
+
prerelease: false
|
73
|
+
version_requirements: !ruby/object:Gem::Requirement
|
74
|
+
none: false
|
75
|
+
requirements:
|
76
|
+
- - ! '>='
|
77
|
+
- !ruby/object:Gem::Version
|
78
|
+
version: '0'
|
63
79
|
description: Provides a way to define the structure, lifetime, and other properties
|
64
80
|
of a cookie all in one place.
|
65
81
|
email:
|
@@ -111,3 +127,4 @@ summary: Provides a way to define the structure, lifetime, and other properties
|
|
111
127
|
a cookie all in one place.
|
112
128
|
test_files:
|
113
129
|
- spec/base_spec.rb
|
130
|
+
has_rdoc:
|