Sha256: a924e369b4302537638e6409efd6068f4da913dc3a19d6b118c9b6a6bd65af2b

Contents?: true

Size: 603 Bytes

Versions: 3

Compression:

Stored size: 603 Bytes

Contents

# frozen_string_literal: true

require 'trailblazer/operation/contract'

module Pragma
  module Macro
    module Contract
      def self.Build(name: 'default', constant: nil, builder: nil)
        step = lambda do |input, options|
          Trailblazer::Operation::Contract::Build.for(
            input,
            options,
            name: name,
            constant: constant,
            builder: builder
          ).tap do |contract|
            contract.current_user = options['current_user']
          end
        end

        [step, name: "contract.#{name}.build"]
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
pragma-2.4.0 lib/pragma/macro/contract/build.rb
pragma-2.3.0 lib/pragma/macro/contract/build.rb
pragma-2.2.0 lib/pragma/macro/contract/build.rb