cookie_cutter 0.3.6 → 0.4.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 47b2794c62f943c6e2e98cbc3fcca6d4e0661ee9
4
- data.tar.gz: 543b602746c82cfebdd26c5f9fd06b40917301c5
2
+ SHA256:
3
+ metadata.gz: 3eeaa96820553e14150a41c1846012869792ab90aad9862bb58d138fbeb558ad
4
+ data.tar.gz: b5184f8c9d5264389266d7963cfe92254b62491027d149361e6e00f17b7469f6
5
5
  SHA512:
6
- metadata.gz: 54627fbc688f6469ca1b98717e1eb7b0fbad522a85fb798b634e1840334d61e01c4d39b78f88078804981d14185d5a46207596c0472e9c43d4f939a72b42aa2c
7
- data.tar.gz: 60c964bf4200ee0f2528632121818d2034be9f82693b31a33203030fb5fd8b6e6190f799a1b2bf6a6c88ae78ad8baa9698ce7ecc27ee5227dbf93461ed9e1cca
6
+ metadata.gz: 5695bf9d898efbf72174d124b190472934c0e15039adc5d233d79e76140ce96f195df5dfe27929876b56696b71d14365c4f9eb49c80d4032cb38b01e8d537d67
7
+ data.tar.gz: 1fe0e333feb02c9e27e6d4f0e0aa16d0feefe691e98504e1d5f2087287d61abf573a9d69556ec7d6d29bb4e9a015fb53ff6e108710a3d55a7cabf4b1abec1510
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source 'https://rubygems.org'
2
2
 
3
3
  # Specify your gem's dependencies in cookie_cutter.gemspec
4
4
  gemspec
@@ -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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module CookieCutter
2
- VERSION = "0.3.6"
2
+ VERSION = "0.4.0"
3
3
  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.3.6
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: 2014-07-31 00:00:00.000000000 Z
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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: '0'
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
- rubyforge_project:
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