Class: WindClutter::Processor
- Inherits:
-
Object
- Object
- WindClutter::Processor
- Includes:
- Util
- Defined in:
- lib/windclutter/processor.rb
Overview
Processor for windclutter
Class Method Summary collapse
- .auto_process(file_content, collections) ⇒ Object
- .build_single(name, classes) ⇒ Object
- .sort(classes) ⇒ Object
Instance Method Summary collapse
-
#initialize ⇒ Processor
constructor
A new instance of Processor.
Constructor Details
#initialize ⇒ Processor
Returns a new instance of Processor.
10 11 12 |
# File 'lib/windclutter/processor.rb', line 10 def initialize @key_tag = :windclutter end |
Class Method Details
.auto_process(file_content, collections) ⇒ Object
22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
# File 'lib/windclutter/processor.rb', line 22 def self.auto_process(file_content, collections) return if file_content.nil? regex = /class="(?:(?!#{@key_tag}:)[^"])*"/ class_occurrences = file_content.scan(regex) class_occurrences.each do |occurrence| gen_class = Generator.random_class file_content = file_content.gsub(/#{occurrence}/, "class=\"#{gen_class}\"") collections.push({ generated_name: gen_class, provided_name: nil, class: occurrence.to_s.match(/class="([^"]*)"/)[1], named: false }) end file_content end |
.build_single(name, classes) ⇒ Object
14 15 16 17 18 19 20 |
# File 'lib/windclutter/processor.rb', line 14 def self.build_single(name, classes) <<~OUTPUT .#{name} { @apply #{classes.join(' ')}; } OUTPUT end |
.sort(classes) ⇒ Object
42 43 44 |
# File 'lib/windclutter/processor.rb', line 42 def self.sort(classes) classes.sort end |