Class: WindClutter::Processor

Inherits:
Object
  • Object
show all
Includes:
Util
Defined in:
lib/windclutter/processor.rb

Overview

Processor for windclutter

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeProcessor

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