Class: RuboCop::Slim::KeywordRemover::PrecedingKeywordRemover

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/slim/keyword_remover.rb

Overview

Remove preceding keyword.

Constant Summary collapse

REGEXP =
/
  \A
  (?:
    begin
    | case
    | else
    | elsif
    | ensure
    | if
    | rescue
    | unless
    | until
    | when
    | while
    | for[ \t]+\w+[ \t]+in
  )
  \b[ \t]*
/x.freeze

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(code) ⇒ PrecedingKeywordRemover

Returns a new instance of PrecedingKeywordRemover.

Parameters:

  • code (String)


64
65
66
# File 'lib/rubocop/slim/keyword_remover.rb', line 64

def initialize(code)
  @code = code
end

Class Method Details

.call(code) ⇒ RubyClip

Parameters:

  • code (String)

Returns:



58
59
60
# File 'lib/rubocop/slim/keyword_remover.rb', line 58

def call(code)
  new(code).call
end

Instance Method Details

#callHash

Returns:

  • (Hash)


69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/rubocop/slim/keyword_remover.rb', line 69

def call
  data = @code.match(REGEXP)
  if data
    offset = data[0].length
    RubyClip.new(
      code: @code[offset..],
      offset: offset
    )
  else
    RubyClip.new(
      code: @code,
      offset: 0
    )
  end
end