Module: Jigsaw

Defined in:
lib/jigsaw.rb,
lib/jigsaw/engine.rb,
lib/jigsaw_engine.rb,
lib/jigsaw/version.rb,
app/models/jigsaw/page.rb,
app/models/jigsaw/slot.rb,
lib/jigsaw/jsx_compiler.rb,
app/models/jigsaw/layout.rb,
app/helpers/jigsaw/pages_helper.rb,
app/models/jigsaw/slot_template.rb,
lib/jigsaw/grid_layout_generator.rb,
app/models/jigsaw/layout_template.rb,
app/models/jigsaw/application_record.rb,
app/controllers/jigsaw/pages_controller.rb,
app/controllers/jigsaw/slots_controller.rb,
app/helpers/jigsaw/custom_module_helper.rb,
app/models/concerns/jigsaw/slot_compilable.rb,
app/controllers/jigsaw/dashboard_controller.rb,
app/models/concerns/jigsaw/grid_configurable.rb,
app/controllers/jigsaw/application_controller.rb,
app/controllers/jigsaw/slot_templates_controller.rb,
app/controllers/jigsaw/layout_templates_controller.rb

Defined Under Namespace

Modules: CustomModuleHelper, GridConfigurable, PagesHelper, SlotCompilable Classes: ApplicationController, ApplicationRecord, DashboardController, Engine, GridLayoutGenerator, JsxCompiler, Layout, LayoutTemplate, LayoutTemplatesController, Page, PagesController, Slot, SlotTemplate, SlotTemplatesController, SlotsController

Constant Summary collapse

VERSION =
"0.4.0"

Class Method Summary collapse

Class Method Details

.dynamic_page_routes(mapper) ⇒ Object



2
3
4
5
6
7
8
9
10
# File 'lib/jigsaw.rb', line 2

def self.dynamic_page_routes(mapper)
  if ActiveRecord::Base.connection.data_source_exists?("jigsaw_pages")
    Jigsaw::Page.where.not(path: [nil, ""]).find_each do |page|
      mapper.get page.path, to: "jigsaw/pages#show", defaults: { path: page.path }, as: "page_#{page.id}_route"
    end
  end
rescue StandardError => e
  Rails.logger.warn("[jigsaw] skipping dynamic page routes: #{e.class}: #{e.message}") if defined?(Rails.logger)
end