Sha256: 4f2766de3799950bd2b53cbb1b87091421f6e2bb019511216eace91168c28a1c

Contents?: true

Size: 1.09 KB

Versions: 4

Compression:

Stored size: 1.09 KB

Contents

require "pageflow/engine"

module Pageflow
  def self.config(options = {})
    unless @config
      if options[:ignore_not_configured]
        return Configuration.new
      else
        raise('Pageflow has not been configured yet')
      end
    end
    @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
    configure!
  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

4 entries across 4 versions & 1 rubygems

Version Path
pageflow-0.4.0 lib/pageflow.rb
pageflow-0.3.0 lib/pageflow.rb
pageflow-0.2.1 lib/pageflow.rb
pageflow-0.2.0 lib/pageflow.rb