class Interview::View
Attributes
assoc_method[R]
assoc_object[R]
auto_title_for[RW]
filter[RW]
object[RW]
objects[RW]
scope[RW]
title[RW]
Public Instance Methods
build(b) { || ... }
click to toggle source
# File lib/interview/controls/view.rb, line 54 def build(b) tmp_object = @object tmp_objects = @objects if @object.is_a? String # if Object::const_defined?(@object.camelcase) # todo: Überdenken! # @object = @object.camelcase.constantize.new # else @assoc_object = @parent.find_attribute! :object @object = @object.split('.').inject(@assoc_object, :send) # end elsif @object.is_a? Proc @assoc_object = @parent.find_attribute! :object @object = @object.call(@assoc_object, self) elsif @object.is_a? Class @object = @object.new elsif @object.nil? @object = find_attribute! :object end if @objects.is_a? String @assoc_object = find_attribute! :object @assoc_method = @objects @objects = @assoc_method.split('.').inject(@assoc_object, :send) # @objects = @assoc_object.send @assoc_method @objects = @objects.send @scope if @scope @object = @objects.klass.new @scope = nil @filter = { "#{assoc_object.class.name.underscore}_id" => assoc_object.id } end if Object.const_defined? 'Gretel' and parent.nil? model_name = @object.class.lookup_ancestors.last.model_name case h.action_name when 'index' h.breadcrumb model_name.plural.to_sym when 'show' h.breadcrumb model_name.singular.to_sym, @object when 'new' h.breadcrumb "new_#{model_name.singular}".to_sym, @object when 'edit' h.breadcrumb "edit_#{model_name.singular}".to_sym, @object end end yield if block_given? @object = tmp_object @objects = tmp_objects end
nested_form()
click to toggle source
# File lib/interview/controls/view.rb, line 7 def nested_form return siblings.find { |sib| sib.is_a? Interview::NestedForm } end
singular_title()
click to toggle source
# File lib/interview/controls/view.rb, line 31 def singular_title # todo: Überdenken if @auto_title_for if @assoc_object return @assoc_object.class.human_attribute_name(@assoc_method.to_s.singularize) else return @object.class.human_name end end end
tooltip()
click to toggle source
# File lib/interview/controls/view.rb, line 41 def tooltip defaults = @object.class.lookup_ancestors.map do |klass| klass.name.underscore.to_sym end defaults << '' options = { :scope => [@object.class.i18n_scope, :model_tooltips], :default => defaults } return I18n.translate(defaults.shift, options) # return h.t("activerecord.model_tooltips.#{@object.class.name.underscore}", default: '') # todo: tooltip von Elternelement verwenden, falls nicht vorhanden. end