Sha256: 41b16711bf83ec56ca2acc90b1d5529baf48c8686ab819b18be1a949e1e633e6

Contents?: true

Size: 1.34 KB

Versions: 20

Compression:

Stored size: 1.34 KB

Contents

# frozen_string_literal: true

require 'apipie_dsl/utils'
require 'apipie_dsl/application'

module ApipieDSL
  extend ApipieDSL::Utils

  def self.app
    @app ||= ApipieDSL::Application.new
  end

  def self.configure
    yield configuration
  end

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

  def self.docs(version = nil, class_name = nil, method_name = nil, lang = nil, section = nil)
    version ||= configuration.default_version
    section ||= configuration.default_section
    app.docs(version, class_name, method_name, lang, section)
  end

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

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

  def self.app_info(version = nil, lang = nil)
    info = if app_info_version_valid?(version)
             translate(configuration.app_info[version], lang)
           elsif app_info_version_valid?(configuration.default_version)
             translate(configuration.app_info[configuration.default_version], lang)
           else
             'Another DSL description'
           end

    ApipieDSL.markup_to_html(info)
  end

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

Version data entries

20 entries across 20 versions & 1 rubygems

Version Path
apipie-dsl-2.6.2 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.6.1 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.6.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.5.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.4.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.3.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.10 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.9 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.8 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.7 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.6 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.5 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.4 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.3 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.2 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.1 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.2.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.1.1 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.1.0 lib/apipie_dsl/apipie_dsl_module.rb
apipie-dsl-2.0.0 lib/apipie_dsl/apipie_dsl_module.rb