Module: LinkedRails::Helpers::ResourceHelper

Defined in:
lib/linked_rails/helpers/resource_helper.rb

Instance Method Summary collapse

Instance Method Details

#current_resourceObject



6
7
8
9
10
# 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_resourceObject



12
13
14
15
16
17
18
19
20
21
# 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_parentObject



23
24
25
# File 'lib/linked_rails/helpers/resource_helper.rb', line 23

def params_for_parent
  params.dup
end

#parent_from_paramsObject



27
28
29
# 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!Object



31
32
33
# File 'lib/linked_rails/helpers/resource_helper.rb', line 31

def parent_from_params!
  parent_from_params || raise(ActiveRecord::RecordNotFound)
end

#parent_resourceObject



35
36
37
# File 'lib/linked_rails/helpers/resource_helper.rb', line 35

def parent_resource
  @parent_resource ||= requested_resource_parent || parent_from_params
end

#parent_resource!Object



39
40
41
# File 'lib/linked_rails/helpers/resource_helper.rb', line 39

def parent_resource!
  parent_resource || raise(ActiveRecord::RecordNotFound)
end

#requested_resource_parentObject



43
44
45
# File 'lib/linked_rails/helpers/resource_helper.rb', line 43

def requested_resource_parent
  requested_resource&.parent
end