fabrication 2.10.0 → 2.11.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.markdown +1 -1
- data/Rakefile +1 -1
- data/lib/fabrication/schematic/attribute.rb +3 -2
- data/lib/fabrication/schematic/definition.rb +8 -4
- data/lib/fabrication/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 96031c7fe931f6f70a4e0e8b0a51c999151e0865
|
4
|
+
data.tar.gz: 1714692bcc5f754e34855020a647750322a24fbe
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: db66d3fe1d78fcdae6fe36fa3c4ddbd0b32c31364f1540ddfc99ed654bcaff0c73e09cb33e8033ec2b580d55da206165ef3970d399c25ef0ca24737634931efa
|
7
|
+
data.tar.gz: 5b786db9b68d5c6db2b1d23016f9143dba83b6e465aca3cebe9a7b1464ebf3932ed712049f374979281daccefeb1eb3e6be91deb3318f1952c7453fc0ad8a30c
|
data/README.markdown
CHANGED
@@ -6,7 +6,7 @@ Fabrication is an object generation framework for Ruby.
|
|
6
6
|
|
7
7
|
## Compatibility
|
8
8
|
|
9
|
-
Fabrication is tested against Ruby 1.9.3, 2.0.0, and Rubinius.
|
9
|
+
Fabrication is tested against Ruby 1.9.3, 2.0.0, 2.1.x, and Rubinius.
|
10
10
|
|
11
11
|
[![Build Status](https://secure.travis-ci.org/paulelliott/fabrication.png)](http://travis-ci.org/paulelliott/fabrication)
|
12
12
|
[![Code Climate](https://codeclimate.com/github/paulelliott/fabrication.png)](https://codeclimate.com/github/paulelliott/fabrication)
|
data/Rakefile
CHANGED
@@ -31,6 +31,9 @@ class Fabrication::Schematic::Attribute
|
|
31
31
|
end
|
32
32
|
end
|
33
33
|
|
34
|
+
def value_static?; !value_proc? end
|
35
|
+
def value_proc?; Proc === value end
|
36
|
+
|
34
37
|
private
|
35
38
|
|
36
39
|
def execute(*args, &block)
|
@@ -49,6 +52,4 @@ class Fabrication::Schematic::Attribute
|
|
49
52
|
Kernel.rand((1..params[:rand])) if params[:rand]
|
50
53
|
end
|
51
54
|
|
52
|
-
def value_proc?; Proc === value end
|
53
|
-
|
54
55
|
end
|
@@ -46,6 +46,10 @@ class Fabrication::Schematic::Definition
|
|
46
46
|
@generator ||= GENERATORS.detect { |gen| gen.supports?(klass) }
|
47
47
|
end
|
48
48
|
|
49
|
+
def sorted_attributes
|
50
|
+
attributes.select(&:value_static?) + attributes.select(&:value_proc?)
|
51
|
+
end
|
52
|
+
|
49
53
|
def build(overrides={}, &block)
|
50
54
|
if Fabrication.manager.to_params_stack.any?
|
51
55
|
to_params(overrides, &block)
|
@@ -53,7 +57,7 @@ class Fabrication::Schematic::Definition
|
|
53
57
|
begin
|
54
58
|
Fabrication.manager.build_stack << self
|
55
59
|
merge(overrides, &block).instance_eval do
|
56
|
-
generator.new(klass).build(
|
60
|
+
generator.new(klass).build(sorted_attributes, callbacks)
|
57
61
|
end
|
58
62
|
ensure
|
59
63
|
Fabrication.manager.build_stack.pop
|
@@ -68,7 +72,7 @@ class Fabrication::Schematic::Definition
|
|
68
72
|
to_params(overrides, &block)
|
69
73
|
else
|
70
74
|
merge(overrides, &block).instance_eval do
|
71
|
-
generator.new(klass).create(
|
75
|
+
generator.new(klass).create(sorted_attributes, callbacks)
|
72
76
|
end
|
73
77
|
end
|
74
78
|
end
|
@@ -76,7 +80,7 @@ class Fabrication::Schematic::Definition
|
|
76
80
|
def to_params(overrides={}, &block)
|
77
81
|
Fabrication.manager.to_params_stack << self
|
78
82
|
merge(overrides, &block).instance_eval do
|
79
|
-
generator.new(klass).to_params(
|
83
|
+
generator.new(klass).to_params(sorted_attributes)
|
80
84
|
end
|
81
85
|
ensure
|
82
86
|
Fabrication.manager.to_params_stack.pop
|
@@ -84,7 +88,7 @@ class Fabrication::Schematic::Definition
|
|
84
88
|
|
85
89
|
def to_attributes(overrides={}, &block)
|
86
90
|
merge(overrides, &block).instance_eval do
|
87
|
-
generator.new(klass).to_hash(
|
91
|
+
generator.new(klass).to_hash(sorted_attributes, callbacks)
|
88
92
|
end
|
89
93
|
end
|
90
94
|
|
data/lib/fabrication/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fabrication
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.11.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Paul Elliott
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-27 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Fabrication is an object generation framework for ActiveRecord, Mongoid,
|
14
14
|
DataMapper, Sequel, or any other Ruby object.
|
@@ -69,7 +69,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
69
69
|
version: '0'
|
70
70
|
requirements: []
|
71
71
|
rubyforge_project:
|
72
|
-
rubygems_version: 2.2.
|
72
|
+
rubygems_version: 2.2.2
|
73
73
|
signing_key:
|
74
74
|
specification_version: 4
|
75
75
|
summary: Implementing the factory pattern in Ruby so you don't have to.
|