module Apipie::DSL::Common
Public Instance Methods
_apipie_define_validators(description)
click to toggle source
# File lib/apipie/dsl_definition.rb, line 170 def _apipie_define_validators(description) # redefine method only if validation is turned on if description && Apipie.configuration.validate == true old_method = instance_method(description.method) define_method(description.method) do |*args| if Apipie.configuration.validate_presence? description.params.each do |_, param| # check if required parameters are present raise ParamMissing.new(param.name) if param.required && !params.has_key?(param.name) end end if Apipie.configuration.validate_value? description.params.each do |_, param| # params validations param.validate(params[:"#{param.name}"]) if params.has_key?(param.name) end end # run the original method code old_method.bind(self).call(*args) end end end
api_versions(*versions)
click to toggle source
# File lib/apipie/dsl_definition.rb, line 124 def api_versions(*versions) _apipie_dsl_data[:api_versions].concat(versions) end
Also aliased as: api_version
desc(description)
click to toggle source
Describe the next method.
Example:
desc "print hello world" def hello_world puts "hello world" end
# File lib/apipie/dsl_definition.rb, line 137 def desc(description) #:doc: return unless Apipie.active_dsl? if _apipie_dsl_data[:description] raise "Double method description." end _apipie_dsl_data[:description] = description end
Also aliased as: description, full_description
error(*args)
click to toggle source
Describe possible errors
Example:
error :desc => "speaker is sleeping", :code => 500 error 500, "speaker is sleeping" def hello_world return 500 if self.speaker.sleeping? puts "hello world" end
# File lib/apipie/dsl_definition.rb, line 165 def error(*args) #:doc: return unless Apipie.active_dsl? _apipie_dsl_data[:errors] << args end
formats(formats)
click to toggle source
Describe available request/response formats
formats ['json', 'jsonp', 'xml']
# File lib/apipie/dsl_definition.rb, line 150 def formats(formats) #:doc: return unless Apipie.active_dsl? _apipie_dsl_data[:formats] = formats end