Module: ClippedAssetRoles::PageExtensions

Defined in:
lib/clipped_asset_roles/page_extensions.rb

Instance Method Summary collapse

Instance Method Details

#attachments_with_role(role) ⇒ Object



3
4
5
6
7
# File 'lib/clipped_asset_roles/page_extensions.rb', line 3

def attachments_with_role(role)
  page_attachments.select do |attachment|
    attachment.asset_roles.select{|asset_role| asset_role.role == role}.any?
  end
end

#available_rolesObject



9
10
11
12
13
14
15
# File 'lib/clipped_asset_roles/page_extensions.rb', line 9

def available_roles
  return overwritten_roles if overwritten_roles
  return overwritten_roles_through_parent if overwritten_roles_through_parent
  return configured_roles.concat(extra_roles) if extra_roles
  return configured_roles.concat(extra_roles_through_parent) if extra_roles_through_parent
  configured_roles
end

#configured_rolesObject



17
18
19
# File 'lib/clipped_asset_roles/page_extensions.rb', line 17

def configured_roles
  Radiant::Config['clipped_asset_roles.roles'].to_s.split(',')
end

#extra_rolesObject



21
22
23
24
# File 'lib/clipped_asset_roles/page_extensions.rb', line 21

def extra_roles
  return false unless config = field(:extra_asset_roles)
  config.content.to_s.split(',')
end

#extra_roles_through_parentObject



31
32
33
34
# File 'lib/clipped_asset_roles/page_extensions.rb', line 31

def extra_roles_through_parent
  return false unless parent && config = parent.field(:extra_children_asset_roles)
  config.content.to_s.split(',')
end

#overwritten_rolesObject



26
27
28
29
# File 'lib/clipped_asset_roles/page_extensions.rb', line 26

def overwritten_roles
  return false unless config = field(:asset_roles)
  config.content.to_s.split(',')
end

#overwritten_roles_through_parentObject



36
37
38
39
# File 'lib/clipped_asset_roles/page_extensions.rb', line 36

def overwritten_roles_through_parent
  return false unless parent && config = parent.field(:children_asset_roles)
  config.content.to_s.split(',')
end