Sha256: b03d9f4aea9b9803450dd067a6b27d3ac95379e066f2a79741bfa9e7cab78d1d

Contents?: true

Size: 624 Bytes

Versions: 8

Compression:

Stored size: 624 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  module AST
    module HasArguments
      def positional_arguments
        @memo.fetch(:positional_arguments) do
          @memo[:positional_arguments] = begin
            if kwargs
              arguments[0...-1]
            else
              arguments
            end
          end
        end
      end

      def kwargs
        @memo.fetch(:kwargs) do
          @memo[:kwargs] = begin
            args = arguments
            next unless args

            last_arg = args[-1]
            last_arg if last_arg&.hash?
          end
        end
      end
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/ast/has_arguments.rb
leftovers-0.12.1 lib/leftovers/ast/has_arguments.rb
leftovers-0.12.0 lib/leftovers/ast/has_arguments.rb
leftovers-0.11.2 lib/leftovers/ast/has_arguments.rb
leftovers-0.11.1 lib/leftovers/ast/has_arguments.rb
leftovers-0.11.0 lib/leftovers/ast/has_arguments.rb
leftovers-0.10.0 lib/leftovers/ast/has_arguments.rb
leftovers-0.9.0 lib/leftovers/ast/has_arguments.rb