Sha256: 6000da66e2d0e10e0f42059b9b6241044941845367d1da6cdab8e25d7fcb0d18

Contents?: true

Size: 595 Bytes

Versions: 8

Compression:

Stored size: 595 Bytes

Contents

module LucidLocalOperation
  module Mixin
    def self.included(base)
      if RUBY_ENGINE != 'opal'
        Isomorfeus.add_valid_operation_class(base) unless base == LucidLocalOperation::Base
      end

      base.extend(LucidPropDeclaration::Mixin)
      base.extend(Isomorfeus::Operation::Mixin)
      base.include(Isomorfeus::Operation::PromiseRun)

      base.instance_exec do
        def promise_run(props_hash)
          validate_props(props_hash)
          self.new(props_hash).promise_run
        end
      end
    end

    attr_accessor :props
    attr_accessor :step_result
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
isomorfeus-operation-1.0.0.zeta10 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta9 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta8 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta6 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta5 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta4 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta3 lib/lucid_local_operation/mixin.rb
isomorfeus-operation-1.0.0.zeta2 lib/lucid_local_operation/mixin.rb