class Opal::Rewriters::Hashes::KeyDuplicatesRewriter
Public Class Methods
new()
click to toggle source
# File lib/opal/rewriters/hashes/key_duplicates_rewriter.rb, line 10 def initialize @keys = UniqKeysSet.new end
Public Instance Methods
on_hash(node)
click to toggle source
Calls superclass method
# File lib/opal/rewriters/hashes/key_duplicates_rewriter.rb, line 14 def on_hash(node) previous_keys, @keys = @keys, UniqKeysSet.new super(node) ensure @keys = previous_keys end
on_kwsplat(node)
click to toggle source
# File lib/opal/rewriters/hashes/key_duplicates_rewriter.rb, line 31 def on_kwsplat(node) hash, _ = *node if hash.type == :hash hash = process_regular_node(hash) end node.updated(nil, [hash]) end
on_pair(node)
click to toggle source
Calls superclass method
# File lib/opal/rewriters/hashes/key_duplicates_rewriter.rb, line 21 def on_pair(node) key, _value = *node if %i[str sym].include?(key.type) @keys << key end super(node) end