Sha256: 47b466e7ea3ea4d6ec10542e16cf19d2d54e6f966036591b1202106909f58b06

Contents?: true

Size: 417 Bytes

Versions: 6

Compression:

Stored size: 417 Bytes

Contents

class Code
  class Node
    class List < Node
      def initialize(codes)
        @codes =
          codes
            .map do |code|
              code.fetch(:code).presence &&
                ::Code::Node::Code.new(code.fetch(:code))
            end
            .compact
      end

      def evaluate(**args)
        ::Code::Object::List.new(@codes.map { |code| code.evaluate(**args) })
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 2 rubygems

Version Path
code-ruby-0.2.4 lib/code/node/list.rb
template-ruby-0.2.4 lib/code/node/list.rb
template-ruby-0.2.3 lib/code/node/list.rb
template-ruby-0.2.2 lib/code/node/list.rb
template-ruby-0.2.1 lib/code/node/list.rb
template-ruby-0.2.0 lib/code/node/list.rb