Class: Types::Widget

Inherits:
Object
  • Object
show all
Defined in:
lib/shoes.rb

Class Method Summary collapse

Class Method Details

.inherited(subc) ⇒ Object



531
532
533
534
535
536
537
538
539
540
541
542
# File 'lib/shoes.rb', line 531

def self.inherited subc
  methc = subc.to_s[/(^|::)(\w+)$/, 2].
          gsub(/([A-Z]+)([A-Z][a-z])/,'\1_\2').
          gsub(/([a-z\d])([A-Z])/,'\1_\2').downcase
  @types[methc] = subc
  Shoes.class_eval %{
    def #{methc}(*a, &b)
      a.unshift Widget.instance_variable_get("@types")[#{methc.dump}]
      widget(*a, &b)
    end
  }
end