Sha256: d47261a706a3dceac9cf91f337026dfb934391c1c163c4425009f2b9569c2f07

Contents?: true

Size: 1.03 KB

Versions: 1

Compression:

Stored size: 1.03 KB

Contents

require "restapi/helpers"
require "restapi/application"

module Restapi
  extend Restapi::Helpers

  def self.app
    @application ||= Restapi::Application.new
  end
  
  def self.to_json(resource_name = nil, method_name = nil)
    app.to_json(resource_name, method_name)
  end

  # all calls delegated to Restapi::Application instance
  def self.method_missing(method, *args, &block)
    app.respond_to?(method) ? app.send(method, *args, &block) : super
  end

  def self.configure
    yield configuration
  end

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

  class Configuration
    attr_accessor :app_name, :app_info, :copyright, :markup,
      :validate, :api_base_url, :doc_base_url
    
    def app_info
      Restapi.markup_to_html(@app_info)
    end
    
    def initialize
      @markup = Restapi::Markup::RDoc.new
      @app_name = "Another API"
      @app_info = "Another API description"
      @copyright = nil
      @validate = true
      @api_base_url = ""
      @doc_base_url = "/restapi"
    end
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
restapi-0.0.3 lib/restapi/restapi_module.rb