Module: Docks::Themes::API::Components
- Defined in:
- lib/docks_theme_api/components.rb,
lib/docks_theme_api/components/base_component.rb,
lib/docks_theme_api/components/table_component.rb,
lib/docks_theme_api/components/popover_component.rb,
lib/docks_theme_api/components/tablist_component.rb,
lib/docks_theme_api/components/code_block_component.rb
Defined Under Namespace
Classes: Base, CodeBlock, Config, Popover, Table, Tablist
Class Method Summary
collapse
Class Method Details
.component_for(name) ⇒ Object
10
11
12
13
|
# 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) ⇒ Object
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# 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) ⇒ Object
15
16
17
18
|
# 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
|