Sha256: e5cc76fb6ae82f77d4f45dbc2f18fab3276264c97660a1c362b16280aba1a308

Contents?: true

Size: 863 Bytes

Versions: 2

Compression:

Stored size: 863 Bytes

Contents

require 'closure_tree'
require 'dragonfly'

module PushType

  class << self

    def config
      PushType::Core::Engine.config
    end

    def setup(&block)
      yield config if block
    end

    def root_node_types
      node_types_from_list(config.root_node_types)
    end

    def node_types_from_list(types = nil)
      return [] unless types
      types_array = Array.wrap(types)
      if types_array.include? :all
        PushType::Node.descendants.map(&:name).map(&:underscore)
      else
        types_array.map(&:to_s).select do |kind|
          begin
            kind.camelcase.constantize.ancestors.include? PushType::Node
          rescue NameError
            false
          end
        end
      end.sort
    end
  end

  module Core
  end
end

require 'push_type/core/engine'
require 'push_type/rails/routes'
require 'push_type/field_type'


Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
push_type_core-0.1.1 lib/push_type/core.rb
push_type_core-0.1.0 lib/push_type/core.rb