Module: Trestle

Defined in:
lib/trestle.rb,
lib/trestle/tab.rb,
lib/trestle/form.rb,
lib/trestle/hook.rb,
lib/trestle/admin.rb,
lib/trestle/table.rb,
lib/trestle/engine.rb,
lib/trestle/scopes.rb,
lib/trestle/builder.rb,
lib/trestle/display.rb,
lib/trestle/options.rb,
lib/trestle/toolbar.rb,
lib/trestle/version.rb,
lib/trestle/adapters.rb,
lib/trestle/reloader.rb,
lib/trestle/resource.rb,
lib/trestle/attribute.rb,
lib/trestle/table/row.rb,
lib/trestle/breadcrumb.rb,
lib/trestle/form/field.rb,
lib/trestle/model_name.rb,
lib/trestle/navigation.rb,
lib/trestle/form/fields.rb,
lib/trestle/configurable.rb,
lib/trestle/form/builder.rb,
lib/trestle/scopes/block.rb,
lib/trestle/scopes/scope.rb,
lib/trestle/table/column.rb,
lib/trestle/toolbar/item.rb,
lib/trestle/toolbar/menu.rb,
lib/trestle/admin/builder.rb,
lib/trestle/configuration.rb,
lib/trestle/form/renderer.rb,
lib/trestle/table/builder.rb,
lib/trestle/form/automatic.rb,
lib/trestle/navigation/item.rb,
lib/trestle/table/automatic.rb,
lib/trestle/toolbar/builder.rb,
lib/trestle/toolbar/context.rb,
lib/trestle/adapters/adapter.rb,
lib/trestle/navigation/block.rb,
lib/trestle/navigation/group.rb,
lib/trestle/resource/builder.rb,
lib/trestle/resource/toolbar.rb,
app/helpers/trestle/tab_helper.rb,
app/helpers/trestle/url_helper.rb,
lib/trestle/evaluation_context.rb,
lib/trestle/form/fields/select.rb,
app/helpers/trestle/card_helper.rb,
app/helpers/trestle/form_helper.rb,
app/helpers/trestle/grid_helper.rb,
app/helpers/trestle/hook_helper.rb,
app/helpers/trestle/i18n_helper.rb,
app/helpers/trestle/icon_helper.rb,
app/helpers/trestle/sort_helper.rb,
lib/trestle/resource/collection.rb,
lib/trestle/table/select_column.rb,
app/helpers/trestle/flash_helper.rb,
app/helpers/trestle/table_helper.rb,
app/helpers/trestle/title_helper.rb,
lib/trestle/table/actions_column.rb,
app/helpers/trestle/avatar_helper.rb,
app/helpers/trestle/format_helper.rb,
app/helpers/trestle/params_helper.rb,
app/helpers/trestle/status_helper.rb,
lib/trestle/form/fields/check_box.rb,
app/helpers/trestle/display_helper.rb,
lib/trestle/form/fields/file_field.rb,
lib/trestle/form/fields/form_group.rb,
lib/trestle/form/fields/tag_select.rb,
app/helpers/trestle/headings_helper.rb,
app/helpers/trestle/toolbars_helper.rb,
lib/trestle/adapters/draper_adapter.rb,
lib/trestle/adapters/sequel_adapter.rb,
lib/trestle/form/fields/date_select.rb,
lib/trestle/form/fields/range_field.rb,
lib/trestle/form/fields/time_select.rb,
app/helpers/trestle/container_helper.rb,
app/helpers/trestle/timestamp_helper.rb,
lib/trestle/form/fields/form_control.rb,
lib/trestle/form/fields/radio_button.rb,
lib/trestle/form/fields/static_field.rb,
lib/trestle/resource/adapter_methods.rb,
app/helpers/trestle/navigation_helper.rb,
app/helpers/trestle/pagination_helper.rb,
lib/trestle/form/fields/datetime_select.rb,
app/controllers/trestle/admin_controller.rb,
lib/trestle/form/fields/time_zone_select.rb,
lib/trestle/form/fields/check_box_helpers.rb,
lib/trestle/form/fields/collection_select.rb,
lib/trestle/adapters/active_record_adapter.rb,
app/controllers/trestle/resource_controller.rb,
app/controllers/trestle/dashboard_controller.rb,
lib/generators/trestle/admin/admin_generator.rb,
lib/trestle/form/fields/radio_button_helpers.rb,
app/controllers/trestle/application_controller.rb,
lib/trestle/form/fields/collection_check_boxes.rb,
lib/generators/trestle/install/install_generator.rb,
lib/trestle/form/fields/collection_radio_buttons.rb,
app/controllers/concerns/trestle/controller/title.rb,
lib/trestle/form/fields/grouped_collection_select.rb,
app/controllers/concerns/trestle/controller/dialog.rb,
app/controllers/concerns/trestle/controller/layout.rb,
lib/generators/trestle/resource/resource_generator.rb,
app/controllers/concerns/trestle/controller/helpers.rb,
app/controllers/concerns/trestle/controller/location.rb,
app/controllers/concerns/trestle/controller/toolbars.rb,
app/controllers/concerns/trestle/controller/callbacks.rb,
app/controllers/concerns/trestle/controller/breadcrumbs.rb,
app/controllers/concerns/trestle/resource/controller/actions.rb,
app/controllers/concerns/trestle/resource/controller/toolbar.rb,
app/controllers/concerns/trestle/resource/controller/redirection.rb,
app/controllers/concerns/trestle/resource/controller/data_methods.rb

Defined Under Namespace

Modules: Adapters, AvatarHelper, CardHelper, Configurable, ContainerHelper, Controller, DisplayHelper, EvaluationContext, FlashHelper, FormHelper, FormatHelper, Generators, GridHelper, HeadingsHelper, HookHelper, I18nHelper, IconHelper, NavigationHelper, PaginationHelper, ParamsHelper, SortHelper, StatusHelper, TabHelper, TableHelper, TimestampHelper, TitleHelper, ToolbarsHelper, UrlHelper Classes: Admin, AdminController, ApplicationController, Attribute, Breadcrumb, Builder, Configuration, DashboardController, Display, Engine, Form, Hook, ModelName, Navigation, Options, Reloader, Resource, ResourceController, Scopes, Tab, Table, Toolbar

Constant Summary collapse

VERSION =
"0.9.3"

Class Method Summary collapse

Class Method Details

.admin(name, options = {}, &block) ⇒ Object


31
32
33
# File 'lib/trestle.rb', line 31

def self.admin(name, options={}, &block)
  register(Admin::Builder.create(name, options, &block))
end

.configObject


48
49
50
# File 'lib/trestle.rb', line 48

def self.config
  @configuration ||= Configuration.new
end

.configure(&block) ⇒ Object


52
53
54
# File 'lib/trestle.rb', line 52

def self.configure(&block)
  config.configure(&block)
end

.i18n_fallbacks(locale = I18n.locale) ⇒ Object


61
62
63
64
65
66
67
68
69
70
# File 'lib/trestle.rb', line 61

def self.i18n_fallbacks(locale=I18n.locale)
  if I18n.respond_to?(:fallbacks)
    I18n.fallbacks[locale]
  elsif locale.to_s.include?("-")
    fallback = locale.to_s.split("-").first
    [locale, fallback]
  else
    [locale]
  end
end

.lookup(admin) ⇒ Object


43
44
45
46
# File 'lib/trestle.rb', line 43

def self.lookup(admin)
  return admin if admin.is_a?(Class) && admin < Trestle::Admin
  self.admins[admin.to_s]
end

56
57
58
59
# File 'lib/trestle.rb', line 56

def self.navigation(context)
  blocks = config.menus + admins.values.map(&:menu).compact
  Navigation.build(blocks, context)
end

.register(admin) ⇒ Object


39
40
41
# File 'lib/trestle.rb', line 39

def self.register(admin)
  self.admins[admin.admin_name] = admin
end

.resource(name, options = {}, &block) ⇒ Object


35
36
37
# File 'lib/trestle.rb', line 35

def self.resource(name, options={}, &block)
  register(Resource::Builder.create(name, options, &block))
end