hash_dealer 1.4.4 → 1.4.5
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.
- data/Gemfile +1 -0
- data/VERSION +1 -1
- data/hash_dealer.gemspec +6 -3
- data/lib/core_extensions.rb +3 -0
- data/spec/lib/hash_dealer_spec.rb +47 -37
- data/spec/lib/matcher_spec.rb +0 -2
- metadata +26 -15
data/Gemfile
CHANGED
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
1.4.
|
|
1
|
+
1.4.5
|
data/hash_dealer.gemspec
CHANGED
|
@@ -5,11 +5,11 @@
|
|
|
5
5
|
|
|
6
6
|
Gem::Specification.new do |s|
|
|
7
7
|
s.name = "hash_dealer"
|
|
8
|
-
s.version = "1.4.
|
|
8
|
+
s.version = "1.4.5"
|
|
9
9
|
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
|
11
11
|
s.authors = ["Dan Langevin"]
|
|
12
|
-
s.date = "2011-
|
|
12
|
+
s.date = "2011-11-22"
|
|
13
13
|
s.description = "Like Factory Girl but for Hashes only"
|
|
14
14
|
s.email = "dan.langevin@lifebooker.com"
|
|
15
15
|
s.extra_rdoc_files = [
|
|
@@ -40,7 +40,7 @@ Gem::Specification.new do |s|
|
|
|
40
40
|
s.homepage = "http://github.com/LifebookerInc/hash_dealer"
|
|
41
41
|
s.licenses = ["MIT"]
|
|
42
42
|
s.require_paths = ["lib"]
|
|
43
|
-
s.rubygems_version = "1.8.
|
|
43
|
+
s.rubygems_version = "1.8.11"
|
|
44
44
|
s.summary = "Hash Factory - like Factory Girl but for Hashes only"
|
|
45
45
|
|
|
46
46
|
if s.respond_to? :specification_version then
|
|
@@ -49,6 +49,7 @@ Gem::Specification.new do |s|
|
|
|
49
49
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
|
50
50
|
s.add_runtime_dependency(%q<activesupport>, [">= 0"])
|
|
51
51
|
s.add_runtime_dependency(%q<i18n>, [">= 0"])
|
|
52
|
+
s.add_runtime_dependency(%q<colorize>, [">= 0"])
|
|
52
53
|
s.add_development_dependency(%q<bundler>, [">= 0"])
|
|
53
54
|
s.add_development_dependency(%q<jeweler>, [">= 0"])
|
|
54
55
|
s.add_development_dependency(%q<rspec>, [">= 0"])
|
|
@@ -59,6 +60,7 @@ Gem::Specification.new do |s|
|
|
|
59
60
|
else
|
|
60
61
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
|
61
62
|
s.add_dependency(%q<i18n>, [">= 0"])
|
|
63
|
+
s.add_dependency(%q<colorize>, [">= 0"])
|
|
62
64
|
s.add_dependency(%q<bundler>, [">= 0"])
|
|
63
65
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
64
66
|
s.add_dependency(%q<rspec>, [">= 0"])
|
|
@@ -70,6 +72,7 @@ Gem::Specification.new do |s|
|
|
|
70
72
|
else
|
|
71
73
|
s.add_dependency(%q<activesupport>, [">= 0"])
|
|
72
74
|
s.add_dependency(%q<i18n>, [">= 0"])
|
|
75
|
+
s.add_dependency(%q<colorize>, [">= 0"])
|
|
73
76
|
s.add_dependency(%q<bundler>, [">= 0"])
|
|
74
77
|
s.add_dependency(%q<jeweler>, [">= 0"])
|
|
75
78
|
s.add_dependency(%q<rspec>, [">= 0"])
|
data/lib/core_extensions.rb
CHANGED
|
@@ -83,48 +83,58 @@ describe HashDealer do
|
|
|
83
83
|
HashDealer.roll(:variable).matcher(:only => [:b])[:b].should eql(":test_b")
|
|
84
84
|
end
|
|
85
85
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
86
|
+
context "Dates and Times" do
|
|
87
|
+
before(:all) do
|
|
88
|
+
HashDealer.define(:variable) do
|
|
89
|
+
time_test(Time.now)
|
|
90
|
+
date_test(Date.today)
|
|
91
|
+
end
|
|
92
|
+
HashDealer.define(:var) do
|
|
93
|
+
id("1")
|
|
94
|
+
created_at(Time.now)
|
|
95
|
+
updated_at(Time.now)
|
|
96
|
+
end
|
|
90
97
|
end
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
created_at
|
|
121
|
-
|
|
98
|
+
it "should create a wrapper for times and dates" do
|
|
99
|
+
|
|
100
|
+
|
|
101
|
+
time_test = HashDealer.roll(:variable).matcher[:time_test]
|
|
102
|
+
date_test = HashDealer.roll(:variable).matcher[:date_test]
|
|
103
|
+
|
|
104
|
+
time_test.should be_instance_of TimeDateMatcher
|
|
105
|
+
date_test.should be_instance_of TimeDateMatcher
|
|
106
|
+
|
|
107
|
+
time_test.should eql (Time.now - 1000)
|
|
108
|
+
time_test.should_not eql (Date.today)
|
|
109
|
+
date_test.should eql (Date.today)
|
|
110
|
+
date_test.should_not eql (Time.now)
|
|
111
|
+
|
|
112
|
+
# check the reverse too
|
|
113
|
+
(Time.now - 1000).should eql(time_test)
|
|
114
|
+
(Time.now - 1000).should == time_test
|
|
115
|
+
(Date.today).should_not eql(time_test)
|
|
116
|
+
(Date.today).should_not == time_test
|
|
117
|
+
|
|
118
|
+
# regular behavior should be unaffected
|
|
119
|
+
t = Time.now
|
|
120
|
+
t.should eql t.clone
|
|
121
|
+
t.should == t.clone
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
end
|
|
125
|
+
|
|
126
|
+
it "should match dates and times from JSON" do
|
|
127
|
+
ActiveSupport::JSON.encode({:created_at => Time.now, :updated_at => Time.now, :id => 1}).should match_response(HashDealer.roll(:var).matcher)
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
it "should allow dates and times to be null" do
|
|
131
|
+
ActiveSupport::JSON.encode({:created_at => nil, :updated_at => nil, :id => 1}).should match_response(HashDealer.roll(:var).matcher)
|
|
122
132
|
end
|
|
123
|
-
|
|
124
|
-
ActiveSupport::JSON.encode({:created_at => Time.now, :updated_at => Time.now, :id => 1}).should match_response(HashDealer.roll(:var).matcher)
|
|
125
133
|
|
|
126
134
|
end
|
|
127
135
|
|
|
136
|
+
|
|
137
|
+
|
|
128
138
|
it "should not modify the element when returning a matcher" do
|
|
129
139
|
HashDealer.define(:array) do
|
|
130
140
|
my_array([1,2,3])
|
data/spec/lib/matcher_spec.rb
CHANGED
metadata
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
name: hash_dealer
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease:
|
|
5
|
-
version: 1.4.
|
|
5
|
+
version: 1.4.5
|
|
6
6
|
platform: ruby
|
|
7
7
|
authors:
|
|
8
8
|
- Dan Langevin
|
|
@@ -10,7 +10,7 @@ autorequire:
|
|
|
10
10
|
bindir: bin
|
|
11
11
|
cert_chain: []
|
|
12
12
|
|
|
13
|
-
date: 2011-
|
|
13
|
+
date: 2011-11-22 00:00:00 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: activesupport
|
|
@@ -35,18 +35,18 @@ dependencies:
|
|
|
35
35
|
prerelease: false
|
|
36
36
|
version_requirements: *id002
|
|
37
37
|
- !ruby/object:Gem::Dependency
|
|
38
|
-
name:
|
|
38
|
+
name: colorize
|
|
39
39
|
requirement: &id003 !ruby/object:Gem::Requirement
|
|
40
40
|
none: false
|
|
41
41
|
requirements:
|
|
42
42
|
- - ">="
|
|
43
43
|
- !ruby/object:Gem::Version
|
|
44
44
|
version: "0"
|
|
45
|
-
type: :
|
|
45
|
+
type: :runtime
|
|
46
46
|
prerelease: false
|
|
47
47
|
version_requirements: *id003
|
|
48
48
|
- !ruby/object:Gem::Dependency
|
|
49
|
-
name:
|
|
49
|
+
name: bundler
|
|
50
50
|
requirement: &id004 !ruby/object:Gem::Requirement
|
|
51
51
|
none: false
|
|
52
52
|
requirements:
|
|
@@ -57,7 +57,7 @@ dependencies:
|
|
|
57
57
|
prerelease: false
|
|
58
58
|
version_requirements: *id004
|
|
59
59
|
- !ruby/object:Gem::Dependency
|
|
60
|
-
name:
|
|
60
|
+
name: jeweler
|
|
61
61
|
requirement: &id005 !ruby/object:Gem::Requirement
|
|
62
62
|
none: false
|
|
63
63
|
requirements:
|
|
@@ -68,7 +68,7 @@ dependencies:
|
|
|
68
68
|
prerelease: false
|
|
69
69
|
version_requirements: *id005
|
|
70
70
|
- !ruby/object:Gem::Dependency
|
|
71
|
-
name:
|
|
71
|
+
name: rspec
|
|
72
72
|
requirement: &id006 !ruby/object:Gem::Requirement
|
|
73
73
|
none: false
|
|
74
74
|
requirements:
|
|
@@ -79,8 +79,19 @@ dependencies:
|
|
|
79
79
|
prerelease: false
|
|
80
80
|
version_requirements: *id006
|
|
81
81
|
- !ruby/object:Gem::Dependency
|
|
82
|
-
name:
|
|
82
|
+
name: rcov
|
|
83
83
|
requirement: &id007 !ruby/object:Gem::Requirement
|
|
84
|
+
none: false
|
|
85
|
+
requirements:
|
|
86
|
+
- - ">="
|
|
87
|
+
- !ruby/object:Gem::Version
|
|
88
|
+
version: "0"
|
|
89
|
+
type: :development
|
|
90
|
+
prerelease: false
|
|
91
|
+
version_requirements: *id007
|
|
92
|
+
- !ruby/object:Gem::Dependency
|
|
93
|
+
name: guard-rspec
|
|
94
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
|
84
95
|
none: false
|
|
85
96
|
requirements:
|
|
86
97
|
- - "="
|
|
@@ -88,10 +99,10 @@ dependencies:
|
|
|
88
99
|
version: 0.4.0
|
|
89
100
|
type: :development
|
|
90
101
|
prerelease: false
|
|
91
|
-
version_requirements: *
|
|
102
|
+
version_requirements: *id008
|
|
92
103
|
- !ruby/object:Gem::Dependency
|
|
93
104
|
name: ruby-debug19
|
|
94
|
-
requirement: &
|
|
105
|
+
requirement: &id009 !ruby/object:Gem::Requirement
|
|
95
106
|
none: false
|
|
96
107
|
requirements:
|
|
97
108
|
- - ">="
|
|
@@ -99,10 +110,10 @@ dependencies:
|
|
|
99
110
|
version: "0"
|
|
100
111
|
type: :development
|
|
101
112
|
prerelease: false
|
|
102
|
-
version_requirements: *
|
|
113
|
+
version_requirements: *id009
|
|
103
114
|
- !ruby/object:Gem::Dependency
|
|
104
115
|
name: simplecov
|
|
105
|
-
requirement: &
|
|
116
|
+
requirement: &id010 !ruby/object:Gem::Requirement
|
|
106
117
|
none: false
|
|
107
118
|
requirements:
|
|
108
119
|
- - ">="
|
|
@@ -110,7 +121,7 @@ dependencies:
|
|
|
110
121
|
version: "0"
|
|
111
122
|
type: :development
|
|
112
123
|
prerelease: false
|
|
113
|
-
version_requirements: *
|
|
124
|
+
version_requirements: *id010
|
|
114
125
|
description: Like Factory Girl but for Hashes only
|
|
115
126
|
email: dan.langevin@lifebooker.com
|
|
116
127
|
executables: []
|
|
@@ -153,7 +164,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
153
164
|
requirements:
|
|
154
165
|
- - ">="
|
|
155
166
|
- !ruby/object:Gem::Version
|
|
156
|
-
hash: -
|
|
167
|
+
hash: -4520042367006189314
|
|
157
168
|
segments:
|
|
158
169
|
- 0
|
|
159
170
|
version: "0"
|
|
@@ -166,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
166
177
|
requirements: []
|
|
167
178
|
|
|
168
179
|
rubyforge_project:
|
|
169
|
-
rubygems_version: 1.8.
|
|
180
|
+
rubygems_version: 1.8.11
|
|
170
181
|
signing_key:
|
|
171
182
|
specification_version: 3
|
|
172
183
|
summary: Hash Factory - like Factory Girl but for Hashes only
|