module Kind::Functional::Behavior

Public Class Methods

included(base) click to toggle source
# File lib/kind/functional.rb, line 18
def self.included(base)
  base.send(:alias_method, :[], :call)
  base.send(:alias_method, :===, :call)
  base.send(:alias_method, :yield, :call)
end
new(arg = Empty::HASH) click to toggle source
# File lib/kind/functional.rb, line 24
def initialize(arg = Empty::HASH)
  hash = STRICT.kind_of(::Hash, arg)

  self.class.__dependencies__.each do |name, (kind, default, _visibility)|
    value_to_assign = ATTRIBUTES.value_to_assign!(kind, default, hash, name)

    instance_variable_set("@#{name}", value_to_assign)
  end
end