Sha256: b39cad031bc39bdbff110047fcb71a5ed265ecc4b83ef862b040e10ade9854a4

Contents?: true

Size: 809 Bytes

Versions: 10

Compression:

Stored size: 809 Bytes

Contents

require "administrate/namespace"

module Administrate
  class ResourceResolver
    def initialize(controller_path)
      @controller_path = controller_path
    end

    def dashboard_class
      Object.const_get(resource_class_name + "Dashboard")
    end

    def resource_class
      Object.const_get(resource_class_name)
    end

    def resource_name
      model_path_parts.map(&:underscore).join("__").to_sym
    end

    def resource_title
      model_path_parts.join(" ")
    end

    private

    def resource_class_name
      model_path_parts.join("::")
    end

    def model_path_parts
      controller_path_parts.map(&:camelize)
    end

    def controller_path_parts
      controller_path.singularize.split("/") - [Administrate::NAMESPACE.to_s]
    end

    attr_reader :controller_path
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
administrate-0.1.2 lib/administrate/resource_resolver.rb
administrate-0.1.1 lib/administrate/resource_resolver.rb
administrate-0.1.0 lib/administrate/resource_resolver.rb
administrate-0.0.12 lib/administrate/resource_resolver.rb
administrate-0.0.11 lib/administrate/resource_resolver.rb
administrate-0.0.10 lib/administrate/resource_resolver.rb
administrate-0.0.9 lib/administrate/resource_resolver.rb
administrate-0.0.8 lib/administrate/resource_resolver.rb
administrate-0.0.7 lib/administrate/resource_resolver.rb
administrate-0.0.6 lib/administrate/resource_resolver.rb