module Flow::Operation::Core

Public Class Methods

new(state) click to toggle source
# File lib/flow/operation/core.rb, line 24
def initialize(state)
  @state = state_proxy_class.new(state)
end

Public Instance Methods

state_proxy_class() click to toggle source
# File lib/flow/operation/core.rb, line 16
def state_proxy_class
  @state_proxy_class ||= Class.new(StateProxy).tap do |proxy_class|
    delegate_method_names = _state_writers.map { |method_name| "#{method_name}=" } + _state_readers.to_a
    proxy_class.delegate(*delegate_method_names, to: :_state) if delegate_method_names.any?
  end
end