Sha256: 27ae0172f054fe086d4b50529a30ec326cb3c02efae038a5a62a73dc86c529a9

Contents?: true

Size: 502 Bytes

Versions: 1

Compression:

Stored size: 502 Bytes

Contents

class BootstrapBuilders::ClassAttributeHandler
  attr_reader :classes

  def initialize(args)
    @classes = convert_to_array(args.fetch(:class))
  end

  def add(class_argument)
    @classes += convert_to_array(class_argument)
  end

private

  def convert_to_array(argument)
    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
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
bootstrap_builders-0.0.4 lib/bootstrap_builders/class_attribute_handler.rb