Class: UtilityColors::Builders

Inherits:
Object
  • Object
show all
Defined in:
lib/utility_colors/builders.rb

Class Method Summary collapse

Class Method Details

.bulk_breakpoint_class_creation(class_hash) ⇒ Object



38
39
40
41
42
43
44
45
46
# File 'lib/utility_colors/builders.rb', line 38

def self.bulk_breakpoint_class_creation(class_hash)
  uc_screens = UtilityColors::Properties.screen_sizes.transform_values(&:to_f)

  uc_screens.collect do |initial, screen_size|
    class_hash.collect do |class_name, content|
      UtilityColors::Builders.utility_breakpoint_classes_creation(class_name, content, initial, screen_size)
    end
  end.flatten.reduce({}, :merge)
end

.bulk_pseudo_breakpoint_class_creation(class_hash) ⇒ Object



58
59
60
61
62
63
64
65
66
67
68
69
# File 'lib/utility_colors/builders.rb', line 58

def self.bulk_pseudo_breakpoint_class_creation(class_hash)
  uc_screens = UtilityColors::Properties.screen_sizes.transform_values(&:to_f)
  uc_pseudos = UtilityColors::Properties.pseudos

  uc_screens.collect do |initial, screen_size|
    uc_pseudos.collect do |pseudo|
      class_hash.collect do |class_name, content|
        UtilityColors::Builders.utility_pseudo_breakpoint_classes_creation(class_name, content, pseudo, initial, screen_size)
      end
    end
  end.flatten.flatten.reduce({}, :merge)
end

.bulk_pseudo_class_creation(class_hash) ⇒ Object



48
49
50
51
52
53
54
55
56
# File 'lib/utility_colors/builders.rb', line 48

def self.bulk_pseudo_class_creation(class_hash)
  uc_pseudos = UtilityColors::Properties.pseudos

  uc_pseudos.collect do |pseudo|
    class_hash.collect do |class_name, content|
      UtilityColors::Builders.utility_pseudo_classes_creation(class_name, content, pseudo)
    end
  end.flatten.reduce({}, :merge)
end

.utility_breakpoint_classes_creation(class_name, content, initial, screen_size) ⇒ Object

‘hover|color–red-400’



21
22
23
24
# File 'lib/utility_colors/builders.rb', line 21

def self.utility_breakpoint_classes_creation(class_name, content, initial, screen_size)
  content = [content] unless content.is_a?(Array)
  { "#{initial}\\|#{class_name}" => "@media only screen and (min-width: #{screen_size - 1}) { #{content.join(': ')} }" }
end

.utility_classes(class_name, content) ⇒ Object

Bulk Methods



34
35
36
# File 'lib/utility_colors/builders.rb', line 34

def self.utility_classes(class_name, content)
  UtilityColors::Builders.utility_classes_creation(class_name, content)
end

.utility_classes_creation(class_name, content) ⇒ Object

‘color–red-400’



8
9
10
11
# File 'lib/utility_colors/builders.rb', line 8

def self.utility_classes_creation(class_name, content)
  content = [content] unless content.is_a?(Array)
  { class_name => "#{content.join(': ')};" }
end

.utility_pseudo_breakpoint_classes_creation(class_name, content, pseudo, initial, screen_size) ⇒ Object

‘hover|md|color–red-400’



27
28
29
30
# File 'lib/utility_colors/builders.rb', line 27

def self.utility_pseudo_breakpoint_classes_creation(class_name, content, pseudo, initial, screen_size)
  content = [content] unless content.is_a?(Array)
  { "#{pseudo}\\|#{initial}\\|#{class_name}:#{pseudo}" => "@media only screen and (min-width: #{screen_size - 1}) { #{content.join(': ')} }" }
end

.utility_pseudo_classes_creation(class_name, content, pseudo) ⇒ Object

‘;’ are already in the content from the above source method ‘md|color–red-400’



15
16
17
18
# File 'lib/utility_colors/builders.rb', line 15

def self.utility_pseudo_classes_creation(class_name, content, pseudo)
  content = [content] unless content.is_a?(Array)
  { "#{pseudo}\\|#{class_name}:#{pseudo}" => content.join(': ') }
end