Class: Classes::ClassList

Inherits:
Set
  • Object
show all
Defined in:
lib/classes/class_list.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.parse(str) ⇒ Object



5
6
7
# File 'lib/classes/class_list.rb', line 5

def self.parse(str)
  new(str.scan(/[^\s]+/))
end

Instance Method Details

#add(arg) ⇒ Object Also known as: <<



9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# File 'lib/classes/class_list.rb', line 9

def add(arg)
  return self unless arg

  if arg.is_a?(Hash)
    arg = arg.map { |k, v| v && k }
  end

  unless arg.is_a?(Enumerable)
    arg = arg.to_s
    return self if arg.empty?

    if arg.match?(/\s/)
      arg = self.class.parse(arg)
    else
      return super(arg)
    end
  end

  merge(arg)
end

#to_sObject



32
33
34
# File 'lib/classes/class_list.rb', line 32

def to_s
  to_a.join(" ")
end