Sha256: 8722344a6942d782e4a4647c012da0dc07fa5761a093e6cb181329d335e67ce0

Contents?: true

Size: 973 Bytes

Versions: 6

Compression:

Stored size: 973 Bytes

Contents

require "pageflow/engine"

module Pageflow
  def self.config
    raise('Pageflow has not been configured yet') unless @config
    @config
  end

  def self.configure(&block)
    @configure_blocks ||= []
    @configure_blocks << block
  end

  def self.configure!
    return unless @finalized

    @config = Configuration.new
    @configure_blocks ||= []

    @configure_blocks.each do |block|
      block.call(@config)
    end

    @after_configure_blocks.each do |block|
      block.call(@config)
    end
  end

  def self.finalize!
    @finalized = true
  end

  def self.after_configure(&block)
    @after_configure_blocks ||= []
    @after_configure_blocks << block
  end

  def self.routes(router)
    router.instance_eval do
      namespace :admin do
        resources :users do
          resources :memberships
        end

        resources :entries do
          resources :memberships
        end
      end

      mount Pageflow::Engine, at: '/'
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
pageflow-0.1.0 lib/pageflow.rb
pageflow-0.0.5 lib/pageflow.rb
pageflow-0.0.4 lib/pageflow.rb
pageflow-0.0.3 lib/pageflow.rb
pageflow-0.0.2 lib/pageflow.rb
pageflow-0.0.1 lib/pageflow.rb