Module: Apipie::Params::DSL

Included in:
Apipie::Params::Descriptor::Hash::DSL
Defined in:
lib/apipie/params/dsl.rb

Instance Method Summary collapse

Instance Method Details

#_apipie_params_dsl_dataObject



4
5
6
# File 'lib/apipie/params/dsl.rb', line 4

def _apipie_params_dsl_data
  @_apipie_params_dsl_data ||= _apipie_params_dsl_data_init
end

#_apipie_params_dsl_data_initObject



8
9
10
# File 'lib/apipie/params/dsl.rb', line 8

def _apipie_params_dsl_data_init
  @_apipie_params_dsl_data = []
end

#array_of(descriptor) ⇒ Object

descriptor might be instance of Descriptor::Base or something that has it in :descriptor method



29
30
31
32
33
34
35
# File 'lib/apipie/params/dsl.rb', line 29

def array_of(descriptor)
  descriptor = if descriptor.is_a? Descriptor::Base
               elsif descriptor.respond_to?(:descriptor)
                 descriptor.descriptor
               end
  Descriptor::Array.new(descriptor, {})
end

#param(param_name, descriptor_arg, desc_or_options = nil, options = {}, &block) ⇒ Object

Describe method’s parameter

Example:

param :greeting, String, :desc => "arbitrary text", :required => true


17
18
19
20
21
22
23
24
25
# File 'lib/apipie/params/dsl.rb', line 17

def param(param_name, descriptor_arg, desc_or_options = nil, options = {}, &block) #:doc:
  if desc_or_options.is_a? String
    options = options.merge(:desc => desc_or_options)
  end
  _apipie_params_dsl_data << [param_name,
                              descriptor_arg,
                              options,
                              block]
end