Sha256: 3ff0a83f4699de86cb05896c838600bf3a696eb0bce0c6132ebd8ca633bd5d90
Contents?: true
Size: 1.04 KB
Versions: 1
Compression:
Stored size: 1.04 KB
Contents
# encoding: utf-8 module Rubocop module Cop module Style # This cop checks for uses of the Ruby 1.8 hash literal syntax, # when the 1.9 syntax is applicable as well. # # A separate offence is registered for each problematic pair. class HashSyntax < Cop MSG = 'Ruby 1.8 hash syntax detected' def on_hash(node) pairs = *node sym_indices = pairs.all? { |p| word_symbol_pair?(p) } if sym_indices pairs.each do |pair| if pair.loc.operator && pair.loc.operator.is?('=>') convention(nil, pair.loc.expression.begin.join(pair.loc.operator), MSG) end end end end private def word_symbol_pair?(pair) key, _value = *pair if key.type == :sym sym_name = key.to_a[0] sym_name =~ /\A[A-Za-z_]\w*\z/ else false end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rubocop-0.13.0 | lib/rubocop/cop/style/hash_syntax.rb |