Sha256: ed33f355ae479a930fa8e072853cf0cd51073a3841134b1beaa6ac2d14ae586f

Contents?: true

Size: 809 Bytes

Versions: 2

Compression:

Stored size: 809 Bytes

Contents

# frozen_string_literal: true

require "is/extension"
require "is/pipeline"

require_relative "../core/operation/compiler"
require_relative "../core/operation/result"

module Is
  # [public]
  #
  module Operation
    extend Is::Extension

    applies do
      pipeline.compiler = Core::Operation::Compiler
    end

    extends dependencies: [Is::Localized, Is::Pipeline]

    extends :definition, :implementation do
      # [public]
      #
      def action(*args, curry: true, **kwargs, &block)
        super(*args, curry: curry, **kwargs)
      end
    end

    extends :implementation do
      # [public]
      #
      def get(name)
        localized(:result).get(name)
      end

      # [public]
      #
      def set(name, value)
        localized(:result).set(name, value)
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
core-operation-0.1.0 lib/is/operation.rb
core-operation-0.0.0 lib/is/operation.rb