Method: Fancygrid::Node#initialize
- Defined in:
- lib/fancygrid/node.rb
#initialize(parent, name, options = {}) ⇒ Node
Initializes the node.
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/fancygrid/node.rb', line 25 def initialize(parent, name, = {}) raise ArgumentError, "expected parent to be a Node" if !parent.nil? && !parent.is_a?(Fancygrid::Node) raise ArgumentError, "name must not be blank" if name.blank? @parent = parent @name = name @children = [] @root = self.get_root @resource_class = .fetch(:class) do self.name.to_s.classify.constantize end @table_name = .fetch(:table_name) do if self.resource_class.respond_to?(:table_name) self.resource_class.table_name else self.resource_class.name.tableize end end self.parent.add_child self if self.parent.present? end |