nested_record 0.1.1 → 1.0.0.beta
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/Gemfile.lock +12 -12
- data/lib/nested_record.rb +1 -0
- data/lib/nested_record/base.rb +135 -54
- data/lib/nested_record/collection.rb +20 -1
- data/lib/nested_record/errors.rb +1 -0
- data/lib/nested_record/macro.rb +2 -2
- data/lib/nested_record/methods.rb +50 -0
- data/lib/nested_record/methods/many.rb +113 -0
- data/lib/nested_record/methods/one.rb +86 -0
- data/lib/nested_record/setup.rb +72 -177
- data/lib/nested_record/type.rb +3 -39
- data/lib/nested_record/type/many.rb +24 -0
- data/lib/nested_record/type/one.rb +17 -0
- data/lib/nested_record/version.rb +1 -1
- data/spec/nested_record/base_spec.rb +106 -9
- data/spec/nested_record/type/many_spec.rb +23 -0
- data/spec/nested_record/type/one_spec.rb +22 -0
- data/spec/nested_record_spec.rb +346 -13
- data/spec/spec_helper.rb +1 -0
- data/spec/support/model.rb +19 -15
- metadata +11 -4
data/spec/spec_helper.rb
CHANGED
data/spec/support/model.rb
CHANGED
@@ -1,20 +1,7 @@
|
|
1
1
|
module TestModel
|
2
2
|
def active_model(name, &block)
|
3
3
|
let!(:"model_#{name.to_s.gsub('::', '_')}") do
|
4
|
-
|
5
|
-
|
6
|
-
namespace, sname = test_model_dig_name!(name)
|
7
|
-
|
8
|
-
Class.new do
|
9
|
-
namespace.const_set(sname, self)
|
10
|
-
test_models << self
|
11
|
-
|
12
|
-
include ActiveModel::Model
|
13
|
-
include ActiveModel::Attributes
|
14
|
-
include NestedRecord::Macro
|
15
|
-
|
16
|
-
class_eval(&block) if block
|
17
|
-
end
|
4
|
+
new_active_model(name, &block)
|
18
5
|
end
|
19
6
|
end
|
20
7
|
|
@@ -36,7 +23,24 @@ module TestModel
|
|
36
23
|
end
|
37
24
|
end
|
38
25
|
|
39
|
-
|
26
|
+
module Build
|
27
|
+
def new_active_model(name, &block)
|
28
|
+
test_models = (@test_models ||= [])
|
29
|
+
|
30
|
+
namespace, sname = test_model_dig_name!(name)
|
31
|
+
|
32
|
+
Class.new do
|
33
|
+
namespace.const_set(sname, self)
|
34
|
+
test_models << self
|
35
|
+
|
36
|
+
include ActiveModel::Model
|
37
|
+
include ActiveModel::Attributes
|
38
|
+
include NestedRecord::Macro
|
39
|
+
|
40
|
+
class_eval(&block) if block
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
40
44
|
|
41
45
|
module Erase
|
42
46
|
def erase_test_models
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nested_record
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.beta
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vladimir Kochnev
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-
|
11
|
+
date: 2019-10-31 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -117,12 +117,19 @@ files:
|
|
117
117
|
- lib/nested_record/errors.rb
|
118
118
|
- lib/nested_record/lookup_const.rb
|
119
119
|
- lib/nested_record/macro.rb
|
120
|
+
- lib/nested_record/methods.rb
|
121
|
+
- lib/nested_record/methods/many.rb
|
122
|
+
- lib/nested_record/methods/one.rb
|
120
123
|
- lib/nested_record/setup.rb
|
121
124
|
- lib/nested_record/type.rb
|
125
|
+
- lib/nested_record/type/many.rb
|
126
|
+
- lib/nested_record/type/one.rb
|
122
127
|
- lib/nested_record/version.rb
|
123
128
|
- nested_record.gemspec
|
124
129
|
- spec/nested_record/base_spec.rb
|
125
130
|
- spec/nested_record/collection_spec.rb
|
131
|
+
- spec/nested_record/type/many_spec.rb
|
132
|
+
- spec/nested_record/type/one_spec.rb
|
126
133
|
- spec/nested_record_spec.rb
|
127
134
|
- spec/spec_helper.rb
|
128
135
|
- spec/support/model.rb
|
@@ -141,9 +148,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
148
|
version: '0'
|
142
149
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
150
|
requirements:
|
144
|
-
- - "
|
151
|
+
- - ">"
|
145
152
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
153
|
+
version: 1.3.1
|
147
154
|
requirements: []
|
148
155
|
rubyforge_project:
|
149
156
|
rubygems_version: 2.7.6
|