Sha256: 328d04a4eb1a481fce91c347bd17c78ec04cdef4dd0a724bde830e28fa775f1c

Contents?: true

Size: 637 Bytes

Versions: 15

Compression:

Stored size: 637 Bytes

Contents

require 'opal/nodes/base'

module Opal
  module Nodes
    # A node responsible for extracting
    # keyword arguments list
    #
    # If a method/block arguments have splat we can't
    # find the place where **exactly** starts keyword arguments.
    #
    # @see PostArgsNode
    #
    class PostKwargsNode < Base
      handle :post_kwargs

      def compile
        return if children.empty?

        initialize_kw_args

        children.each do |arg|
          push process(arg)
        end
      end

      def initialize_kw_args
        line "$kwargs = Opal.extract_kwargs(#{scope.working_arguments});"
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
opal-0.10.6 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.6.beta lib/opal/nodes/args/post_kwargs.rb
opal-0.10.5 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.4 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.3 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.2 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.1 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.rc2 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.rc1 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.beta5 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.beta4 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.beta3 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.beta2 lib/opal/nodes/args/post_kwargs.rb
opal-0.10.0.beta1 lib/opal/nodes/args/post_kwargs.rb