Sha256: 07c29663b4328d1bdae5111b5f9014abb4eae14d96d5a7917ea185b7369fc7fa

Contents?: true

Size: 1.67 KB

Versions: 16

Compression:

Stored size: 1.67 KB

Contents

require "apipie/helpers"
require "apipie/application"

module Apipie
  extend Apipie::Helpers

  def self.app
    @application ||= Apipie::Application.new
  end

  def self.to_json(version = nil, resource_name = nil, method_name = nil)
    version ||= Apipie.configuration.default_version
    app.to_json(version, resource_name, method_name)
  end

  # all calls delegated to Apipie::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

  def self.debug(message)
    puts message if Apipie.configuration.debug
  end

  # get application description for given or default version
  def self.app_info(version = nil)
    if app_info_version_valid? version
      Apipie.markup_to_html(self.configuration.app_info[version])
    elsif app_info_version_valid? Apipie.configuration.default_version
      Apipie.markup_to_html(self.configuration.app_info[Apipie.configuration.default_version])
    else
      "Another API description"
    end
  end

  def self.api_base_url(version = nil)
    if api_base_url_version_valid? version
      self.configuration.api_base_url[version]
    elsif api_base_url_version_valid? Apipie.configuration.default_version
      self.configuration.api_base_url[Apipie.configuration.default_version]
    else
      "/api"
    end
  end

  def self.app_info_version_valid?(version)
    version && self.configuration.app_info.has_key?(version)
  end

  def self.api_base_url_version_valid?(version)
    version && self.configuration.api_base_url.has_key?(version)
  end

end

Version data entries

16 entries across 16 versions & 2 rubygems

Version Path
apipie-rails-0.1.3 lib/apipie/apipie_module.rb
apipie-rails-0.1.2 lib/apipie/apipie_module.rb
apipie-rails-0.1.1 lib/apipie/apipie_module.rb
apipie-rails-0.1.0 lib/apipie/apipie_module.rb
apipie-rails-0.0.24 lib/apipie/apipie_module.rb
apipie-rails-0.0.23 lib/apipie/apipie_module.rb
jmoses_apipie-rails-0.0.23 lib/apipie/apipie_module.rb
apipie-rails-0.0.22 lib/apipie/apipie_module.rb
apipie-rails-0.0.21 lib/apipie/apipie_module.rb
apipie-rails-0.0.20 lib/apipie/apipie_module.rb
apipie-rails-0.0.19 lib/apipie/apipie_module.rb
apipie-rails-0.0.18 lib/apipie/apipie_module.rb
apipie-rails-0.0.17 lib/apipie/apipie_module.rb
apipie-rails-0.0.16 lib/apipie/apipie_module.rb
apipie-rails-0.0.15 lib/apipie/apipie_module.rb
apipie-rails-0.0.14 lib/apipie/apipie_module.rb