YkLib 0.1.5 → 0.1.7

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: 2b9c2e23da7b8cadee82b5b9407e6b7b7f7c507417241c892f14cc36c359f753
4
- data.tar.gz: f9495330368dfda9e50a3a65138a2b23bb104f3aec96410637ffe3476de1c9b7
3
+ metadata.gz: 41f6b44613f936393f0ce4e2fcac82a1ba810a542245f2e7261547a2dee71e35
4
+ data.tar.gz: 3c8b83d024f437f161b122af4c677c21e9f0026d331965fc684265c70269c476
5
5
  SHA512:
6
- metadata.gz: 1c44fffbbb626c0a70da7adff1a5cbe9ddc1ed6f317d7b5235f7d141ae2c38190287f5a50b431d19fe3c15c0e9791ad46a37052a256495b8837b42991bd119c6
7
- data.tar.gz: a0e754c80a101c5e941d169d592088a5bca916040b96e8216da9fd95086e557f1e75e0defab423cc11bf4457454430eece8c38af5c5d583149350b69fe636c6f
6
+ metadata.gz: 8319793da2379314c716ac32a8ae3c192f84b7287f5b869d0cbb81aaf25a72c12c204434b2feff3f3009c65ef79d171bcd72bf6e2eff8bb969ae56bf421c794c
7
+ data.tar.gz: 2f5e4e3bb0dc605fb5ac30a49e1491c2b8d4078471873ba9b4560c09fb57c35c74bf350db724013928868d00912dd999efed286890a157bc29ec08abb8064107
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- YkLib (0.1.5)
4
+ YkLib (0.1.7)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/lib/Yk/eval_alt.rb CHANGED
@@ -154,7 +154,7 @@ class Module
154
154
  if expr && fname == "(eval)"
155
155
  fname, lno = binding.of_caller(1).source_location
156
156
  end
157
- prc.call expr, fname, lno, &bl
157
+ prc.call expr, fname, lno, bl
158
158
  end
159
159
  end
160
160
  end
data/lib/Yk/misc_tz.rb CHANGED
@@ -3,6 +3,33 @@
3
3
  #require 'continuation'
4
4
  require 'binding_of_caller'
5
5
 
6
+ YK_MODULE_HOOK = Hash.new{|h, k| h[k] = []}
7
+
8
+ def if_class mname, &bl
9
+ YK_MODULE_HOOK[mname].push bl
10
+ end
11
+
12
+ def if_module mname, &bl
13
+ if_class mname, &bl
14
+ end
15
+
16
+ module Kernel
17
+ __seed__ = rand(10000000000)
18
+ eval %{
19
+ alias __require__#{__seed__} require
20
+ def require *to_require
21
+ get_defs = ->{YK_MODULE_HOOK.each_key.select{::Kernel::const_defined?(_1)}}
22
+ pre = get_defs[]
23
+ __require__#{__seed__} *to_require
24
+ (get_defs[] - pre).each do |smod|
25
+ YK_MODULE_HOOK[smod].each do |bl|
26
+ Kernel.const_get(smod).module_eval &bl
27
+ end
28
+ end
29
+ end
30
+ }
31
+ end
32
+
6
33
 
7
34
  def die msg = nil
8
35
  if msg
data/lib/Yk/path_aux.rb CHANGED
@@ -881,3 +881,17 @@ class Array
881
881
  File.open(self, *args, &bl)
882
882
  end
883
883
  end
884
+
885
+
886
+ if_module :YAML do
887
+ class<<self;self;end.class_eval do
888
+ alias __load__ load
889
+ def load *args
890
+ c = class << args[0];self;end
891
+ c.undef_method :read
892
+ __load__ *args
893
+ end
894
+ end
895
+ end
896
+
897
+
data/lib/YkLib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module YkLib
2
- VERSION = "0.1.5"
2
+ VERSION = "0.1.7"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: YkLib
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.5
4
+ version: 0.1.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - yougain
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-02-16 00:00:00.000000000 Z
11
+ date: 2023-05-25 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Yk support library
14
14
  email: