Sha256: 5bb8c82649580eb1e1a6de967c9b525548cd9295ee742e8f43d0069cc0418a57

Contents?: true

Size: 587 Bytes

Versions: 32

Compression:

Stored size: 587 Bytes

Contents

# frozen_string_literal: true

class Code
  class Node
    class CallArgument < Node
      def initialize(parsed)
        @value = Node::Code.new(parsed.delete(:value))
        @name = parsed.delete(:name)
      end

      def evaluate(**args)
        if @name
          Object::Argument.new(@value.evaluate(**args), name:)
        else
          Object::Argument.new(@value.evaluate(**args))
        end
      end

      def keyword?
        !!@name
      end

      def regular?
        !keyword?
      end

      def name
        Object::String.new(@name)
      end
    end
  end
end

Version data entries

32 entries across 32 versions & 1 rubygems

Version Path
code-ruby-0.10.4 lib/code/node/call_argument.rb
code-ruby-0.10.3 lib/code/node/call_argument.rb
code-ruby-0.10.2 lib/code/node/call_argument.rb
code-ruby-0.10.1 lib/code/node/call_argument.rb
code-ruby-0.10.0 lib/code/node/call_argument.rb
code-ruby-0.9.3 lib/code/node/call_argument.rb
code-ruby-0.9.2 lib/code/node/call_argument.rb
code-ruby-0.9.1 lib/code/node/call_argument.rb
code-ruby-0.9.0 lib/code/node/call_argument.rb
code-ruby-0.8.5 lib/code/node/call_argument.rb
code-ruby-0.8.4 lib/code/node/call_argument.rb
code-ruby-0.8.3 lib/code/node/call_argument.rb
code-ruby-0.8.2 lib/code/node/call_argument.rb
code-ruby-0.8.1 lib/code/node/call_argument.rb
code-ruby-0.8.0 lib/code/node/call_argument.rb
code-ruby-0.7.8 lib/code/node/call_argument.rb
code-ruby-0.7.7 lib/code/node/call_argument.rb
code-ruby-0.7.6 lib/code/node/call_argument.rb
code-ruby-0.7.5 lib/code/node/call_argument.rb
code-ruby-0.7.4 lib/code/node/call_argument.rb