arb 1.2.7 → 1.2.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +4 -4
  2. data/lib/arb.rb +21 -27
  3. data/lib/arb/version.rb +1 -1
  4. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f4ddadc6ffd2b754d3d63791fdd01f31997d5d05c18e041fb3038b82a2d774a2
4
- data.tar.gz: d9fb9329a49647697db941edcd868a234aadcfe4cc07a411ac66192b55a611f7
3
+ metadata.gz: 8d454532830cbf8751a94aa4a5e781c6ee6a525f710fd35e04d285b04fabf121
4
+ data.tar.gz: 439f987eac66dcf5e973c702abd03e8254fbd2f8ff52dfe6c1734e2ac27555f5
5
5
  SHA512:
6
- metadata.gz: eb3c50b9711396d38ef262c28948b2e6cf9cb01ef2e7924b1016ffde8453c42547ce9ecda1e9f9ad07c3d3d902de5c30446e6509cc6b5da03a147adad6a3ee7c
7
- data.tar.gz: dd62f1dc4c30aab862c51a8995cf826431222b4d5ff3465d67c53592dc8e283d25b124f4ffc66fb1f3caed8481489126b4ff9a86d043102eb700b2ce298efe0f
6
+ metadata.gz: 26cb7ed457e96f6073965b41181da303d63215e479ab80feec350d28aaa897ddbcf5b4a9f827dbfd6dbcdd5d0b24bbc2645d877145b897077c67f4908a6b93fd
7
+ data.tar.gz: 268f5ecc8e6dc03ede632c6cb49e7209b73cfab73497c08f7ec9fe3c55a98b60c3aabfb815eb503a5ec39385e5f2feb951534049a90111cdbd1580aed9c9a483
data/lib/arb.rb CHANGED
@@ -8,7 +8,7 @@ module Kernel
8
8
  loop do
9
9
  tmp=modules.shift
10
10
  break unless tmp
11
- if require("arb/#{tmp}")
11
+ if require("arb/#{tmp.downcase}")
12
12
  imported<<tmp
13
13
  else
14
14
  #warn("Fail to require arb/#{tmp}, maybe it had already been required!")
@@ -23,37 +23,31 @@ module Kernel
23
23
 
24
24
  def arb_use(arb_module_name,prefix=nil,forced=false)
25
25
  prefix="#{prefix}_" if prefix && !prefix.to_s.end_with?('_')
26
- arb_module_name=arb_module_name.to_s.capitalize!
26
+ arb_module_name=arb_module_name.to_s.capitalize.to_sym
27
27
  res={:succeed=>[],:failed=>[]}
28
28
  tried_arb_use=false
29
- begin
30
- arb_module=Module.const_get(:Arb).const_get(arb_module_name)
31
- Kernel.class_eval do
32
- arb_module.singleton_methods.each do |m|
33
- mm=prefix.to_s+m.to_s
34
- if !forced && Kernel.instance_methods.include?(mm)
35
- warn("Conflict method: #{mm}")
36
- res[:failed] << mm
37
- next
38
- end
39
- define_method(mm) do |*args,&block|
40
- arb_module.send(m,*args,&block)
41
- end
42
- res[:succeed] << mm
29
+ #always try to import
30
+ arb_import arb_module_name
31
+ return nil unless Arb.constants.include?(arb_module_name)
32
+ arb_module=Module.const_get(:Arb).const_get(arb_module_name)
33
+ Kernel.class_eval do
34
+ arb_module.singleton_methods.each do |m|
35
+ mm=prefix.to_s+m.to_s
36
+ if !forced && Kernel.instance_methods.include?(mm)
37
+ warn("Conflict method: #{mm}")
38
+ res[:failed] << mm
39
+ next
43
40
  end
41
+ define_method(mm) do |*args,&block|
42
+ arb_module.send(m,*args,&block)
43
+ end
44
+ res[:succeed] << mm
44
45
  end
45
- res
46
- rescue NameError=>e
47
- #Note that NoMethodError is subclass of NameError, which means that
48
- #invoking nil.xxx(that throws NoMethodError) will also lead to the
49
- #Name Error, we have to make sure that e is the instance of NameError!!!
50
- if e.instance_of?(NameError) && !tried_arb_use
51
- tried_arb_use=true
52
- arb_import(arb_module_name.downcase)
53
- retry
54
- end
55
- warn("Arb::#{arb_module_name} not found!")
56
46
  end
47
+ res
48
+ #Note that NoMethodError is subclass of NameError, which means that
49
+ #invoking nil.xxx(that throws NoMethodError) will also lead to the
50
+ #Name Error, we have to make sure that e is the instance of NameError!!!
57
51
  end
58
52
 
59
53
  alias_method :import,:arb_import
@@ -1,3 +1,3 @@
1
1
  module Arb
2
- VERSION = "1.2.7"
2
+ VERSION = "1.2.8"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arb
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7
4
+ version: 1.2.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - arybin
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-04-12 00:00:00.000000000 Z
11
+ date: 2018-04-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler