No release in over 3 years
Low commit activity in last 3 years
There's a lot of open issues
YARD-Activerecord is a YARD extension that handles and interprets methods used when developing applications with ActiveRecord. The extension handles attributes, associations, delegates and scopes. A must for any Rails app using YARD as documentation plugin.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

>= 0

Runtime

>= 0.8.3
 Project Readme

YARD ActiveRecord Plugin

Version Downloads Open Github issues

A YARD extension that handles and interprets methods used when developing applications with ActiveRecord. The extension handles attributes, associations, delegates and scopes. A must for any Rails app using YARD as documentation plugin.

Installation

Run the following command in order to load YARD plugins:

$ yard config load_plugins true

Attributes

In order for this plugin to document any database attributes you need to add schema.rb to your list of files. This is preferably done with in .yardopts within your app project folder:

# .yardopts
'app/**/*.rb'
'db/schema.rb'

It's important that the schema.rb-file is added at the end as it needs all classes loaded before it can add the attributes.

The plugin will then document all attributes in your documentation.

All attributes will be marked as writable. I will update the plugin to include handling of attr_accessible at a later point.

Please note that any reference-fields that ends with _id will not be handled as an attribute. Please see Associations.

Associations

The plugin handles has_one, belongs_to, has_many and has_and_belongs_to_many associations. The annotation for each association includes a link to the referred model. For associations with a list of objects the documentation will simply be marked as ActiveRecord::Relation<ModelName>.

Delegates

The plugin handles delegate-methods and marks these delegated instance methods simply as aliases for the associated object.

Scopes

The plugin will add class methods for any scopes you have defined in your models.

Validations

The plugin will add information about validations onto each field. It only handles the new style validations in the form of:

validates :foo, :presence=>true, :length=>{ is: 6 }

Validations in the older form of:

validates_presence_of :foo

are not supported.

Other useful plugins

Check out: