Sha256: 51e08e94536c97c2ad0248680138e610f10b6b08e579faef45cb978d533e2430
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
require 'coderay' require 'yaml' module Undercase class Pattern PATTERNS = Array.new SCSS_FILE = 'app/assets/stylesheets/undercase/_patterns.scss' YAML_PATH = 'lib/undercase/patterns/' SCSS_PATH = 'app/assets/stylesheets/undercase/patterns/' HAML_PATH = 'app/views/undercase/patterns/' attr_reader :key def initialize(key) @key = key @metadata = YAML.load_file(yaml_path) end def to_partial_path 'undercase/patterns/pattern' end def name @metadata.fetch('name') end def usage @metadata.fetch('usage') end def description @metadata.fetch('description') end def category @metadata.fetch('category') end def display_code? @metadata.fetch('display', true) end def highlighted_source source = File.read(File.expand_path("../../../app/views/undercase/patterns/_#@key.html.haml", __FILE__)) CodeRay.scan(source, :haml).div(:css => :class).html_safe end private def yaml_path File.expand_path("../patterns/#{key}.yml", __FILE__) end class << self def all directory = File.dirname(__FILE__) Dir["#{directory}/patterns/*.yml"].map do |d| filename_as_symbol = File.basename(d).sub(/\.yml/, '').to_sym Pattern.new(filename_as_symbol) end end def for_category(category) Pattern.all.select { |pattern| pattern.category == category } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
undercase-0.2.57 | lib/undercase/pattern.rb |
undercase-0.2.29 | lib/undercase/pattern.rb |