Sha256: 384054046e920733bc66f3ee50b375374c3339e0c198547b220f3b1fda322355

Contents?: true

Size: 1.51 KB

Versions: 8

Compression:

Stored size: 1.51 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

    WILDCARD = 'content_type_template'.freeze

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

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

    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

8 entries across 8 versions & 1 rubygems

Version Path
locomotivecms_steam-1.1.2 lib/locomotive/steam.rb
locomotivecms_steam-1.1.1 lib/locomotive/steam.rb
locomotivecms_steam-1.1.0 lib/locomotive/steam.rb
locomotivecms_steam-1.1.0.rc3 lib/locomotive/steam.rb
locomotivecms_steam-1.1.0.rc2 lib/locomotive/steam.rb
locomotivecms_steam-1.1.0.rc1 lib/locomotive/steam.rb
locomotivecms_steam-1.0.1 lib/locomotive/steam.rb
locomotivecms_steam-1.0.0 lib/locomotive/steam.rb