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 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