class BrainDamage::View::Display::ForeignSinglePageManager

Attributes

foreign_model_class_name[R]
foreign_plural_table_name[R]
foreign_singular_table_name[R]

Public Class Methods

new(field, options) click to toggle source
# File lib/generators/brain_damage/lib/views/displays/foreign_single_page_manager.rb, line 12
def initialize(field, options)
  super

  default_options = {
    deletable: true,
    editable: true,
    viewable: false,
    explicit_form: false,
    leading_form: false,
    trailing_form: true,
    nested_on: resource_name_according_to_foreign.to_sym
  }

  @spm_options = default_options.merge(options).slice(*default_options.keys)

  @foreign_model_class_name = @field.relation.class_name.to_s
  @foreign_singular_table_name = @foreign_model_class_name.underscore.singularize
  @foreign_plural_table_name = @foreign_model_class_name.underscore.pluralize
end

Public Instance Methods

options_hash() click to toggle source
# File lib/generators/brain_damage/lib/views/displays/foreign_single_page_manager.rb, line 40
def options_hash
  @spm_options.dup
end
resource_name_according_to_foreign() click to toggle source
# File lib/generators/brain_damage/lib/views/displays/foreign_single_page_manager.rb, line 32
def resource_name_according_to_foreign
  if @field.relation
    @field.relation.resource_name_according_to_foreign
  else
    singular_table_name
  end
end