Sha256: 42503932bab18683463e7e029626a849edab8926ee524d80b43dbc25cdcb8396
Contents?: true
Size: 652 Bytes
Versions: 5
Compression:
Stored size: 652 Bytes
Contents
require "metamorpher/terms/derived" require "metamorpher/builders/ast/builder" module Metamorpher module Builders module AST class DerivationBuilder def derivation!(*base, &block) fail ArgumentError, "wrong number of arguments (0)" if base.empty? Terms::Derived.new( base: base, derivation: derivation_strategy(block) ) end private def derivation_strategy(block) if block.nil? ->(*args) { args.first } else ->(*args) { block.call(*args, Builder.new) } end end end end end end
Version data entries
5 entries across 5 versions & 1 rubygems