Module: Apipie
- Extended by:
- Helpers
- Defined in:
- lib/apipie/dsl_definition.rb,
lib/apipie/errors.rb,
lib/apipie/markup.rb,
lib/apipie/helpers.rb,
lib/apipie/railtie.rb,
lib/apipie/routing.rb,
lib/apipie/version.rb,
lib/apipie/extractor.rb,
lib/apipie/validator.rb,
lib/apipie/application.rb,
lib/apipie/apipie_module.rb,
lib/apipie/configuration.rb,
lib/apipie/see_description.rb,
lib/apipie/extractor/writer.rb,
lib/apipie/routes_formatter.rb,
lib/apipie/error_description.rb,
lib/apipie/param_description.rb,
lib/apipie/static_dispatcher.rb,
lib/apipie/swagger_generator.rb,
lib/apipie/extractor/recorder.rb,
lib/apipie/method_description.rb,
lib/apipie/extractor/collector.rb,
lib/apipie/resource_description.rb,
lib/apipie/response_description.rb,
lib/generators/apipie/views_generator.rb,
lib/apipie/response_description_adapter.rb,
app/controllers/apipie/apipies_controller.rb,
lib/apipie/middleware/checksum_in_headers.rb,
lib/generators/apipie/install/install_generator.rb
Overview
Middleware for rails app that adds checksum of JSON in the response headers which can help client to realize when JSON has changed
Add the following to your application.rb
require 'apipie/middleware/checksum_in_headers'
config.middleware.use "Apipie::Middleware::ChecksumInHeaders"
And in your apipie initializer allow checksum calculation
Apipie.configuration.update_checksum = true
and reload documentation
Apipie.reload_documentation
By default the header is added to requests on /api and /apipie only It can be changed with
Apipie.configuration.checksum_path = ['/prefix/api']
If set to nil the header is added always
Defined Under Namespace
Modules: DSL, Extractor, Helpers, Markup, Middleware, Routing, Validator
Classes: ApipiesController, Application, Configuration, DefinedParamError, Error, ErrorDescription, FileHandler, InstallGenerator, MethodDescription, ParamDescription, ParamError, ParamInvalid, ParamMissing, Railtie, ResourceDescription, ResponseDescription, ResponseDescriptionAdapter, ReturnsMultipleDefinitionError, RoutesFormatter, SeeDescription, StaticDispatcher, SwaggerGenerator, UnknownCode, UnknownParam, ViewsGenerator
Constant Summary
collapse
- VERSION =
'0.5.8'
Instance Attribute Summary
Attributes included from Helpers
#url_prefix
Class Method Summary
collapse
-
.additional_properties(yesno) ⇒ Object
-
.api_base_url(version = nil) ⇒ Object
-
.api_base_url_version_valid?(version) ⇒ Boolean
-
.app ⇒ Object
-
.app_info(version = nil, lang = nil) ⇒ Object
get application description for given or default version.
-
.app_info_version_valid?(version) ⇒ Boolean
-
.configuration ⇒ Object
-
.configure {|configuration| ... } ⇒ Object
-
.debug(message) ⇒ Object
-
.method_missing(method, *args, &block) ⇒ Object
all calls delegated to Apipie::Application instance.
-
.prop(name, expected_type, options = {}, sub_properties = []) ⇒ Object
-
.record(record) ⇒ Object
-
.to_json(version = nil, resource_name = nil, method_name = nil, lang = nil) ⇒ Object
-
.to_swagger_json(version = nil, resource_name = nil, method_name = nil, lang = nil, clear_warnings = true) ⇒ Object
Methods included from Helpers
full_url, include_javascripts, include_stylesheets, label_class_for_error, markup_to_html, request_script_name, request_script_name=
Class Method Details
.additional_properties(yesno) ⇒ Object
.api_base_url(version = nil) ⇒ Object
51
52
53
54
55
56
57
58
59
|
# File 'lib/apipie/apipie_module.rb', line 51
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
|
.api_base_url_version_valid?(version) ⇒ Boolean
65
66
67
|
# File 'lib/apipie/apipie_module.rb', line 65
def self.api_base_url_version_valid?(version)
version && self.configuration.api_base_url.has_key?(version)
end
|
.app ⇒ Object
7
8
9
|
# File 'lib/apipie/apipie_module.rb', line 7
def self.app
@application ||= Apipie::Application.new
end
|
.app_info(version = nil, lang = nil) ⇒ Object
get application description for given or default version
39
40
41
42
43
44
45
46
47
48
49
|
# File 'lib/apipie/apipie_module.rb', line 39
def self.app_info(version = nil, lang = nil)
info = if app_info_version_valid? version
translate(self.configuration.app_info[version], lang)
elsif app_info_version_valid? Apipie.configuration.default_version
translate(self.configuration.app_info[Apipie.configuration.default_version], lang)
else
"Another API description"
end
Apipie.markup_to_html info
end
|
.app_info_version_valid?(version) ⇒ Boolean
61
62
63
|
# File 'lib/apipie/apipie_module.rb', line 61
def self.app_info_version_valid?(version)
version && self.configuration.app_info.has_key?(version)
end
|
.configuration ⇒ Object
30
31
32
|
# File 'lib/apipie/apipie_module.rb', line 30
def self.configuration
@configuration ||= Configuration.new
end
|
26
27
28
|
# File 'lib/apipie/apipie_module.rb', line 26
def self.configure
yield configuration
end
|
.debug(message) ⇒ Object
34
35
36
|
# File 'lib/apipie/apipie_module.rb', line 34
def self.debug(message)
puts message if Apipie.configuration.debug
end
|
.method_missing(method, *args, &block) ⇒ Object
all calls delegated to Apipie::Application instance
22
23
24
|
# File 'lib/apipie/apipie_module.rb', line 22
def self.method_missing(method, *args, &block)
app.respond_to?(method) ? app.send(method, *args, &block) : super
end
|
.prop(name, expected_type, options = {}, sub_properties = []) ⇒ Object
3
4
5
|
# File 'lib/apipie/response_description_adapter.rb', line 3
def self.prop(name, expected_type, options={}, sub_properties=[])
Apipie::ResponseDescriptionAdapter::PropDesc.new(name, expected_type, options, sub_properties)
end
|
.record(record) ⇒ Object
69
70
71
|
# File 'lib/apipie/apipie_module.rb', line 69
def self.record(record)
Apipie::Extractor.start record
end
|
.to_json(version = nil, resource_name = nil, method_name = nil, lang = nil) ⇒ Object
11
12
13
14
|
# File 'lib/apipie/apipie_module.rb', line 11
def self.to_json(version = nil, resource_name = nil, method_name = nil, lang = nil)
version ||= Apipie.configuration.default_version
app.to_json(version, resource_name, method_name, lang)
end
|
.to_swagger_json(version = nil, resource_name = nil, method_name = nil, lang = nil, clear_warnings = true) ⇒ Object
16
17
18
19
|
# File 'lib/apipie/apipie_module.rb', line 16
def self.to_swagger_json(version = nil, resource_name = nil, method_name = nil, lang = nil, clear_warnings=true)
version ||= Apipie.configuration.default_version
app.to_swagger_json(version, resource_name, method_name, lang, clear_warnings)
end
|