class Docks::Themes::API::Components::Config
Public Class Methods
new(component)
click to toggle source
# File lib/docks_theme_api/components/base_component.rb, line 66 def initialize(component) @component = component end
Public Instance Methods
classes(default_classes = {})
click to toggle source
# File lib/docks_theme_api/components/base_component.rb, line 76 def classes(default_classes = {}) default_classes = Components.standardize_classes(default_classes) @component.instance_variable_get(:@classes).merge!(default_classes) do |key, passed, default| passed.concat(default).uniq end end
conditional_classes(opts) { |send)| ... }
click to toggle source
# File lib/docks_theme_api/components/base_component.rb, line 83 def conditional_classes(opts) if (attribute = opts.delete(:if)) classes(opts) if @component.respond_to?(attribute) && !!@component.send(attribute) elsif (attribute = opts.delete(:unless)) classes(opts) if !@component.respond_to?(attribute) || !@component.send(attribute) elsif (attribute = opts.delete(:with)) return unless block_given? classes(yield @component.send(attribute)) elsif (attribute = opts.delete(:from)) return unless @component.respond_to?(attribute) classes(opts.fetch(@component.send(attribute), nil)) end end
defaults(opts = {})
click to toggle source
# File lib/docks_theme_api/components/base_component.rb, line 70 def defaults(opts = {}) @component.instance_variable_get(:@attributes).merge!(opts) do |key, passed, default| passed.nil? ? default : passed end end