Sha256: 85a9525f2d008220a2bacd3a2f9fb3917948b76ec618dc82d66fef20de20e1d2
Contents?: true
Size: 611 Bytes
Versions: 1
Compression:
Stored size: 611 Bytes
Contents
class Maybe def self.wrap(object) if object Some.new(object) else None.new end end def respond_to?(method_name, include_private = false) super || @object.respond_to?(method_name, include_private) end def method_missing(method_name, *arguments, &block) value = nil if @object.respond_to?(method_name) value = @object.send(method_name, *arguments, &block) end self.class.wrap(value) end end class None < Maybe def value nil end end class Some < Maybe def initialize(object) @object = object end def value @object end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
terminal-emojify-0.0.1 | lib/terminal/emojify/maybe.rb |