module Lookbook::Utils
def id(*args)
def id(*args) parts = args.map { |arg| arg.to_s } id_str = parts.join("-").force_encoding("UTF-8").parameterize.dasherize PathUtils.strip_slashes(id_str).tr("/", "-").gsub("--", "-") end
def name(str)
def name(str) str.to_s.dup.force_encoding("UTF-8").parameterize.tr("-", "_") end
def symbolize_name(str)
def symbolize_name(str) name(str).to_sym end
def temp_id(prefix: nil)
def temp_id(prefix: nil) [prefix, (Time.now.to_f * 1000).to_i + rand(0..100)].compact.join("-") end
def value_or_fallback(value, fallback = nil, &block)
def value_or_fallback(value, fallback = nil, &block) if value.nil? fallback_block = block || proc { fallback } fallback_block.call else value end end