Sha256: aa57a688206bc4be3859e8fbceb622b44bc1a9a47f97b89efb3f9d3d29cdb4bb

Contents?: true

Size: 1.57 KB

Versions: 14

Compression:

Stored size: 1.57 KB

Contents

require 'locomotive/common'

require_relative      'steam/configuration'
require_relative_all  'steam/decorators'
require_relative      'steam/liquid'
require_relative      'steam/errors'

require_relative      'steam/models'
require_relative_all  'steam/entities'
require_relative      'steam/repositories'
require_relative      'steam/services'

module Locomotive
  module Steam

    FRONTMATTER_REGEXP = /^(?<yaml>(---\s*\n.*?\n?)^(---\s*$\n?))?(?<template>.*)/mo.freeze

    WILDCARD = 'content_type_template'.freeze

    CONTENT_ENTRY_ENGINE_CLASS_NAME = /^Locomotive::ContentEntry(.*)$/o.freeze

    IsHTTP = /\Ahttps?:\/\//o.freeze

    IsLAYOUT = /\Alayouts(\/|\z)/o.freeze

    class << self
      attr_writer   :configuration
      attr_accessor :extension_configurations
    end

    def self.configuration
      @configuration ||= Configuration.new
    end

    def self.reset
      @configuration = Configuration.new
    end

    def self.configure
      yield(configuration)

      require_relative 'steam/initializers'
    end

    def self.configure_extension(&block)
      (@extension_configurations ||= []) << block
    end

    # Shortcut to build the Rack stack
    def self.to_app
      (@extension_configurations || []).each do |block|
        block.call(@configuration)
      end

      require_relative 'steam/server'
      Server.to_app
    end

    # FIXME: not sure it will ever be needed
    # class << self
    #   def method_missing(name, *args, &block)
    #     Locomotive::Steam.configuration.public_send(name)
    #   rescue
    #     super
    #   end
    # end

  end
end

Version data entries

14 entries across 14 versions & 1 rubygems

Version Path
locomotivecms_steam-1.4.1 lib/locomotive/steam.rb
locomotivecms_steam-1.4.0 lib/locomotive/steam.rb
locomotivecms_steam-1.4.0.rc2 lib/locomotive/steam.rb
locomotivecms_steam-1.4.0.rc1 lib/locomotive/steam.rb
locomotivecms_steam-1.4.0.pre.rc.1 lib/locomotive/steam.rb
locomotivecms_steam-1.3.0 lib/locomotive/steam.rb
locomotivecms_steam-1.3.0.rc2 lib/locomotive/steam.rb
locomotivecms_steam-1.2.1 lib/locomotive/steam.rb
locomotivecms_steam-1.3.0.rc1 lib/locomotive/steam.rb
locomotivecms_steam-1.2.0 lib/locomotive/steam.rb
locomotivecms_steam-1.2.0.rc3 lib/locomotive/steam.rb
locomotivecms_steam-1.2.0.rc2 lib/locomotive/steam.rb
locomotivecms_steam-1.2.0.rc1 lib/locomotive/steam.rb
locomotivecms_steam-1.2.0.beta1 lib/locomotive/steam.rb