YkLib 0.1.5 → 0.1.7

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