9

I have an ActiveRecord class similar to this:

class User < ActiveRecord::Base

  # How do I document this?
  enum status [:registering, :active, :suspended, :deleted]
end

status attribute is used to build a state machine. How do I document that line of code using yard? The documentation needs to contain explanation of status attribute and all it's possible states.

Favourite Onwuemene
  • 4,247
  • 8
  • 28
  • 46

2 Answers2

7

Just list all options as comma separated list.

class User < ActiveRecord::Base

  # @!attribute [rw] status
  #   @return [:registering, :active, :suspended, :deleted]
  enum status [:registering, :active, :suspended, :deleted]
end

If you are not sure about type definition, you may consult with YARD Type Parser:

Tema Bolshakov
  • 1,128
  • 8
  • 14
6
class User < ActiveRecord::Base

  # @attr [Enumerable<Symbol>] status
  enum status [:registering, :active, :suspended, :deleted]
end
Community
  • 1
  • 1
John Pollard
  • 3,729
  • 3
  • 24
  • 50