lib/kind/functional/action.rb in kind-5.2.0 vs lib/kind/functional/action.rb in kind-5.3.0
- old
+ new
@@ -1,9 +1,10 @@
# frozen_string_literal: true
require 'kind/result'
require 'kind/functional'
+require 'kind/__lib__/action_steps'
module Kind
module Functional::Action
CALL_TMPL = [
'def call(%s)',
@@ -54,14 +55,16 @@
"def curry; @curry ||= to_proc.curry; end" \
"\n" \
"#{CALL_TMPL % [call_tmpl_args, call_tmpl_args]}"
)
- if KIND.of_module?(self)
+ if Kind.of_module?(self)
self.send(:extend, Result::Methods)
+ self.send(:extend, ACTION_STEPS)
else
self.send(:include, Result::Methods)
+ self.send(:include, ACTION_STEPS)
self.send(:include, Functional::Behavior)
__dependencies__.freeze
end
@@ -70,18 +73,16 @@
self
end
end
def self.included(base)
- KIND.of!(::Class, base).send(:extend, Functional::DependencyInjection)
+ Kind.of_class(base).send(:extend, Functional::DependencyInjection)
base.send(:extend, Macros)
end
def self.extended(base)
- KIND.error!('Module', base) unless Kind.of_module?(base)
-
- base.send(:extend, base)
+ base.send(:extend, Kind.of_module(base))
base.send(:extend, Macros)
end
private_constant :Macros, :CALL_TMPL
end