Class: Shoes::Types::Widget

Inherits:
Object
  • Object
show all
Defined in:
lib/package/min-shoes.rb,
lib/shoes.rb

Class Method Summary collapse

Class Method Details

.inherited(subc) ⇒ Object



423
424
425
426
427
428
429
430
431
432
433
434
# File 'lib/package/min-shoes.rb', line 423

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