class ScrapCss::Css

Public Class Methods

new(path="", url="") click to toggle source
# File lib/scrap_css.rb, line 41
def initialize(path="", url="")
  @url = url
  @path = path
  @css_parts = IO.read(path).split("\n\n") unless path =~ /.min./
  @css_parts = self.unminify.split("\n\n") if path =~ /.min./
  @css_parts_used = []
end
str_contain_css(str, css_class) click to toggle source
# File lib/scrap_css.rb, line 82
def self.str_contain_css(str, css_class)
  str.include?(".#{css_class} ") || str.include?(".#{css_class}.") || str.include?(".#{css_class}:")
end

Public Instance Methods

get_urls() click to toggle source
# File lib/scrap_css.rb, line 61
def get_urls
  @css_parts.select{|a| a =~ /url\(/ }
  .map{|css_part| css_part.scan(/url\(([^)]*)\)/) }
  .flatten.uniq
end
save_select_css() click to toggle source
# File lib/scrap_css.rb, line 76
def save_select_css
  File.open("output.css", 'w+') do |file|
    @css_parts_used.each{|css_clase_used| file.write("#{css_clase_used}\n\n")  }
  end
end
select_css(css_clases_useds) click to toggle source
# File lib/scrap_css.rb, line 67
def select_css(css_clases_useds)
 css_clases_useds.each do |css_clase|
    @css_parts.each do |css_part|
      @css_parts_used << css_part if ScrapCss::Css.str_contain_css(css_part, css_clase)
    end
 end
  @css_parts_used.uniq
end
unminify() click to toggle source
# File lib/scrap_css.rb, line 49
def unminify
  _unminify = IO.read(@path)
  .gsub(";",";\n  ")
  .gsub("}","\n}\n\n\n")
  .gsub("{","{\n  ")
  .gsub(",",",\n")
  .gsub("*/","*/\n")

  # File.open("output.css", 'w+'){ |file| file.write(_unminify) }
  _unminify
end