Class: HasHelpers::OrganizationResource

Inherits:
ApplicationRecord show all
Defined in:
app/models/has_helpers/organization_resource.rb

Instance Method Summary collapse

Instance Method Details

#is_grouped_by_resourceObject



29
30
31
32
33
34
35
# File 'app/models/has_helpers/organization_resource.rb', line 29

def is_grouped_by_resource
  if @is_grouped_by_resource.nil?
    @is_grouped_by_resource = !!self.organization_resource_id || (self.resource_group_id && false)
  else
    @is_grouped_by_resource
  end
end

#is_grouped_by_resource=(val) ⇒ Object



18
19
20
21
22
23
24
25
26
27
# File 'app/models/has_helpers/organization_resource.rb', line 18

def is_grouped_by_resource=(val)
  @is_grouped_by_resource = val.to_bool
  case @is_grouped_by_resource
  when true
    self.resource_group = nil
  else
    self.organization_resource_id = nil
  end
  @is_grouped_by_resource # rubocop:disable Lint/Void
end

#parent_resourceObject



41
42
43
# File 'app/models/has_helpers/organization_resource.rb', line 41

def parent_resource
  @parent_resource ||= organization_resource_id && organization_resource.resource
end

#parent_resource=(parent_resource_id) ⇒ Object



37
38
39
# File 'app/models/has_helpers/organization_resource.rb', line 37

def parent_resource=(parent_resource_id)
  self.organization_resource = parent_resource_id.present? ? ::HasHelpers::OrganizationResource.find_or_create_by(organization_id: organization_id, resource_id: parent_resource_id) : nil
end