Module: SectionsRails::PartialParser

Defined in:
lib/sections_rails/partial_parser.rb

Class Method Summary collapse

Class Method Details

.find_sections(text) ⇒ Array<String>

Returns a list of all section names in the given text.

Parameters:

  • text (String)

Returns:

  • (Array<String>)


8
9
10
11
12
13
14
15
16
17
18
# File 'lib/sections_rails/partial_parser.rb', line 8

def self.find_sections text
  return [] if text.blank?

  # Find sections in ERB templates.
  result = text.scan(/<%=\s*section\s+['":]([^'",\s]+)/).flatten.sort.uniq

  # Find sections in HAML templates.
  result.concat text.scan(/^\s*\=\s*section\s+['":]([^'",\s]+)/).flatten.sort.uniq

  result
end