Sha256: 7e7b68fd40208b5ad848e08489b34c2f07894174ac0dc4af91b7cc2deca9cd98
Contents?: true
Size: 1.08 KB
Versions: 3
Compression:
Stored size: 1.08 KB
Contents
require "nokogiri" module StyleGuide class Partial attr_reader :path, :section def initialize(path, section) @path = path @section = section end def id @id ||= title.downcase.gsub(/[^a-zA-Z0-9]+/, "_") end def title @title ||= File.basename(path, ".erb").titleize.strip end def content @content ||= File.read(path) end def description @description ||= begin I18n.translate!(id, :scope => [:style_guide, section.id.to_sym]) rescue I18n::MissingTranslationData nil end end def classes @classes ||= begin parsed.css("[class]").reduce({}) do |output, tag| output.tap do |tags| tag["class"].split.each do |class_name| tags[".#{class_name}"] = true end end end.keys end end def ids @ids ||= parsed.css("[id]").map { |tag| %(##{tag["id"]}) } end def identifiers ids + classes end private def parsed @parsed ||= Nokogiri::HTML.parse(content) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
style-guide-0.6.0 | lib/style_guide/partial.rb |
style-guide-0.5.0 | lib/style_guide/partial.rb |
style-guide-0.4.0 | lib/style_guide/partial.rb |