module Docks::Themes::API::Components
Public Class Methods
component_for(name)
click to toggle source
# File lib/docks_theme_api/components.rb, line 10 def self.component_for(name) const = name.to_s.split(/[^a-z]/i).map(&:capitalize).join("").to_sym const_defined?(const) ? const_get(const) : Base end
standardize_classes(classes, base_component = :base)
click to toggle source
# File lib/docks_theme_api/components/base_component.rb, line 6 def self.standardize_classes(classes, base_component = :base) return {} if classes.nil? if classes.kind_of?(Hash) classes.each do |key, klass| classes[key] = klass.kind_of?(String) ? klass.split(" ") : klass end else classes = classes.kind_of?(String) ? classes.split(" ") : classes class_hash = {} class_hash[base_component] = classes classes = class_hash end classes end
template_path(name)
click to toggle source
# File lib/docks_theme_api/components.rb, line 15 def self.template_path(name) name = name.to_s.split(":") API.instance.assets.path_for(File.join("components", name.first, "#{name.join("_")}.erb")) end