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