module Apipie::DSL::Concern

Public Instance Methods

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

the concern was included into a controller

Calls superclass method
# File lib/apipie/dsl_definition.rb, line 424
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 442
def method_added(method_name) #:doc:
  super

  return if ! Apipie.active_dsl? || !_apipie_dsl_data[:api]

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