module Padrino::Mounter::ApplicationExtension

Attributes

cascade[RW]
mounter_options[RW]
public_folder[W]
uri_root[RW]

Public Instance Methods

app_file() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 15
def app_file
  @__app_file ||= trace_method(:app_file) { mounter_options[:app_file] }
end
app_name() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 27
def app_name
  @__app_name ||= mounter_options[:app_name] || self.to_s.underscore.to_sym
end
dependencies() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 7
def dependencies
  @__dependencies ||= Dir.glob("#{root}/**/*.rb").delete_if { |path| path == app_file }
end
prerequisites() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 11
def prerequisites
  @__prerequisites ||= []
end
public_folder() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 23
def public_folder
  @public_folder ||= trace_method(:public_folder) { "" }
end
root() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 19
def root
  @__root ||= trace_method(:root) { File.expand_path("#{app_file}/../") }
end
setup_application!() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 31
def setup_application!
  @configured ||= trace_method(:setup_application!) do
    $LOAD_PATH.concat(prerequisites)
    require_dependencies if root.start_with?(Padrino.root)
    true
  end
end

Private Instance Methods

baseclass() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 50
def baseclass
  @__baseclass ||= respond_to?(:superclass) ? superclass : self
end
require_dependencies() click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 41
def require_dependencies
  Padrino.require_dependencies(dependencies, :force => true)
end
trace_method(method_name) { || ... } click to toggle source
# File lib/padrino-core/mounter/application_extension.rb, line 45
def trace_method(method_name)
  value = baseclass.send(method_name) if baseclass != self && baseclass.respond_to?(method_name)
  value || yield
end