Sha256: e172f3c6541c038b3cfc958bdc79f39db83f8ea26795b376a226335d1fb59bfa

Contents?: true

Size: 911 Bytes

Versions: 67

Compression:

Stored size: 911 Bytes

Contents

# A YARD handler to deal with the "property" DSL method.
class PropertyDslHandler < YARD::Handlers::Ruby::Base
  handles method_call(:property)
  namespace_only # Do not process nested method calls.

  def process
    name = statement.parameters.first.jump(:tstring_content, :ident).source
    object = YARD::CodeObjects::MethodObject.new(namespace, name)
    object.parameters = [['value', nil]]
    register(object)

    cf_property = statement.parameters[1].source
    docstring = <<-DOC
@overload #{name}

  Returns the value of the #{cf_property} CloudFormation property.
@overload #{name}(value)

  Sets the #{cf_property} CloudFormation property.

  @param value the value to set the #{cf_property} CloudFormation property to.
DOC
    object.docstring = docstring if object.docstring.blank?(false)

    # modify the object
    object.dynamic = true
    object.scope = :instance
    object.name
  end
end

Version data entries

67 entries across 67 versions & 1 rubygems

Version Path
convection-2.3.1 yard_extensions/properties_handler.rb
convection-2.3.0 yard_extensions/properties_handler.rb
convection-2.2.29 yard_extensions/properties_handler.rb
convection-2.2.28.pre.beta.2 yard_extensions/properties_handler.rb
convection-2.2.28.pre.beta.1 yard_extensions/properties_handler.rb
convection-2.2.27 yard_extensions/properties_handler.rb
convection-2.2.26 yard_extensions/properties_handler.rb
convection-2.2.25 yard_extensions/properties_handler.rb
convection-2.2.24 yard_extensions/properties_handler.rb
convection-2.2.23 yard_extensions/properties_handler.rb
convection-2.2.22 yard_extensions/properties_handler.rb
convection-2.2.21 yard_extensions/properties_handler.rb
convection-2.2.20 yard_extensions/properties_handler.rb
convection-2.2.19 yard_extensions/properties_handler.rb
convection-2.2.18 yard_extensions/properties_handler.rb
convection-2.2.17 yard_extensions/properties_handler.rb
convection-2.2.16 yard_extensions/properties_handler.rb
convection-2.2.15 yard_extensions/properties_handler.rb
convection-2.2.14 yard_extensions/properties_handler.rb
convection-2.2.13 yard_extensions/properties_handler.rb