class BootstrapBuilders::ClassAttributeHandler

Attributes

classes[R]

Public Class Methods

new(args) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 8
def initialize(args)
  @classes = convert_to_array(args.fetch(:class))
end
short(classes) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 4
def self.short(classes)
  BootstrapBuilders::ClassAttributeHandler.new(class: classes).classes
end

Public Instance Methods

add(class_argument) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 12
def add(class_argument)
  @classes += convert_to_array(class_argument)
end
include?(attr_class) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 24
def include?(attr_class)
  @classes.include?(attr_class)
end
remove(class_argument) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 16
def remove(class_argument)
  if class_argument.is_a?(Array)
    @classes -= class_argument
  else
    @classes.delete(class_argument)
  end
end

Private Instance Methods

convert_to_array(argument) click to toggle source
# File lib/bootstrap_builders/class_attribute_handler.rb, line 30
def convert_to_array(argument)
  return if argument.blank?
  return argument.split(/\s+/) if argument.is_a?(String)
  return argument if argument.is_a?(Array)
  return [] if args.fetch(:class).nil?
  raise "Unknown class-type: #{args.fetch(:class)}" unless @classes
end