Sha256: 17a5650d11484445d6e8efeab10939e42999c7570d9186e53234af926c8e2f84

Contents?: true

Size: 627 Bytes

Versions: 1

Compression:

Stored size: 627 Bytes

Contents

module Releaf
  class NodeBase < ActiveRecord::Base
    self.abstract_class = true

    # returns only bottom level, not /^Releaf::/ subclasses
    def self.node_classes
      return _node_classes(self).reject { |n| n.name =~ /^Releaf::/ }
    end

    def self.releaf_fields_to_display action
      column_names - %w[id created_at updated_at position]
    end

    def self.node_type
      "Releaf::NodeBase"
    end

    private

    def self._node_classes(klass)
      classes = [klass]

      klass.subclasses.each do |sublcass|
        classes += _node_classes(sublcass)
      end

      return classes
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
releaf-0.1.2 app/models/releaf/node_base.rb