nina 0.1.5 → 0.1.6
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/lib/nina/builder.rb +2 -1
- data/lib/nina/version.rb +1 -1
- data/lib/nina.rb +6 -7
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 499160b10c559f3a32fbcb92befd4f3986ca7e6fda2af05d0b5d8cfc21a5036a
|
4
|
+
data.tar.gz: e21824691f8e19b9c9cfa87e3396a3d23afafe658a7824db5eb9988345c75c01
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6af4a721285ec85a8923cc184b84333bc45ffc5f4f2febab9bceacf43c3447c5a6bf2e069176da21f9a7b1e52315dd89dfef96b8b48dfe46cd87a56d94deaa4a
|
7
|
+
data.tar.gz: 72067d8447bf2cf390867882089aa9680f41c6e0a2e8ba2faf202d58433fce9da1564f4ea16bd6b36fefc584b885af06968d94f18eaa643a260323bca5f8a602
|
data/Gemfile.lock
CHANGED
data/lib/nina/builder.rb
CHANGED
@@ -79,11 +79,12 @@ module Nina
|
|
79
79
|
@abstract_factory.class_eval(&def_block)
|
80
80
|
@abstract_factory.build_order_list.freeze
|
81
81
|
@assembler = Assembler.new(@abstract_factory, @assembler.callbacks)
|
82
|
+
@assembler.add_observer(self)
|
82
83
|
end
|
83
84
|
|
84
85
|
def update(name, object)
|
85
86
|
@observers.each do |observer|
|
86
|
-
observer.public_send(:"on_#{name}_created", object) if observer.respond_to?(:"on_#{name}_created")
|
87
|
+
observer.public_send(:"on_#{name}_created", object, @name) if observer.respond_to?(:"on_#{name}_created")
|
87
88
|
end
|
88
89
|
end
|
89
90
|
end
|
data/lib/nina/version.rb
CHANGED
data/lib/nina.rb
CHANGED
@@ -45,13 +45,6 @@ module Nina
|
|
45
45
|
def respond_to_missing?(method_name, _include_private = false)
|
46
46
|
public_methods.detect { |m| m == :predecessor } || super
|
47
47
|
end
|
48
|
-
|
49
|
-
def predecessors
|
50
|
-
Enumerator.new do |y|
|
51
|
-
obj = self
|
52
|
-
y << obj = obj.predecessor while obj.methods.detect { |m| m == :predecessor }
|
53
|
-
end
|
54
|
-
end
|
55
48
|
end
|
56
49
|
|
57
50
|
def self.included(receiver)
|
@@ -61,6 +54,12 @@ module Nina
|
|
61
54
|
def self.def_accessor(accessor, on:, to:, delegate: false)
|
62
55
|
on.define_singleton_method(accessor) { to }
|
63
56
|
on.define_singleton_method(:predecessor) { to }
|
57
|
+
def on.predecessors
|
58
|
+
Enumerator.new do |y|
|
59
|
+
obj = self
|
60
|
+
y << obj = obj.predecessor while obj.methods.detect { |m| m == :predecessor }
|
61
|
+
end
|
62
|
+
end
|
64
63
|
return unless delegate
|
65
64
|
|
66
65
|
on.extend(MethodMissingDelegation)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: nina
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andrii Baran
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2024-01-
|
11
|
+
date: 2024-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: toritori
|