class Apipie::Configuration
Attributes
matcher to be used in Dir.glob to find controllers to be reloaded e.g.
"#{Rails.root}/app/controllers/api/*.rb"
specify routes if used router differ from default e.g.
Api::Engine.routes
comment to put before docs that was generated automatically. It's used to determine if the description should be overwritten next recording. If you want to keep the documentation (prevent from overriding), remove the line above the docs.
array of controller names (strings) (might include actions as well) to be ignored # when generationg the documentation e.g. %w[Api::CommentsController Api::PostsController#post]
array of controller names (strings) (might include actions as well) to be ignored # when extracting description form calls. e.g. %w[Api::CommentsController Api::PostsController#post]
set to true if you want to reload the controllers at each refresh of the
documentation. It requires :api_controllers_matcher
to be set
to work properly.
a object responsible for transforming the routes loaded from Rails to a form to be used in the documentation, when using the `api!` keyword. By default, it's Apipie::RoutesFormatter. To customize the behaviour, one can inherit from from this class and override the methods as needed.
set to true if you want to use pregenerated documentation cache and avoid generating the documentation on runtime (usefull for production environment). You can generate the cache by running
rake apipie:cache
set to true if you want to use pregenerated documentation cache and avoid generating the documentation on runtime (usefull for production environment). You can generate the cache by running
rake apipie:cache
Public Class Methods
# File lib/apipie/configuration.rb, line 138 def initialize @markup = Apipie::Markup::RDoc.new @app_name = "Another API" @app_info = HashWithIndifferentAccess.new @copyright = nil @validate = :implicitly @validate_value = true @validate_presence = true @validate_key = false @required_by_default = false @api_base_url = HashWithIndifferentAccess.new @doc_base_url = "/apipie" @layout = "apipie/apipie" @disqus_shortname = nil @default_version = "1.0" @debug = false @version_in_url = true @namespaced_resources = false @doc_path = "doc" @process_params = false @checksum_path = [@doc_base_url, '/api/'] @update_checksum = false @link_extension = ".html" @record = false @languages = [] @default_locale = 'en' @locale = lambda { |locale| @default_locale } @translate = lambda { |str, locale| str } @persist_show_in_doc = false @routes_formatter = RoutesFormatter.new end
Public Instance Methods
set base url for default version of API to set it for specific version use config.api_base_url = url
# File lib/apipie/configuration.rb, line 129 def api_base_url=(url) version = Apipie.configuration.default_version @api_base_url[version] = url end
set app description for default version to maintain backward compatibility new way: config.app_info = description
# File lib/apipie/configuration.rb, line 121 def app_info=(description) version = Apipie.configuration.default_version @app_info[version] = description end
# File lib/apipie/configuration.rb, line 70 def cache_dir @cache_dir ||= File.join(Rails.root, "public", "apipie-cache") end
# File lib/apipie/configuration.rb, line 79 def force_dsl? @force_dsl end
# File lib/apipie/configuration.rb, line 110 def generated_doc_disclaimer @generated_doc_disclaimer ||= "# DOC GENERATED AUTOMATICALLY: REMOVE THIS LINE TO PREVENT REGENARATING NEXT TIME" end
# File lib/apipie/configuration.rb, line 96 def ignored @ignored ||= [] @ignored.map(&:to_s) end
# File lib/apipie/configuration.rb, line 87 def ignored_by_recorder @ignored_by_recorder ||= [] @ignored_by_recorder.map(&:to_s) end
# File lib/apipie/configuration.rb, line 57 def process_value? @process_params end
# File lib/apipie/configuration.rb, line 37 def reload_controllers? @reload_controllers = Rails.env.development? unless defined? @reload_controllers return @reload_controllers && @api_controllers_matcher end
# File lib/apipie/configuration.rb, line 114 def use_disqus? !@disqus_shortname.blank? end