/usr/lib/ruby/1.8/generators/templates/thin/lib/%base_name%.rb is in libmerb-slices-ruby1.8 1.0.12+dfsg-4fakesync1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | if defined?(Merb::Plugins)
$:.unshift File.dirname(__FILE__)
dependency 'merb-slices', :immediate => true
Merb::Plugins.add_rakefiles "<%= base_name %>/merbtasks", "<%= base_name %>/slicetasks"
# Register the Slice for the current host application
Merb::Slices::register(__FILE__)
# Slice configuration - set this in a before_app_loads callback.
# By default a Slice uses its own layout.
Merb::Slices::config[:<%= symbol_name %>][:layout] ||= :<%= symbol_name %>
# All Slice code is expected to be namespaced inside a module
module <%= module_name %>
# Slice metadata
self.description = "<%= module_name %> is a thin Merb slice!"
self.version = "0.0.1"
self.author = "Your Name"
# Stub classes loaded hook - runs before LoadClasses BootLoader
# right after a slice's classes have been loaded internally.
def self.loaded
end
# Initialization hook - runs before AfterAppLoads BootLoader
def self.init
end
# Activation hook - runs after AfterAppLoads BootLoader
def self.activate
end
# Deactivation hook - triggered by Merb::Slices.deactivate(<%= module_name %>)
def self.deactivate
end
# Setup routes inside the host application
#
# @param scope<Merb::Router::Behaviour>
# Routes will be added within this scope (namespace). In fact, any
# router behaviour is a valid namespace, so you can attach
# routes at any level of your router setup.
#
# @note prefix your named routes with :<%= symbol_name %>_
# to avoid potential conflicts with global named routes.
def self.setup_router(scope)
# enable slice-level default routes by default
scope.default_routes
end
# This sets up a thin slice's structure.
def self.setup_default_structure!
self.push_app_path(:root, Merb.root / 'slices' / self.identifier, nil)
self.push_path(:stub, root_path('stubs'), nil)
self.push_app_path(:stub, app_dir_for(:root), nil)
self.push_path(:application, root, 'application.rb')
self.push_app_path(:application, app_dir_for(:root), 'application.rb')
self.push_path(:view, dir_for(:application) / "views")
self.push_app_path(:view, app_dir_for(:application) / "views")
self.push_path(:public, root_path('public'), nil)
self.push_app_path(:public, Merb.root / 'public' / 'slices' / self.identifier, nil)
public_components.each do |component|
self.push_path(component, dir_for(:public) / "#{component}s", nil)
self.push_app_path(component, app_dir_for(:public) / "#{component}s", nil)
end
end
end
# Setup the slice layout for <%= module_name %>
#
# Use <%= module_name %>.push_path and <%= module_name %>.push_app_path
# to set paths to <%= base_name %>-level and app-level paths. Example:
#
# <%= module_name %>.push_path(:application, <%= module_name %>.root)
# <%= module_name %>.push_app_path(:application, Merb.root / 'slices' / '<%= base_name %>')
# ...
#
# Any component path that hasn't been set will default to <%= module_name %>.root
#
# For a thin slice we just add application.rb, :view and :public locations.
<%= module_name %>.setup_default_structure!
# Add dependencies for other <%= module_name %> classes below. Example:
# dependency "<%= base_name %>/other"
end
|