class RuboCop::Cop::RSpec::HashInBlockStyle
@example
# bad let(:foo) { { baz: true } } # good let(:foo) { Hash[baz: true] }
Constants
- MSG
Public Instance Methods
autocorrect(node)
click to toggle source
# File lib/rubocop/cop/rspec/hash_in_block_style.rb, line 29 def autocorrect(node) left = tokens(node).find(&:left_brace?) right = tokens(node).select(&:right_curly_brace?).last lambda do |corrector| corrector.replace(left.pos, 'Hash[') corrector.replace(right.pos, ']') end end
on_block(node)
click to toggle source
# File lib/rubocop/cop/rspec/hash_in_block_style.rb, line 19 def on_block(node) return unless %i[let let_it_be].include?(node.send_node.method_name) return unless inline_block?(node) hash = node.children.last return unless hash.is_a?(RuboCop::AST::HashNode) add_offense(hash, location: :expression) end
Private Instance Methods
inline_block?(node)
click to toggle source
# File lib/rubocop/cop/rspec/hash_in_block_style.rb, line 40 def inline_block?(node) tokens = processed_source.tokens end_index = index_of_last_token(node) tokens[end_index].right_curly_brace? end