sham 0.2.0 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/README.markdown +3 -3
- data/lib/sham.rb +3 -3
- data/lib/sham/version.rb +1 -1
- metadata +4 -7
data/README.markdown
CHANGED
@@ -58,12 +58,12 @@ Here is an example of testing validations on an ActiveRecord::Base class using S
|
|
58
58
|
# in spec/models/item_spec.rb
|
59
59
|
describe Item do
|
60
60
|
it "should not allow items with a negative price" do
|
61
|
-
item = Item.sham :build, :quantity => -1
|
61
|
+
item = Item.sham! :build, :quantity => -1
|
62
62
|
item.valid?.should be_false
|
63
63
|
end
|
64
64
|
|
65
65
|
it "should allow items with a positive quantity" do
|
66
|
-
item = Item.sham :build, :quantity => 10
|
66
|
+
item = Item.sham! :build, :quantity => 10
|
67
67
|
item.valid?.should be_true
|
68
68
|
end
|
69
69
|
end
|
@@ -102,4 +102,4 @@ You can nest shammed models inside others:
|
|
102
102
|
The nested shams will automatically be invoked and can be overridden during a sham:
|
103
103
|
|
104
104
|
LineItem.sham!
|
105
|
-
LineItem.sham! :item => Item.sham!(:weight => 100)
|
105
|
+
LineItem.sham! :item => Item.sham!(:weight => 100)
|
data/lib/sham.rb
CHANGED
@@ -39,7 +39,7 @@ module Sham
|
|
39
39
|
|
40
40
|
def self.add_options! klass, options = {}, options_string = "options"
|
41
41
|
eval("#{klass}::Sham.#{options_string}").each do |key, value|
|
42
|
-
options[key] =
|
42
|
+
options[key] = self.parse!(value) unless options.has_key?(key)
|
43
43
|
end
|
44
44
|
end
|
45
45
|
|
@@ -48,7 +48,7 @@ module Sham
|
|
48
48
|
klass.class_eval do
|
49
49
|
def self.sham! *args
|
50
50
|
options = (args.extract_options! || {})
|
51
|
-
Sham.add_options! self.name, options
|
51
|
+
::Sham.add_options! self.name, options
|
52
52
|
klass = (options.delete(:type) || self.name).constantize
|
53
53
|
return klass.create(options) unless args[0] == :build
|
54
54
|
return klass.new(options)
|
@@ -56,7 +56,7 @@ module Sham
|
|
56
56
|
|
57
57
|
def self.sham_alternate! type, *args
|
58
58
|
options = (args.extract_options! || {})
|
59
|
-
Sham.add_options! self.name, options, "#{type}_options"
|
59
|
+
::Sham.add_options! self.name, options, "#{type}_options"
|
60
60
|
klass = (options.delete(:type) || self.name).constantize
|
61
61
|
return klass.create(options) unless args[0] == :build
|
62
62
|
return klass.new(options)
|
data/lib/sham/version.rb
CHANGED
metadata
CHANGED
@@ -1,13 +1,12 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sham
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash: 23
|
5
4
|
prerelease: false
|
6
5
|
segments:
|
7
6
|
- 0
|
8
|
-
-
|
7
|
+
- 3
|
9
8
|
- 0
|
10
|
-
version: 0.
|
9
|
+
version: 0.3.0
|
11
10
|
platform: ruby
|
12
11
|
authors:
|
13
12
|
- Pan Thomakos
|
@@ -15,7 +14,7 @@ autorequire:
|
|
15
14
|
bindir: bin
|
16
15
|
cert_chain: []
|
17
16
|
|
18
|
-
date: 2010-12-
|
17
|
+
date: 2010-12-13 00:00:00 -08:00
|
19
18
|
default_executable:
|
20
19
|
dependencies: []
|
21
20
|
|
@@ -53,7 +52,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
53
52
|
requirements:
|
54
53
|
- - ">="
|
55
54
|
- !ruby/object:Gem::Version
|
56
|
-
hash: 3
|
57
55
|
segments:
|
58
56
|
- 0
|
59
57
|
version: "0"
|
@@ -62,7 +60,6 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
62
60
|
requirements:
|
63
61
|
- - ">="
|
64
62
|
- !ruby/object:Gem::Version
|
65
|
-
hash: 3
|
66
63
|
segments:
|
67
64
|
- 0
|
68
65
|
version: "0"
|
@@ -72,6 +69,6 @@ rubyforge_project: sham
|
|
72
69
|
rubygems_version: 1.3.7
|
73
70
|
signing_key:
|
74
71
|
specification_version: 3
|
75
|
-
summary: sham-0.
|
72
|
+
summary: sham-0.3.0
|
76
73
|
test_files: []
|
77
74
|
|