Sha256: 271be305a53df5dfab45e65b78bc709db3c5436f256506e60eeb03c2fbd58378

Contents?: true

Size: 1015 Bytes

Versions: 3

Compression:

Stored size: 1015 Bytes

Contents

module AppFrame::ResourcesHelper
  
  def collection?
    !!collection
  rescue NameError
    false
  end
  
  def resource?
    !!resource
  rescue NameError, ActiveRecord::RecordNotFound
    false
  end
  
  def resource_name
    if resource_class
      resource_class.model_name.human 
    else
      controller_name
    end
  end

  def parent?
    controller.respond_to?(:parent?) && controller.send(:parent?)
  end

  def parent_resource_class
    parent.class
  end
  
  def parent_resource_name
    parent_resource_class.model_name.human
  end
  
  def namespaced(string)
    if controller_namespaces.any?
      File.join(controller_namespaces, string)
    else
      string
    end
  end
  
  def resource_path_array
    result = controller_namespaces
    result << parent if parent?
    result << resource
  end
  
  def parent_collection_url
    return unless parent?
    
    result = controller_namespaces
    result << parent_resource_name.underscore.pluralize
    polymorphic_url(result)
  end
  
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
app_frame-0.5.8 app/helpers/app_frame/resources_helper.rb
app_frame-0.5.7 app/helpers/app_frame/resources_helper.rb
app_frame-0.5.6 app/helpers/app_frame/resources_helper.rb