Module: Nacelle::HasCells
- Defined in:
- lib/nacelle/has_cells.rb
Instance Method Summary collapse
Instance Method Details
#has_cells(*columns) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/nacelle/has_cells.rb', line 3 def has_cells *columns define_method :cells do columns.flat_map do |column| send(column).to_s.scan(/(<cell[^>]*\/\s*>|<cell[^>]*>.*?<\/cell>)/m).map do |matches| tag = matches.first attrs = Hash.from_xml(tag)['cell'] name, _ = attrs.delete('name').split('/') "#{name.camelize}Cell".constantize end end end end |