declarative 0.0.8 → 0.0.9
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.
- checksums.yaml +4 -4
- data/CHANGES.md +4 -0
- data/README.md +2 -2
- data/declarative.gemspec +0 -2
- data/lib/declarative/defaults.rb +0 -2
- data/lib/declarative/heritage.rb +2 -0
- data/lib/declarative/schema.rb +3 -5
- data/lib/declarative/version.rb +1 -1
- data/test/definitions_test.rb +0 -7
- data/test/schema_test.rb +0 -1
- data/test/test_helper.rb +2 -4
- metadata +3 -17
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 85ae72ce17160c8d0d6bbe197358967601d4565d
|
4
|
+
data.tar.gz: 28b480fc3526c9197fbe02899929c8a0cec4baa4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6c2b2d5d60573417e5304f220cf3d1658bda2b5b52601b5ed554fb6447c1f62c5d4fad254c2b28dc68bf231aea8e0215bea5b565ade7189dfb6935efbf6fa534
|
7
|
+
data.tar.gz: 28abb6da89a87cbb256cce92327945641224cc077ef1f182451ce9695c02ed16aaeace1b5e56714ce948d9fafd4776de1312715893b07676ec0e8f1ca7ba6b44
|
data/CHANGES.md
CHANGED
data/README.md
CHANGED
@@ -24,7 +24,7 @@ Normally, an abstract base class will define essential configuration.
|
|
24
24
|
|
25
25
|
```ruby
|
26
26
|
class Model
|
27
|
-
|
27
|
+
extend Declarative::Schema
|
28
28
|
|
29
29
|
def self.default_nested_class
|
30
30
|
Model
|
@@ -106,4 +106,4 @@ class Model
|
|
106
106
|
|
107
107
|
## Copyright
|
108
108
|
|
109
|
-
* Copyright (c) 2015 Nick Sutterer <apotonick@gmail.com>
|
109
|
+
* Copyright (c) 2015 Nick Sutterer <apotonick@gmail.com>
|
data/declarative.gemspec
CHANGED
@@ -17,8 +17,6 @@ Gem::Specification.new do |spec|
|
|
17
17
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
18
18
|
spec.require_paths = ["lib"]
|
19
19
|
|
20
|
-
spec.add_dependency "uber", ">= 0.0.15"
|
21
|
-
|
22
20
|
spec.add_development_dependency "rake", "~> 10.0"
|
23
21
|
spec.add_development_dependency "minitest"
|
24
22
|
spec.add_development_dependency "minitest-line"
|
data/lib/declarative/defaults.rb
CHANGED
data/lib/declarative/heritage.rb
CHANGED
data/lib/declarative/schema.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
|
-
require "declarative"
|
2
1
|
require "declarative/definitions"
|
3
2
|
require "declarative/defaults"
|
3
|
+
require "declarative/heritage"
|
4
4
|
|
5
5
|
module Declarative
|
6
6
|
# Include this to maintain inheritable, nested schemas with ::defaults and
|
@@ -57,8 +57,8 @@ module Declarative
|
|
57
57
|
end
|
58
58
|
|
59
59
|
NestedBuilder = ->(options) do
|
60
|
-
|
61
|
-
feature
|
60
|
+
Class.new(options[:_base]) do # base
|
61
|
+
feature(*options[:_features])
|
62
62
|
class_eval(&options[:_block])
|
63
63
|
end
|
64
64
|
end
|
@@ -79,8 +79,6 @@ module Declarative
|
|
79
79
|
heritage.record(:register_feature, mod) # this is only for inheritance between decorators and modules!!! ("horizontal and vertical")
|
80
80
|
|
81
81
|
defaults.merge!(_features: [mod])
|
82
|
-
# defaults[:_features] ||= []
|
83
|
-
# defaults[:_features] << mod
|
84
82
|
end
|
85
83
|
end
|
86
84
|
end
|
data/lib/declarative/version.rb
CHANGED
data/test/definitions_test.rb
CHANGED
@@ -20,8 +20,6 @@ class DefinitionsTest < Minitest::Spec
|
|
20
20
|
# #add with name and options
|
21
21
|
schema.add(:id, unique: true)
|
22
22
|
schema.get(:id).inspect.must_equal '#<Declarative::Definitions::Definition: @options={:unique=>true, :name=>"id"}>'
|
23
|
-
|
24
|
-
pp schema
|
25
23
|
end
|
26
24
|
|
27
25
|
it "overwrites old when called twice" do
|
@@ -39,8 +37,6 @@ class DefinitionsTest < Minitest::Spec
|
|
39
37
|
end
|
40
38
|
|
41
39
|
schema.inspect.must_equal '{"artist"=>#<Declarative::Definitions::Definition: @options={:nested=>{"name"=>#<Declarative::Definitions::Definition: @options={:name=>"name"}>, "band"=>#<Declarative::Definitions::Definition: @options={:nested=>{"location"=>#<Declarative::Definitions::Definition: @options={:name=>"location"}>}, :name=>"band"}>}, :name=>"artist"}>}'
|
42
|
-
|
43
|
-
pp schema
|
44
40
|
end
|
45
41
|
|
46
42
|
it "#add with :nested instead of block" do
|
@@ -73,9 +69,6 @@ class DefinitionsTest < Minitest::Spec
|
|
73
69
|
|
74
70
|
schema.add :id, unique: false, inherit: true
|
75
71
|
|
76
|
-
pp schema
|
77
|
-
|
78
|
-
|
79
72
|
schema.inspect.must_equal '{"artist"=>#<Declarative::Definitions::Definition: @options={:cool=>true, :nested=>{"name"=>#<Declarative::Definitions::Definition: @options={:name=>"name"}>, "band"=>#<Declarative::Definitions::Definition: @options={:crazy=>nil, :nested=>{"location"=>#<Declarative::Definitions::Definition: @options={:name=>"location"}>, "genre"=>#<Declarative::Definitions::Definition: @options={:name=>"genre"}>}, :name=>"band", :normal=>false}>}, :name=>"artist", :uncool=>false}>, "id"=>#<Declarative::Definitions::Definition: @options={:unique=>false, :value=>1, :name=>"id"}>}'
|
80
73
|
end
|
81
74
|
|
data/test/schema_test.rb
CHANGED
@@ -56,7 +56,6 @@ class SchemaTest < Minitest::Spec
|
|
56
56
|
it do
|
57
57
|
InheritingConcrete.extend(Declarative::Inspect::Schema)
|
58
58
|
InheritingConcrete.inspect
|
59
|
-
# pp InheritingConcrete.definitions.get(:artist)[:nested].definitions.get(:band)[:nested].definitions
|
60
59
|
InheritingConcrete.inspect.gsub(/\s/, "").must_equal 'Schema:{
|
61
60
|
"links"=>#<Declarative::Definitions::Definition:@options={:render_nil=>true,:as=>"LINKS",:name=>"links"}>,
|
62
61
|
"artist"=>#<Declarative::Definitions::Definition:@options={:render_nil=>true,:as=>"ARTIST",:cool=>true,:nested=>Schema:{
|
data/test/test_helper.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: declarative
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.9
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nick Sutterer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
-
- !ruby/object:Gem::Dependency
|
14
|
-
name: uber
|
15
|
-
requirement: !ruby/object:Gem::Requirement
|
16
|
-
requirements:
|
17
|
-
- - ">="
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: 0.0.15
|
20
|
-
type: :runtime
|
21
|
-
prerelease: false
|
22
|
-
version_requirements: !ruby/object:Gem::Requirement
|
23
|
-
requirements:
|
24
|
-
- - ">="
|
25
|
-
- !ruby/object:Gem::Version
|
26
|
-
version: 0.0.15
|
27
13
|
- !ruby/object:Gem::Dependency
|
28
14
|
name: rake
|
29
15
|
requirement: !ruby/object:Gem::Requirement
|
@@ -114,7 +100,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
114
100
|
version: '0'
|
115
101
|
requirements: []
|
116
102
|
rubyforge_project:
|
117
|
-
rubygems_version: 2.
|
103
|
+
rubygems_version: 2.6.3
|
118
104
|
signing_key:
|
119
105
|
specification_version: 4
|
120
106
|
summary: DSL for nested schemas.
|