mobj 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (2) hide show
  1. data/lib/mobj.rb +10 -10
  2. metadata +1 -1
data/lib/mobj.rb CHANGED
@@ -5,10 +5,10 @@ module Mobj
5
5
  klass = class << self; self end
6
6
  klass.superclass
7
7
  end
8
- def null!() self end
9
- def nil!() self end
8
+ def null!(*args) self end
9
+ def nil!(*args) self end
10
10
  def itself() self end
11
- def alter(*args, &block) block[*[self, *args]] || self; end
11
+ def alter(*args, &block) instance_exec(*args, &block) || self end
12
12
  alias_method :o!, :alter
13
13
 
14
14
  end
@@ -57,13 +57,13 @@ module Mobj
57
57
  end
58
58
  end
59
59
 
60
- def try?(default=nil)
61
- Forwarder.new do |name, *args, &block|
60
+ def try?(default=nil, &block)
61
+ Forwarder.new do |name, *args, &fblock|
62
62
  if methods(true).include?(name)
63
- __send__(name, *args, &block)
63
+ __send__(name, *args, &fblock)
64
64
  elsif is_a?(Hash) && ki?(name)
65
65
  self[name]
66
- end || default || nil.null!
66
+ end || (block ? instance_exec(*[*default], &block) : default) || nil.null!
67
67
  end
68
68
  end
69
69
 
@@ -109,15 +109,15 @@ module Mobj
109
109
  file != __FILE__ || !(MOBJ_NULL_REGION_BEGIN..MOBJ_NULL_REGION_END).cover?(line.to_i)
110
110
  end
111
111
  end
112
- def null?()
112
+ def null?(*args)
113
113
  @@null ||= nil
114
114
  @@null && @@null == __mobj__caller
115
115
  end
116
- def null!()
116
+ def null!(*args)
117
117
  @@null = __mobj__caller
118
118
  self
119
119
  end
120
- def nil!
120
+ def nil!(*args)
121
121
  @@null = nil
122
122
  self
123
123
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mobj
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.0
4
+ version: 2.2.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: