module LinkedRails::Helpers::ResourceHelper
Public Instance Methods
current_resource()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 6 def current_resource return @current_resource if instance_variable_defined?(:@current_resource) @current_resource ||= resolve_current_resource end
new_resource()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 12 def new_resource @new_resource ||= if requested_resource.try(:singular_resource?) requested_resource elsif parent_resource new_resource_from_parent else build_new_resource end end
params_for_parent()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 23 def params_for_parent params.dup end
parent_from_params()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 27 def parent_from_params @parent_from_params ||= LinkedRails.iri_mapper.parent_from_params(params, user_context) end
parent_from_params!()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 31 def parent_from_params! parent_from_params || raise(ActiveRecord::RecordNotFound) end
parent_resource()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 35 def parent_resource @parent_resource ||= requested_resource_parent || parent_from_params end
parent_resource!()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 39 def parent_resource! parent_resource || raise(ActiveRecord::RecordNotFound) end
requested_resource_parent()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 43 def requested_resource_parent requested_resource&.parent end
Private Instance Methods
build_new_resource()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 49 def build_new_resource controller_class.build_new(user_context: user_context) end
new_resource_from_parent()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 53 def new_resource_from_parent parent_resource.build_child( controller_class, user_context: user_context ) end
resolve_current_resource()
click to toggle source
# File lib/linked_rails/helpers/resource_helper.rb, line 60 def resolve_current_resource case action_name when 'create', 'new' new_resource else requested_resource end end