nina 0.1.5 → 0.1.6

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6a252130b2ce26b317359fa4566edf12fba94042ddb9863fc8c71148a283c718
4
- data.tar.gz: bb24fa2d53ef3ba45b921cc7a2af366b9e54cd2703681f0cd14210362fe5b473
3
+ metadata.gz: 499160b10c559f3a32fbcb92befd4f3986ca7e6fda2af05d0b5d8cfc21a5036a
4
+ data.tar.gz: e21824691f8e19b9c9cfa87e3396a3d23afafe658a7824db5eb9988345c75c01
5
5
  SHA512:
6
- metadata.gz: fb97e0c1d28b7dc902366368f770dc3ed7c6f677dd98260dac0caa0a97c16a5d89a09ece6bac74125f7f3a266f4a98baa7a14ff72d163e331b1aa2cb206b0a25
7
- data.tar.gz: fb26ae5dfac451918af68b16b3f45081559e2e546338fdf8eb0a4b48dcee0f79d4314b3d670b65ac066a472c96ae8c579686ae8f562546a71c2dc81d0bd43f99
6
+ metadata.gz: 6af4a721285ec85a8923cc184b84333bc45ffc5f4f2febab9bceacf43c3447c5a6bf2e069176da21f9a7b1e52315dd89dfef96b8b48dfe46cd87a56d94deaa4a
7
+ data.tar.gz: 72067d8447bf2cf390867882089aa9680f41c6e0a2e8ba2faf202d58433fce9da1564f4ea16bd6b36fefc584b885af06968d94f18eaa643a260323bca5f8a602
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nina (0.1.5)
4
+ nina (0.1.6)
5
5
  toritori (= 0.2.1)
6
6
 
7
7
  GEM
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
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Nina
4
- VERSION = '0.1.5'
4
+ VERSION = '0.1.6'
5
5
  end
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.5
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-02 00:00:00.000000000 Z
11
+ date: 2024-01-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: toritori