Sha256: 63386de854de7fe23e8a0bc95ac0ee5491d3d41fc6446086203120bffe8871df

Contents?: true

Size: 773 Bytes

Versions: 1

Compression:

Stored size: 773 Bytes

Contents

require "insta_swag/version"
require "rack"

module InstaSwag

  ASSETS_PATH        = "/assets"
  DOCUMENTATION_PATH = "/documentation"
  INDEX_PATH         = DOCUMENTATION_PATH + "/index.html"
  MOUNT_PATH         = DOCUMENTATION_PATH + "/resources"

  autoload :StaticFiles, 'insta_swag/static_files'
  autoload :AssetsApp, 'insta_swag/assets_app'
  autoload :DocumentationApp, 'insta_swag/documentation_app'
  autoload :Settings, "insta_swag/settings"

  def self.for(klass, settings = {})
    settings   = Settings.new klass, settings

    Rack::Builder.new do
      map settings.assets_path, &InstaSwag::AssetsApp
      map settings.prefix_path, &DocumentationApp.create(klass, settings)
      map settings.index_path,  &StaticFiles.create(settings)
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
insta_swag-0.1.1 lib/insta_swag.rb