cookie_cutter 0.3.2 → 0.3.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -18,4 +18,5 @@ Gem::Specification.new do |gem|
18
18
  gem.add_development_dependency 'activesupport' #for date helpers
19
19
  gem.add_development_dependency 'rake'
20
20
  gem.add_development_dependency 'rspec'
21
+ gem.add_development_dependency 'rspec-mocks'
21
22
  end
@@ -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
- new(request.cookie_jar, secure_request: request.scheme == 'https')
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
- self.class.cookie_name
138
+ @cookie_name
137
139
  end
138
140
 
139
141
  def secure?
@@ -1,3 +1,3 @@
1
1
  module CookieCutter
2
- VERSION = "0.3.2"
2
+ VERSION = "0.3.3"
3
3
  end
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 not update the cookie_jar when no value is set' do
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"}.should raise_error(NoMethodError)
164
- expect { multi_valued_cookie.value}.should raise_error(NoMethodError)
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.2
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-06-12 00:00:00.000000000 Z
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: