cookie_cutter 0.2.0 → 0.3.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.
@@ -0,0 +1,6 @@
1
+ require 'cookie_cutter'
2
+ require 'cookie_cutter/test_support/stubs'
3
+
4
+ module CookieCutter
5
+ extend TestSupport::Stubs
6
+ end
@@ -0,0 +1,53 @@
1
+ module CookieCutter
2
+ module TestSupport
3
+ class FakeCookieJar
4
+ class << self
5
+ def find
6
+ @instance ||= FakeCookieJar.new
7
+ end
8
+
9
+ def empty!
10
+ @instance = nil
11
+ end
12
+ end
13
+
14
+ def [](name)
15
+ cookie = @cookies[name]
16
+ cookie ? cookie[:value] : nil
17
+ end
18
+
19
+ def []=(name, value)
20
+ @cookies[name] = value
21
+ @deleted_cookies.delete_if{|n| name == n}
22
+ end
23
+
24
+ def delete(name, options)
25
+ @cookies.delete(name)
26
+ @deleted_cookies << name
27
+ end
28
+
29
+ def initialize(*args)
30
+ @cookies = {}
31
+ @deleted_cookies = []
32
+ if args.any?
33
+ cookies = args.first
34
+ cookies.keys.each do |cookie_name|
35
+ self[cookie_name] = { value: cookies[cookie_name] }
36
+ end
37
+ end
38
+ end
39
+
40
+ def deleted?(name)
41
+ @deleted_cookies.include?(name)
42
+ end
43
+
44
+ def to_hash
45
+ @cookies
46
+ end
47
+
48
+ def metadata_for(name)
49
+ @cookies[name]
50
+ end
51
+ end
52
+ end
53
+ end
@@ -0,0 +1,20 @@
1
+ require 'cookie_cutter/test_support/fake_cookie_jar'
2
+
3
+ module CookieCutter
4
+ module TestSupport
5
+ module Stubs
6
+ module Finders
7
+ def find(*args)
8
+ new(TestSupport::FakeCookieJar.find)
9
+ end
10
+ end
11
+
12
+ def stub_all
13
+ TestSupport::FakeCookieJar.empty!
14
+ CookieCutter::Base::class_eval do
15
+ extend Finders
16
+ end
17
+ end
18
+ end
19
+ end
20
+ end
@@ -1,3 +1,3 @@
1
1
  module CookieCutter
2
- VERSION = "0.2.0"
2
+ VERSION = "0.3.0"
3
3
  end
data/spec/base_spec.rb CHANGED
@@ -1,6 +1,6 @@
1
1
  require 'rspec'
2
2
  require 'cookie_cutter'
3
- require_relative 'support/fake_cookie_jar'
3
+ require 'cookie_cutter/test_support'
4
4
  require 'active_support/core_ext'
5
5
 
6
6
  class SingleValuedCookie < CookieCutter::Base
@@ -21,7 +21,7 @@ class MyMixedCaseCookie < CookieCutter::Base
21
21
  end
22
22
 
23
23
  describe CookieCutter::Base do
24
- let(:cookie_jar) { FakeCookieJar.new }
24
+ let(:cookie_jar) { CookieCutter::TestSupport::FakeCookieJar.new }
25
25
  it 'should not not update the cookie_jar when no value is set' do
26
26
  SingleValuedCookie.new(cookie_jar)
27
27
  cookie_jar.to_hash.should be_empty
@@ -129,7 +129,7 @@ describe CookieCutter::Base do
129
129
  cookie_jar[:svc].should == "ordinary value"
130
130
  end
131
131
  it 'can be read via ordinary cookie jar' do
132
- single_value_cookie = SingleValuedCookie.new(FakeCookieJar.new({ svc: "preset value" }))
132
+ single_value_cookie = SingleValuedCookie.new(CookieCutter::TestSupport::FakeCookieJar.new({ svc: "preset value" }))
133
133
  single_value_cookie.value.should == "preset value"
134
134
  end
135
135
  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.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-31 00:00:00.000000000 Z
12
+ date: 2012-12-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport
@@ -78,9 +78,11 @@ files:
78
78
  - lib/cookie_cutter/base.rb
79
79
  - lib/cookie_cutter/cookie.rb
80
80
  - lib/cookie_cutter/cookie_attribute.rb
81
+ - lib/cookie_cutter/test_support.rb
82
+ - lib/cookie_cutter/test_support/fake_cookie_jar.rb
83
+ - lib/cookie_cutter/test_support/stubs.rb
81
84
  - lib/cookie_cutter/version.rb
82
85
  - spec/base_spec.rb
83
- - spec/support/fake_cookie_jar.rb
84
86
  homepage: http://github.com/andyalm/cookie_cutter
85
87
  licenses: []
86
88
  post_install_message:
@@ -95,7 +97,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
95
97
  version: '0'
96
98
  segments:
97
99
  - 0
98
- hash: 892397825148305271
100
+ hash: -915929631811276243
99
101
  required_rubygems_version: !ruby/object:Gem::Requirement
100
102
  none: false
101
103
  requirements:
@@ -104,7 +106,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
106
  version: '0'
105
107
  segments:
106
108
  - 0
107
- hash: 892397825148305271
109
+ hash: -915929631811276243
108
110
  requirements: []
109
111
  rubyforge_project:
110
112
  rubygems_version: 1.8.24
@@ -114,4 +116,3 @@ summary: Provides a way to define the structure, lifetime, and other properties
114
116
  a cookie all in one place.
115
117
  test_files:
116
118
  - spec/base_spec.rb
117
- - spec/support/fake_cookie_jar.rb
@@ -1,41 +0,0 @@
1
- class FakeCookieJar
2
- def [](name)
3
- cookie = @cookies[name]
4
- if cookie
5
- cookie[:value]
6
- else
7
- nil
8
- end
9
- end
10
-
11
- def []=(name, value)
12
- @cookies[name] = value
13
- end
14
-
15
- def delete(name, options)
16
- @deleted_cookies << name
17
- end
18
-
19
- def initialize(*args)
20
- @cookies = {}
21
- @deleted_cookies = []
22
- if args.any?
23
- cookies = args.first
24
- cookies.keys.each do |cookie_name|
25
- self[cookie_name] = { value: cookies[cookie_name] }
26
- end
27
- end
28
- end
29
-
30
- def deleted?(name)
31
- @deleted_cookies.include?(name)
32
- end
33
-
34
- def to_hash
35
- @cookies
36
- end
37
-
38
- def metadata_for(name)
39
- @cookies[name]
40
- end
41
- end