Class: Alchemy::JsonApi::Page

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
app/models/alchemy/json_api/page.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(page, page_version_type: :public_version) ⇒ Page



6
7
8
9
10
# File 'app/models/alchemy/json_api/page.rb', line 6

def initialize(page, page_version_type: :public_version)
  @page_version_type = page_version_type
  @page_version = page.public_send(page_version_type)
  super(page)
end

Instance Attribute Details

#page_versionObject (readonly)

Returns the value of attribute page_version.



4
5
6
# File 'app/models/alchemy/json_api/page.rb', line 4

def page_version
  @page_version
end

#page_version_typeObject (readonly)

Returns the value of attribute page_version_type.



4
5
6
# File 'app/models/alchemy/json_api/page.rb', line 4

def page_version_type
  @page_version_type
end

Instance Method Details

#all_element_idsObject



27
28
29
# File 'app/models/alchemy/json_api/page.rb', line 27

def all_element_ids
  @_all_element_ids ||= all_elements.map(&:id)
end

#all_elementsObject

All elements including nested and fixed elements



13
14
15
# File 'app/models/alchemy/json_api/page.rb', line 13

def all_elements
  @_all_elements ||= element_repository
end

#ancestor_idsObject



39
40
41
# File 'app/models/alchemy/json_api/page.rb', line 39

def ancestor_ids
  @_ancestor_ids ||= ancestors.map(&:id)
end

#element_idsObject



31
32
33
# File 'app/models/alchemy/json_api/page.rb', line 31

def element_ids
  @_element_ids ||= elements.map(&:id)
end

#elementsObject

Not nested unfixed top level elements



18
19
20
# File 'app/models/alchemy/json_api/page.rb', line 18

def elements
  @_elements ||= element_repository.not_nested.unfixed
end

#fixed_element_idsObject



35
36
37
# File 'app/models/alchemy/json_api/page.rb', line 35

def fixed_element_ids
  @_fixed_element_ids ||= fixed_elements.map(&:id)
end

#fixed_elementsObject

Not nested fixed top level elements



23
24
25
# File 'app/models/alchemy/json_api/page.rb', line 23

def fixed_elements
  @_fixed_elements ||= element_repository.not_nested.fixed
end