ree 1.3.0 → 1.3.1

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: 88bdacde8f0fbeadcec2e613e22c18a43a149186cebdb2643296bddbb6623a55
4
- data.tar.gz: 41bb8952dee28db8efde2f53df65db6c3694f38848b3d54434429e4115c4f461
3
+ metadata.gz: 8b89ddc506fc7b0efeb7e6019a31f325b3896b46ce0096c54a7f068f77b7659f
4
+ data.tar.gz: 492df94aead33935edbb38e3532e6675354ab819207d236ba2b5c7efbea34a51
5
5
  SHA512:
6
- metadata.gz: 3f51acc5edcc896dc88e5a8811c34adafb7227c2860cb92679e45139d0f00ffdaade813ccf02f99adfa226a2a91946829c21bbde7fea176a1ceafabbb3b0fa73
7
- data.tar.gz: d164b8f7eb29541f7782e4fe067e66c1535ca343f38f2febcc30ff66196f74ceefd0899ae8ed7468c3e44d613a18c2550c6f1c8c7051786ac55c1a832f4f5cbb
6
+ metadata.gz: 2c724eb347845ec31010d0c1822cf7ddc2b9005110823fb28bb5185ceaeedef7369691e4274ba437f3383e4f36438d49069fa66c503f6fdaf5d3ce91ca130ffc
7
+ data.tar.gz: 3d6493a9b8e968db421ca54434d885e60f837516797214b140bfbc5f5c27cf55b56fae39af19566ad4829a8404fd1fc851d136b570d281200d9828179be10be0
data/.rubocop.yml CHANGED
@@ -1,5 +1,5 @@
1
1
  AllCops:
2
- TargetRubyVersion: 2.6
2
+ TargetRubyVersion: 4.0
3
3
 
4
4
  Style/StringLiterals:
5
5
  Enabled: true
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- 4.0.1
1
+ 4.0.1
data/CHANGELOG.md CHANGED
@@ -1,5 +1,7 @@
1
1
  ## [Unreleased]
2
2
 
3
+ - Added `on_link` hook to `ObjectDsl`
4
+
3
5
  ## [1.1.2] - 2025-05-14
4
6
 
5
7
  - Forward compatibility fixes for ruby 3.4
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ree (1.3.0)
4
+ ree (1.3.1)
5
5
  base64
6
6
  commander
7
7
  logger
@@ -58,6 +58,7 @@ GEM
58
58
 
59
59
  PLATFORMS
60
60
  arm64-darwin-21
61
+ arm64-darwin-24
61
62
  x86_64-darwin-19
62
63
  x86_64-darwin-21
63
64
  x86_64-darwin-22
@@ -71,4 +72,4 @@ DEPENDENCIES
71
72
  rspec (~> 3.0)
72
73
 
73
74
  BUNDLED WITH
74
- 2.5.4
75
+ 4.0.6
@@ -5,7 +5,7 @@ class Ree::Object
5
5
  :package_name, :factory, :after_init,
6
6
  :class_name, :links, :mount_as, :freeze,
7
7
  :errors, :linked_const_list, :compiled_frozen,
8
- :singleton, :tags, :target, :with_caller,
8
+ :singleton, :tags, :target, :with_caller, :on_link,
9
9
  :benchmark_config
10
10
 
11
11
  # @param [Symbol] name Object name
@@ -27,6 +27,7 @@ class Ree::Object
27
27
  @linked_const_list = []
28
28
  @tags = []
29
29
  @benchmark_config = nil
30
+ @on_link = nil
30
31
  end
31
32
 
32
33
  def reset
@@ -42,6 +43,7 @@ class Ree::Object
42
43
  @errors = []
43
44
  @linked_const_list = []
44
45
  @benchmark_config = nil
46
+ @on_link = nil
45
47
  end
46
48
 
47
49
  # @param [ArrayOf[String]] list List of imported constants, modules and classes
@@ -168,4 +170,9 @@ class Ree::Object
168
170
  @tags += list
169
171
  @tags.uniq!
170
172
  end
171
- end
173
+
174
+ # @param [Proc, nil] block
175
+ def set_on_link(block)
176
+ @on_link = block
177
+ end
178
+ end
@@ -134,6 +134,11 @@ class Ree::ObjectDsl
134
134
  @object.set_as_with_caller
135
135
  end
136
136
 
137
+ # @param [Proc] block
138
+ def on_link(&block)
139
+ @object.set_on_link(block)
140
+ end
141
+
137
142
  # @param [Symbol] method_name
138
143
  def factory(method_name)
139
144
  if !@object.object?
data/lib/ree/link_dsl.rb CHANGED
@@ -125,6 +125,10 @@ module Ree::LinkDSL
125
125
  elsif target == :object
126
126
  mount_obj(obj, link_as, false)
127
127
  end
128
+
129
+ obj.on_link&.call(self)
130
+
131
+ nil
128
132
  end
129
133
 
130
134
  def mount_obj(obj, link_as, mount_self)
@@ -168,6 +168,8 @@ class Ree::ObjectCompiler
168
168
  if !obj.compiled?
169
169
  self.call(obj.package_name, obj.name)
170
170
  end
171
+
172
+ obj.on_link&.call(klass)
171
173
  end
172
174
 
173
175
  object
data/lib/ree/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ree
4
- VERSION = "1.3.0"
4
+ VERSION = "1.3.1"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ree
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ruslan Gatiyatov