immutabler 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/GETTING_STARTED.md +9 -1
- data/lib/immutabler/dsl/group.rb +2 -1
- data/lib/immutabler/dsl/model.rb +3 -2
- data/lib/immutabler/template/builder.rb +1 -0
- data/lib/immutabler/version.rb +1 -1
- data/templates/header_template.hbs +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e79dd86a282c324736e936292414708843017c6f
|
4
|
+
data.tar.gz: 7ec40540a6509d5991daaff80ff17870560459ee
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c522a8ba5de365cf09d3e64a88da531417c7c9be92de532909fd8ef4950cb8c1b519913065449ba5328852c4a108015b9fc966e31750b6ee7a7966d19de05934
|
7
|
+
data.tar.gz: 08e00ad01dd981ab8efc51ca60d2abd11b43554bb337c0c816762e99adfb4c93e7196a6846f6d52cfae16fa3143412eb47814569908e9c1950c02b6aee408fa9
|
data/GETTING_STARTED.md
CHANGED
@@ -35,6 +35,14 @@ model :User, base: MyModel do
|
|
35
35
|
end
|
36
36
|
```
|
37
37
|
|
38
|
+
You can specify base class for model builder using `builder_base` option:
|
39
|
+
|
40
|
+
```ruby
|
41
|
+
model :User, builder_base: :CustomBuilder do
|
42
|
+
|
43
|
+
end
|
44
|
+
```
|
45
|
+
|
38
46
|
## Enums
|
39
47
|
|
40
48
|
Enum is describing in `enum` block:
|
@@ -162,7 +170,7 @@ Immutabler.group :TESalonModels do
|
|
162
170
|
attr :Active
|
163
171
|
end
|
164
172
|
|
165
|
-
model :Salon, base: 'CustomModel' do
|
173
|
+
model :Salon, base: 'CustomModel', builder_base: 'CustomBuilder' do
|
166
174
|
fields do
|
167
175
|
prop :modelId, :int
|
168
176
|
prop :address, :string
|
data/lib/immutabler/dsl/group.rb
CHANGED
@@ -43,11 +43,12 @@ module Immutabler
|
|
43
43
|
def model(name, options = {}, &block)
|
44
44
|
prefix = @prefix + name.to_s
|
45
45
|
base = options.fetch(:base, @base_model).to_s
|
46
|
+
builder_base = options.fetch(:builder_base, base).to_s
|
46
47
|
props = []
|
47
48
|
mappings = []
|
48
49
|
ModelAttributesBuilder.new(props, mappings, &block)
|
49
50
|
|
50
|
-
model = Model.new(prefix, base, props, mappings)
|
51
|
+
model = Model.new(prefix, base, builder_base, props, mappings)
|
51
52
|
|
52
53
|
models << model
|
53
54
|
end
|
data/lib/immutabler/dsl/model.rb
CHANGED
@@ -1,11 +1,12 @@
|
|
1
1
|
module Immutabler
|
2
2
|
module DSL
|
3
3
|
class Model
|
4
|
-
attr_accessor :name, :base, :props, :mappings
|
4
|
+
attr_accessor :name, :base, :builder_base, :props, :mappings
|
5
5
|
|
6
|
-
def initialize(name, base, props, mappings)
|
6
|
+
def initialize(name, base, builder_base, props, mappings)
|
7
7
|
@name = name
|
8
8
|
@base = base
|
9
|
+
@builder_base = builder_base
|
9
10
|
@props = props
|
10
11
|
@mappings = mappings
|
11
12
|
end
|
data/lib/immutabler/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: immutabler
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Serhij Korochanskyj
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2015-09-
|
12
|
+
date: 2015-09-30 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: handlebars
|