Class: MetadataPresenter::Grid
- Inherits:
-
Object
- Object
- MetadataPresenter::Grid
- Defined in:
- app/models/metadata_presenter/grid.rb
Constant Summary collapse
- ROW_ZERO =
0
Instance Attribute Summary collapse
-
#start_from ⇒ Object
readonly
Returns the value of attribute start_from.
Instance Method Summary collapse
- #build ⇒ Object
- #flow_uuids ⇒ Object
-
#initialize(service, start_from: nil, main_flow: []) ⇒ Grid
constructor
A new instance of Grid.
- #ordered_flow ⇒ Object
- #ordered_pages ⇒ Object
- #page_uuids ⇒ Object
Constructor Details
#initialize(service, start_from: nil, main_flow: []) ⇒ Grid
Returns a new instance of Grid.
17 18 19 20 21 22 23 24 25 |
# File 'app/models/metadata_presenter/grid.rb', line 17 def initialize(service, start_from: nil, main_flow: []) @service = service @start_from = start_from @main_flow = main_flow @ordered = [] @routes = [] @traversed = [] @coordinates = setup_coordinates end |
Instance Attribute Details
#start_from ⇒ Object (readonly)
Returns the value of attribute start_from.
15 16 17 |
# File 'app/models/metadata_presenter/grid.rb', line 15 def start_from @start_from end |
Instance Method Details
#build ⇒ Object
29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'app/models/metadata_presenter/grid.rb', line 29 def build return @ordered unless @ordered.empty? @ordered = make_grid add_columns add_rows add_by_coordinates insert_expression_spacers trim_pointers unless main_flow.empty? trim_spacers @ordered = @ordered.reject(&:empty?) end |
#flow_uuids ⇒ Object
52 53 54 |
# File 'app/models/metadata_presenter/grid.rb', line 52 def flow_uuids ordered_flow.map(&:uuid) end |
#ordered_flow ⇒ Object
43 44 45 46 |
# File 'app/models/metadata_presenter/grid.rb', line 43 def ordered_flow @ordered_flow ||= build.flatten.reject { |obj| obj.is_a?(MetadataPresenter::Spacer) } end |
#ordered_pages ⇒ Object
48 49 50 |
# File 'app/models/metadata_presenter/grid.rb', line 48 def ordered_pages @ordered_pages ||= ordered_flow.reject(&:branch?) end |
#page_uuids ⇒ Object
56 57 58 |
# File 'app/models/metadata_presenter/grid.rb', line 56 def page_uuids ordered_pages.map(&:uuid) end |