cookie_cutter 0.3.6 → 0.4.0
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.
- checksums.yaml +5 -5
- data/Gemfile +1 -1
- data/cookie_cutter.gemspec +4 -4
- data/lib/cookie_cutter/cookie.rb +10 -0
- data/lib/cookie_cutter/cookie_registry.rb +23 -0
- data/lib/cookie_cutter/version.rb +1 -1
- data/spec/cookie_registry_spec.rb +28 -0
- metadata +26 -24
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 3eeaa96820553e14150a41c1846012869792ab90aad9862bb58d138fbeb558ad
|
4
|
+
data.tar.gz: b5184f8c9d5264389266d7963cfe92254b62491027d149361e6e00f17b7469f6
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 5695bf9d898efbf72174d124b190472934c0e15039adc5d233d79e76140ce96f195df5dfe27929876b56696b71d14365c4f9eb49c80d4032cb38b01e8d537d67
|
7
|
+
data.tar.gz: 1fe0e333feb02c9e27e6d4f0e0aa16d0feefe691e98504e1d5f2087287d61abf573a9d69556ec7d6d29bb4e9a015fb53ff6e108710a3d55a7cabf4b1abec1510
|
data/Gemfile
CHANGED
data/cookie_cutter.gemspec
CHANGED
@@ -15,8 +15,8 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.require_paths = ["lib"]
|
16
16
|
gem.version = CookieCutter::VERSION
|
17
17
|
|
18
|
-
gem.add_development_dependency 'activesupport' #for date helpers
|
19
|
-
gem.add_development_dependency 'rake'
|
20
|
-
gem.add_development_dependency 'rspec'
|
21
|
-
gem.add_development_dependency 'rspec-mocks'
|
18
|
+
gem.add_development_dependency 'activesupport', '~> 3.2.22' #for date helpers
|
19
|
+
gem.add_development_dependency 'rake', '~> 10.5'
|
20
|
+
gem.add_development_dependency 'rspec', '~> 2.14.1'
|
21
|
+
gem.add_development_dependency 'rspec-mocks', '~> 2.14.6'
|
22
22
|
end
|
data/lib/cookie_cutter/cookie.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
require 'cookie_cutter/cookie_attribute'
|
2
|
+
require 'cookie_cutter/cookie_registry'
|
2
3
|
|
3
4
|
module CookieCutter
|
4
5
|
module Cookie
|
@@ -12,6 +13,7 @@ module CookieCutter
|
|
12
13
|
|
13
14
|
def store_as(name)
|
14
15
|
@cookie_name = name
|
16
|
+
ensure_registered
|
15
17
|
end
|
16
18
|
|
17
19
|
attr_reader :cookie_domain
|
@@ -75,6 +77,7 @@ module CookieCutter
|
|
75
77
|
|
76
78
|
def has_attribute(attribute_name, options={})
|
77
79
|
raise "CookieCutter value names must by symbols. #{attribute_name} is not a symbol" unless attribute_name.is_a?(Symbol)
|
80
|
+
ensure_registered
|
78
81
|
#make value and value= private when the cookie has one or more named values
|
79
82
|
private :value, :value=, :set_value
|
80
83
|
|
@@ -97,6 +100,7 @@ module CookieCutter
|
|
97
100
|
|
98
101
|
def add_handler(&block)
|
99
102
|
handlers << block
|
103
|
+
ensure_registered
|
100
104
|
end
|
101
105
|
|
102
106
|
def handlers
|
@@ -106,6 +110,12 @@ module CookieCutter
|
|
106
110
|
def attributes
|
107
111
|
@attributes ||= []
|
108
112
|
end
|
113
|
+
|
114
|
+
private
|
115
|
+
|
116
|
+
def ensure_registered
|
117
|
+
CookieRegistry.instance.register self
|
118
|
+
end
|
109
119
|
end
|
110
120
|
|
111
121
|
def self.included(klass)
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'singleton'
|
2
|
+
|
3
|
+
module CookieCutter
|
4
|
+
class CookieRegistry
|
5
|
+
include Singleton
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@cookies = Set.new
|
9
|
+
end
|
10
|
+
|
11
|
+
def register(cookie_class)
|
12
|
+
@cookies.add cookie_class
|
13
|
+
end
|
14
|
+
|
15
|
+
def all
|
16
|
+
@cookies
|
17
|
+
end
|
18
|
+
|
19
|
+
def clear
|
20
|
+
@cookies.clear
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
require 'rspec'
|
2
|
+
require 'cookie_cutter/base'
|
3
|
+
require 'cookie_cutter/cookie_registry'
|
4
|
+
|
5
|
+
describe CookieCutter::CookieRegistry do
|
6
|
+
before do
|
7
|
+
CookieCutter::CookieRegistry.instance.clear
|
8
|
+
class MyCookie < CookieCutter::Base
|
9
|
+
store_as 'my'
|
10
|
+
end
|
11
|
+
class MyOtherCookie < CookieCutter::Base
|
12
|
+
store_as 'other'
|
13
|
+
end
|
14
|
+
class DynamicCookie < CookieCutter::Base
|
15
|
+
# no store_as
|
16
|
+
has_attribute :foo
|
17
|
+
end
|
18
|
+
end
|
19
|
+
let :registered_cookies do
|
20
|
+
CookieCutter::CookieRegistry.instance.all
|
21
|
+
end
|
22
|
+
it 'all cookies are registered' do
|
23
|
+
registered_cookies.length.should == 3
|
24
|
+
registered_cookies.should include(MyCookie)
|
25
|
+
registered_cookies.should include(MyOtherCookie)
|
26
|
+
registered_cookies.should include(DynamicCookie)
|
27
|
+
end
|
28
|
+
end
|
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.
|
4
|
+
version: 0.4.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Alm
|
@@ -9,64 +9,64 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2022-05-17 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activesupport
|
16
16
|
requirement: !ruby/object:Gem::Requirement
|
17
17
|
requirements:
|
18
|
-
- -
|
18
|
+
- - "~>"
|
19
19
|
- !ruby/object:Gem::Version
|
20
|
-
version:
|
20
|
+
version: 3.2.22
|
21
21
|
type: :development
|
22
22
|
prerelease: false
|
23
23
|
version_requirements: !ruby/object:Gem::Requirement
|
24
24
|
requirements:
|
25
|
-
- -
|
25
|
+
- - "~>"
|
26
26
|
- !ruby/object:Gem::Version
|
27
|
-
version:
|
27
|
+
version: 3.2.22
|
28
28
|
- !ruby/object:Gem::Dependency
|
29
29
|
name: rake
|
30
30
|
requirement: !ruby/object:Gem::Requirement
|
31
31
|
requirements:
|
32
|
-
- -
|
32
|
+
- - "~>"
|
33
33
|
- !ruby/object:Gem::Version
|
34
|
-
version: '
|
34
|
+
version: '10.5'
|
35
35
|
type: :development
|
36
36
|
prerelease: false
|
37
37
|
version_requirements: !ruby/object:Gem::Requirement
|
38
38
|
requirements:
|
39
|
-
- -
|
39
|
+
- - "~>"
|
40
40
|
- !ruby/object:Gem::Version
|
41
|
-
version: '
|
41
|
+
version: '10.5'
|
42
42
|
- !ruby/object:Gem::Dependency
|
43
43
|
name: rspec
|
44
44
|
requirement: !ruby/object:Gem::Requirement
|
45
45
|
requirements:
|
46
|
-
- -
|
46
|
+
- - "~>"
|
47
47
|
- !ruby/object:Gem::Version
|
48
|
-
version:
|
48
|
+
version: 2.14.1
|
49
49
|
type: :development
|
50
50
|
prerelease: false
|
51
51
|
version_requirements: !ruby/object:Gem::Requirement
|
52
52
|
requirements:
|
53
|
-
- -
|
53
|
+
- - "~>"
|
54
54
|
- !ruby/object:Gem::Version
|
55
|
-
version:
|
55
|
+
version: 2.14.1
|
56
56
|
- !ruby/object:Gem::Dependency
|
57
57
|
name: rspec-mocks
|
58
58
|
requirement: !ruby/object:Gem::Requirement
|
59
59
|
requirements:
|
60
|
-
- -
|
60
|
+
- - "~>"
|
61
61
|
- !ruby/object:Gem::Version
|
62
|
-
version:
|
62
|
+
version: 2.14.6
|
63
63
|
type: :development
|
64
64
|
prerelease: false
|
65
65
|
version_requirements: !ruby/object:Gem::Requirement
|
66
66
|
requirements:
|
67
|
-
- -
|
67
|
+
- - "~>"
|
68
68
|
- !ruby/object:Gem::Version
|
69
|
-
version:
|
69
|
+
version: 2.14.6
|
70
70
|
description: Provides a way to define the structure, lifetime, and other properties
|
71
71
|
of a cookie all in one place.
|
72
72
|
email:
|
@@ -75,8 +75,8 @@ executables: []
|
|
75
75
|
extensions: []
|
76
76
|
extra_rdoc_files: []
|
77
77
|
files:
|
78
|
-
- .gitignore
|
79
|
-
- .travis.yml
|
78
|
+
- ".gitignore"
|
79
|
+
- ".travis.yml"
|
80
80
|
- Gemfile
|
81
81
|
- LICENSE
|
82
82
|
- README.md
|
@@ -86,11 +86,13 @@ files:
|
|
86
86
|
- lib/cookie_cutter/base.rb
|
87
87
|
- lib/cookie_cutter/cookie.rb
|
88
88
|
- lib/cookie_cutter/cookie_attribute.rb
|
89
|
+
- lib/cookie_cutter/cookie_registry.rb
|
89
90
|
- lib/cookie_cutter/test_support.rb
|
90
91
|
- lib/cookie_cutter/test_support/fake_cookie_jar.rb
|
91
92
|
- lib/cookie_cutter/test_support/stubs.rb
|
92
93
|
- lib/cookie_cutter/version.rb
|
93
94
|
- spec/base_spec.rb
|
95
|
+
- spec/cookie_registry_spec.rb
|
94
96
|
homepage: http://github.com/gettyimages/cookie_cutter
|
95
97
|
licenses: []
|
96
98
|
metadata: {}
|
@@ -100,20 +102,20 @@ require_paths:
|
|
100
102
|
- lib
|
101
103
|
required_ruby_version: !ruby/object:Gem::Requirement
|
102
104
|
requirements:
|
103
|
-
- -
|
105
|
+
- - ">="
|
104
106
|
- !ruby/object:Gem::Version
|
105
107
|
version: '0'
|
106
108
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
107
109
|
requirements:
|
108
|
-
- -
|
110
|
+
- - ">="
|
109
111
|
- !ruby/object:Gem::Version
|
110
112
|
version: '0'
|
111
113
|
requirements: []
|
112
|
-
|
113
|
-
rubygems_version: 2.2.2
|
114
|
+
rubygems_version: 3.3.10
|
114
115
|
signing_key:
|
115
116
|
specification_version: 4
|
116
117
|
summary: Provides a way to define the structure, lifetime, and other properties of
|
117
118
|
a cookie all in one place.
|
118
119
|
test_files:
|
119
120
|
- spec/base_spec.rb
|
121
|
+
- spec/cookie_registry_spec.rb
|