Sha256: b08241fce58764753d9a404a6944221ba65a97285d54afe5bd389598b8684f4a
Contents?: true
Size: 1.1 KB
Versions: 11
Compression:
Stored size: 1.1 KB
Contents
module Lookbook class Entity include Comparable include Lookbook::Engine.routes.url_helpers def initialize(lookup_path = nil) @lookup_path = lookup_path end def id Utils.id(fetch_config(:id) { lookup_path.tr("/", "-") }) end def name @_name ||= Utils.name(File.basename(@lookup_path)) end def label @_label ||= fetch_config(:label) { name.titleize } end def lookup_path return @_lookup_path if @_lookup_path directory = fetch_config(:logical_path) do dir = File.dirname(@lookup_path) dir if !dir.start_with?(".") end @_lookup_path ||= PathUtils.strip_slashes(PathUtils.to_path(directory, name)) end def url_path nil end def type @_type ||= self.class.name.demodulize.underscore.downcase.to_sym end def <=>(other) label <=> other.label end alias_method :path, :lookup_path alias_method :logical_path, :lookup_path protected def fetch_config(key, fallback = nil, &block) Utils.value_or_fallback(nil, fallback, &block) end end end
Version data entries
11 entries across 11 versions & 1 rubygems