Class ClothesLine
In: lib/nukumi2/vendor/clothesline.rb
Parent: Object

Methods

==   new   new   parse   to_clothesline   to_html  

Attributes

classes  [R] 

Public Class methods

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 15
15:   def initialize(*classes)
16:     @classes = classes
17:     @override = Object
18:   end

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 2
 2:   def self.parse(string, override=Object)
 3:     instance = new(*string.strip.split(/[ ,|]+/).map { |klass|
 4:       unless override.constants.include? klass
 5:         require klass.downcase.gsub(/::/, '/')
 6:       end
 7:       override.const_get(klass)
 8:     })
 9:     instance.instance_eval { @override = override }
10:     instance
11:   end

Public Instance methods

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 39
39:   def ==(other)
40:     @classes == other.classes
41:   end

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 20
20:   def new(str)                  # Fake instantiation!
21:     @result = @classes.inject(str) { |result, klass|
22:       if klass.kind_of? Array
23:         klass.first.new(result).to_html(*klass[1..-1])
24:       else
25:         klass.new(result).to_html
26:       end
27:     }
28:     self
29:   end

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 35
35:   def to_clothesline
36:     @classes.map { |c| c.to_s.gsub(/#{@override}::/, '') }.join(" ")
37:   end

[Source]

    # File lib/nukumi2/vendor/clothesline.rb, line 31
31:   def to_html
32:     @result
33:   end

[Validate]