class Swatches::FileGenerator
Public Class Methods
write!()
click to toggle source
# File lib/swatches/file_generator.rb, line 6 def self.write! ensure_app_stylesheet_directory_exists write_color_variables_file write_swatch_preview_file end
Private Class Methods
app_stylesheet_directory()
click to toggle source
# File lib/swatches/file_generator.rb, line 22 def self.app_stylesheet_directory File.join(Rails.root, 'app', 'assets', 'stylesheets', Swatches.config.stylesheet_directory) end
color_variables_filename()
click to toggle source
# File lib/swatches/file_generator.rb, line 14 def self.color_variables_filename File.join(app_stylesheet_directory, '_color-swatches.css.scss') end
engine_stylesheet_directory()
click to toggle source
# File lib/swatches/file_generator.rb, line 26 def self.engine_stylesheet_directory File.join(Rails.root, 'app', 'assets', 'stylesheets', Swatches.config.stylesheet_directory) end
ensure_app_stylesheet_directory_exists()
click to toggle source
# File lib/swatches/file_generator.rb, line 30 def self.ensure_app_stylesheet_directory_exists FileUtils.mkdir_p(app_stylesheet_directory) end
header()
click to toggle source
# File lib/swatches/file_generator.rb, line 52 def self.header # The ASCII-art below looks funny because we have to escape backslashes. <<-HEADER.strip_heredoc /*********************************************************************** * _____ _______ ____ _____ * * / ____|__ __/ __ \\| __ \\ THIS IS A GENERATED FILE. * * | (___ | | | | | | |__) | * * \\___ \\ | | | | | | ___/ DO NOT EDIT. * * ____) | | | | |__| | | * * |_____/ |_| \\____/|_| * * * *********************************************************************** * * * This file was generated by the Swatches engine. Refer to its * * README for details. * * * ***********************************************************************/ HEADER end
swatch_preview_filename()
click to toggle source
# File lib/swatches/file_generator.rb, line 18 def self.swatch_preview_filename File.join(engine_stylesheet_directory, '_preview-colors.css.scss') end
write_color_variables(f, name, red, green, blue)
click to toggle source
# File lib/swatches/file_generator.rb, line 74 def self.write_color_variables(f, name, red, green, blue) swatch_header = <<-SWATCH_HEADER.strip_heredoc /* * COLOR SWATCH FOR COLOR "#{name.upcase}" * * Base Color * red: #{red} * green: #{green} * blue: #{blue} * */ SWATCH_HEADER f.puts swatch_header base_color = Sass::Script::Color.new(red: red, green: green, blue: blue) swatch_generator = Swatches::SwatchGenerator.new(base_color, name) f.puts swatch_generator.to_sass f.puts end
write_color_variables_file()
click to toggle source
# File lib/swatches/file_generator.rb, line 34 def self.write_color_variables_file File.open(color_variables_filename, 'w') do |f| f.puts header Swatches::Colors.each_color do |name, red, green, blue| write_color_variables(f, name, red, green, blue) end end end
write_preview_css(f, name, red, green, blue)
click to toggle source
# File lib/swatches/file_generator.rb, line 93 def self.write_preview_css(f, name, red, green, blue) (0..50).each do |i| f.puts ".#{name}-#{i*2} { background-color: $#{name}-#{i*2} }" end end
write_swatch_preview_file()
click to toggle source
# File lib/swatches/file_generator.rb, line 43 def self.write_swatch_preview_file File.open(swatch_preview_filename, 'w') do |f| f.puts header Swatches::Colors.each_color do |name, red, green, blue| write_preview_css(f, name, red, green, blue) end end end