bricks 0.5.0 → 0.5.1
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/VERSION +1 -1
- data/bricks.gemspec +7 -7
- data/lib/bricks/adapters/active_record.rb +2 -2
- data/lib/bricks/builder.rb +4 -5
- data/spec/support/active_record.rb +2 -0
- metadata +46 -54
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.5.
|
1
|
+
0.5.1
|
data/bricks.gemspec
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
|
-
s.name =
|
8
|
-
s.version = "0.5.
|
7
|
+
s.name = "bricks"
|
8
|
+
s.version = "0.5.1"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["David Leal"]
|
12
|
-
s.date =
|
13
|
-
s.email =
|
12
|
+
s.date = "2011-11-24"
|
13
|
+
s.email = "david@mojotech.com"
|
14
14
|
s.extra_rdoc_files = [
|
15
15
|
"LICENSE.txt",
|
16
16
|
"README.md"
|
@@ -37,11 +37,11 @@ Gem::Specification.new do |s|
|
|
37
37
|
"spec/spec_helper.rb",
|
38
38
|
"spec/support/active_record.rb"
|
39
39
|
]
|
40
|
-
s.homepage =
|
40
|
+
s.homepage = "http://github.com/mojotech/bricks"
|
41
41
|
s.licenses = ["MIT"]
|
42
42
|
s.require_paths = ["lib"]
|
43
|
-
s.rubygems_version =
|
44
|
-
s.summary =
|
43
|
+
s.rubygems_version = "1.8.10"
|
44
|
+
s.summary = "Hybrid object builder/factory."
|
45
45
|
|
46
46
|
if s.respond_to? :specification_version then
|
47
47
|
s.specification_version = 3
|
@@ -10,8 +10,8 @@ module Bricks
|
|
10
10
|
def initialize(klass, kind)
|
11
11
|
@class = klass
|
12
12
|
@type = case kind
|
13
|
-
when :belongs_to; :
|
14
|
-
when :has_many, :has_and_belongs_to_many; :
|
13
|
+
when :belongs_to; :parent
|
14
|
+
when :has_many, :has_and_belongs_to_many; :children
|
15
15
|
else "Unknown AR association type: #{kind}."
|
16
16
|
end
|
17
17
|
end
|
data/lib/bricks/builder.rb
CHANGED
@@ -30,13 +30,12 @@ module Bricks
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def derive(args = {})
|
33
|
-
build_attrs
|
34
|
-
|
35
33
|
klass = args[:class] || @class
|
36
34
|
save = args.has_key?(:save) ? args[:save] : @save
|
37
35
|
search = args.has_key?(:search) ? args[:search] : @search
|
38
36
|
|
39
|
-
Builder.new(klass, @attrs, @traits, save, search).tap { |b|
|
37
|
+
Builder.new(klass, @attrs, @traits, save, search, &@block).tap { |b|
|
38
|
+
b.send :build_attrs
|
40
39
|
b.run_hook :after, :clone if ! args[:class]
|
41
40
|
}
|
42
41
|
end
|
@@ -197,9 +196,9 @@ module Bricks
|
|
197
196
|
pair[-1] = val
|
198
197
|
|
199
198
|
self
|
200
|
-
elsif adapter.association?(@class, nsym, :
|
199
|
+
elsif adapter.association?(@class, nsym, :parent)
|
201
200
|
pair[-1] = builder(adapter.association(@class, nsym).klass, @save)
|
202
|
-
elsif adapter.association?(@class, nsym, :
|
201
|
+
elsif adapter.association?(@class, nsym, :children)
|
203
202
|
pair[-1] ||= BuilderSet.new(adapter.association(@class, nsym).klass)
|
204
203
|
else
|
205
204
|
raise Bricks::BadSyntax,
|
metadata
CHANGED
@@ -1,72 +1,68 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: bricks
|
3
|
-
version: !ruby/object:Gem::Version
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.1
|
4
5
|
prerelease:
|
5
|
-
version: 0.5.0
|
6
6
|
platform: ruby
|
7
|
-
authors:
|
7
|
+
authors:
|
8
8
|
- David Leal
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
dependencies:
|
16
|
-
- !ruby/object:Gem::Dependency
|
12
|
+
date: 2011-11-24 00:00:00.000000000Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
17
15
|
name: rspec
|
18
|
-
requirement: &
|
16
|
+
requirement: &82543630 !ruby/object:Gem::Requirement
|
19
17
|
none: false
|
20
|
-
requirements:
|
18
|
+
requirements:
|
21
19
|
- - ~>
|
22
|
-
- !ruby/object:Gem::Version
|
23
|
-
version:
|
20
|
+
- !ruby/object:Gem::Version
|
21
|
+
version: '2.0'
|
24
22
|
type: :development
|
25
23
|
prerelease: false
|
26
|
-
version_requirements: *
|
27
|
-
- !ruby/object:Gem::Dependency
|
24
|
+
version_requirements: *82543630
|
25
|
+
- !ruby/object:Gem::Dependency
|
28
26
|
name: bundler
|
29
|
-
requirement: &
|
27
|
+
requirement: &82543330 !ruby/object:Gem::Requirement
|
30
28
|
none: false
|
31
|
-
requirements:
|
29
|
+
requirements:
|
32
30
|
- - ~>
|
33
|
-
- !ruby/object:Gem::Version
|
31
|
+
- !ruby/object:Gem::Version
|
34
32
|
version: 1.0.0
|
35
33
|
type: :development
|
36
34
|
prerelease: false
|
37
|
-
version_requirements: *
|
38
|
-
- !ruby/object:Gem::Dependency
|
35
|
+
version_requirements: *82543330
|
36
|
+
- !ruby/object:Gem::Dependency
|
39
37
|
name: jeweler
|
40
|
-
requirement: &
|
38
|
+
requirement: &82526310 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
|
-
requirements:
|
40
|
+
requirements:
|
43
41
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
42
|
+
- !ruby/object:Gem::Version
|
45
43
|
version: 1.6.2
|
46
44
|
type: :development
|
47
45
|
prerelease: false
|
48
|
-
version_requirements: *
|
49
|
-
- !ruby/object:Gem::Dependency
|
46
|
+
version_requirements: *82526310
|
47
|
+
- !ruby/object:Gem::Dependency
|
50
48
|
name: rcov
|
51
|
-
requirement: &
|
49
|
+
requirement: &82525860 !ruby/object:Gem::Requirement
|
52
50
|
none: false
|
53
|
-
requirements:
|
54
|
-
- -
|
55
|
-
- !ruby/object:Gem::Version
|
56
|
-
version:
|
51
|
+
requirements:
|
52
|
+
- - ! '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
57
55
|
type: :development
|
58
56
|
prerelease: false
|
59
|
-
version_requirements: *
|
57
|
+
version_requirements: *82525860
|
60
58
|
description:
|
61
59
|
email: david@mojotech.com
|
62
60
|
executables: []
|
63
|
-
|
64
61
|
extensions: []
|
65
|
-
|
66
|
-
extra_rdoc_files:
|
62
|
+
extra_rdoc_files:
|
67
63
|
- LICENSE.txt
|
68
64
|
- README.md
|
69
|
-
files:
|
65
|
+
files:
|
70
66
|
- .document
|
71
67
|
- .rspec
|
72
68
|
- Gemfile
|
@@ -87,36 +83,32 @@ files:
|
|
87
83
|
- spec/bricks_spec.rb
|
88
84
|
- spec/spec_helper.rb
|
89
85
|
- spec/support/active_record.rb
|
90
|
-
has_rdoc: true
|
91
86
|
homepage: http://github.com/mojotech/bricks
|
92
|
-
licenses:
|
87
|
+
licenses:
|
93
88
|
- MIT
|
94
89
|
post_install_message:
|
95
90
|
rdoc_options: []
|
96
|
-
|
97
|
-
require_paths:
|
91
|
+
require_paths:
|
98
92
|
- lib
|
99
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
93
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
100
94
|
none: false
|
101
|
-
requirements:
|
102
|
-
- -
|
103
|
-
- !ruby/object:Gem::Version
|
104
|
-
|
105
|
-
segments:
|
95
|
+
requirements:
|
96
|
+
- - ! '>='
|
97
|
+
- !ruby/object:Gem::Version
|
98
|
+
version: '0'
|
99
|
+
segments:
|
106
100
|
- 0
|
107
|
-
|
108
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
101
|
+
hash: -651750993
|
102
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
109
103
|
none: false
|
110
|
-
requirements:
|
111
|
-
- -
|
112
|
-
- !ruby/object:Gem::Version
|
113
|
-
version:
|
104
|
+
requirements:
|
105
|
+
- - ! '>='
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
version: '0'
|
114
108
|
requirements: []
|
115
|
-
|
116
109
|
rubyforge_project:
|
117
|
-
rubygems_version: 1.
|
110
|
+
rubygems_version: 1.8.10
|
118
111
|
signing_key:
|
119
112
|
specification_version: 3
|
120
113
|
summary: Hybrid object builder/factory.
|
121
114
|
test_files: []
|
122
|
-
|