Sha256: 8f5224354ca5f576e5d34b1aa944d63969031ca14a8e565eab19884c8a8f8288

Contents?: true

Size: 417 Bytes

Versions: 6

Compression:

Stored size: 417 Bytes

Contents

require "metamorpher/terms/term_set"
require "metamorpher/terms/literal"

module Metamorpher
  module Builders
    module AST
      class TermSetBuilder
        def either!(*terms)
          Terms::TermSet.new(terms: terms.map(&method(:termify)))
        end

        private

        def termify(item)
          item.is_a?(Terms::Term) ? item : Terms::Literal.new(name: item)
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
metamorpher-0.2.6 lib/metamorpher/builders/ast/term_set_builder.rb
metamorpher-0.2.5 lib/metamorpher/builders/ast/term_set_builder.rb
metamorpher-0.2.4 lib/metamorpher/builders/ast/term_set_builder.rb
metamorpher-0.2.3 lib/metamorpher/builders/ast/term_set_builder.rb
metamorpher-0.2.2 lib/metamorpher/builders/ast/term_set_builder.rb
metamorpher-0.2.1 lib/metamorpher/builders/ast/term_set_builder.rb