Sha256: 3543f45ae0df6881990647281f84bd3963d9bc0f8cfe4b72048b4642efa6b18a
Contents?: true
Size: 837 Bytes
Versions: 6
Compression:
Stored size: 837 Bytes
Contents
class Trailblazer::Operation # :private: module Option def self.call(proc, &block) type = :proc option = if proc.is_a? Symbol type = :symbol ->(input, _options) { call_method(proc, input, _options) } elsif proc.is_a? Proc ->(input, _options) { call_proc(proc, input, _options) } elsif proc.is_a? Uber::Callable type = :callable ->(input, _options) { call_callable(proc, input, _options) } end yield type if block_given? option end def self.call_proc(proc, input, options) proc.(options) end def self.call_method(proc, input, options) input.send(proc, options) end def self.call_callable(callable, input, options) callable.(options) end KW = Option end # Option end
Version data entries
6 entries across 6 versions & 1 rubygems