Class: MetadataPresenter::Grid

Inherits:
Object
  • Object
show all
Defined in:
app/models/metadata_presenter/grid.rb

Constant Summary collapse

ROW_ZERO =
0

Instance Method Summary collapse

Constructor Details

#initialize(service) ⇒ Grid

Returns a new instance of Grid.



6
7
8
9
10
11
12
# File 'app/models/metadata_presenter/grid.rb', line 6

def initialize(service)
  @service = service
  @ordered = []
  @routes = []
  @traversed = []
  @coordinates = setup_coordinates
end

Instance Method Details

#buildObject



16
17
18
19
20
21
22
23
24
25
# File 'app/models/metadata_presenter/grid.rb', line 16

def build
  @ordered = make_grid
  add_columns
  add_rows
  add_by_coordinates
  trim_spacers
  insert_expression_spacers

  @ordered
end

#ordered_flowObject



27
28
29
30
31
32
# File 'app/models/metadata_presenter/grid.rb', line 27

def ordered_flow
  @ordered_flow ||= begin
    flow = @ordered.empty? ? build.flatten : @ordered.flatten
    flow.reject { |obj| obj.is_a?(MetadataPresenter::Spacer) }
  end
end

#ordered_pagesObject



34
35
36
# File 'app/models/metadata_presenter/grid.rb', line 34

def ordered_pages
  ordered_flow.reject(&:branch?)
end