Sha256: aa9b1d267131fdfb6d013aebd0397bc53e7e762b799fe58fc554d41f798c2040

Contents?: true

Size: 859 Bytes

Versions: 58

Compression:

Stored size: 859 Bytes

Contents

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

        def pub_sub_client
          Isomorfeus.pub_sub_client
        end
      end

      base.extend(LucidPropDeclaration::Mixin)
      base.extend(LucidOperation::Steps)
      base.include(LucidOperation::PromiseRun)

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

    attr_reader :props
    attr_accessor :step_result

    def initialize(**props_hash)
      props_hash = self.class.validated_props(props_hash)
      @props = LucidProps.new(props_hash)
    end

    def current_user
      Isomorfeus.current_user
    end
  end
end

Version data entries

58 entries across 58 versions & 1 rubygems

Version Path
isomorfeus-operation-2.5.5 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.5.4 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.5.3 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.5.2 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.5.1 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.5.0 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.4.2 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.4.1 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.4.0 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.3.1 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.3.0 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.11 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.10 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.9 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.8 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.7 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.6 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.5 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.4 lib/isomorfeus_operation/lucid_local_operation/mixin.rb
isomorfeus-operation-2.2.3 lib/isomorfeus_operation/lucid_local_operation/mixin.rb