module Apipie::DSL::Concern

Public Instance Methods

_apipie_concern_data() click to toggle source
# File lib/apipie/dsl_definition.rb, line 330
def _apipie_concern_data
  @_apipie_concern_data ||= []
end
included(controller) click to toggle source

the concern was included into a controller

Calls superclass method
# File lib/apipie/dsl_definition.rb, line 321
def included(controller)
  super
  _apipie_concern_data.each do |method_name, _apipie_dsl_data|
    # remove method description if exists and create new one
    description = Apipie.define_method_description(controller, method_name, _apipie_dsl_data)
    controller._apipie_define_validators(description)
  end
end
method_added(method_name) click to toggle source

create method api and redefine newly added method

Calls superclass method
# File lib/apipie/dsl_definition.rb, line 335
def method_added(method_name) #:doc:
  super

  if ! Apipie.active_dsl? || _apipie_dsl_data[:api_args].blank?
    _apipie_dsl_data_clear
    return
  end

  begin
    _apipie_concern_data << [method_name, _apipie_dsl_data.merge(:from_concern => true)]
  ensure
    _apipie_dsl_data_clear
  end

end