Class: RuboCop::Haml::RubyClipper::PrecedingKeywordRemover

Inherits:
Object
  • Object
show all
Defined in:
lib/rubocop/haml/ruby_clipper.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)


69
70
71
# File 'lib/rubocop/haml/ruby_clipper.rb', line 69

def initialize(code)
  @code = code
end

Class Method Details

.call(code) ⇒ RubyClip

Parameters:

  • code (String)

Returns:



63
64
65
# File 'lib/rubocop/haml/ruby_clipper.rb', line 63

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

Instance Method Details

#callHash

Returns:

  • (Hash)


74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# File 'lib/rubocop/haml/ruby_clipper.rb', line 74

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