class RspecApiDocs::Resource

Constants

MAX_PRECEDENCE

Attributes

rspec_example[R]

Public Class Methods

new(rspec_example) click to toggle source
# File lib/rspec_api_docs/formatter/resource.rb, line 11
def initialize(rspec_example)
  @rspec_example = rspec_example
  @examples = []
end

Public Instance Methods

add_example(example) click to toggle source

Add an example

@return [void]

# File lib/rspec_api_docs/formatter/resource.rb, line 44
def add_example(example)
  @examples << example
end
description() click to toggle source

The description of the resource.

E.g. “Orders can be created, viewed, and deleted”

@return [String]

# File lib/rspec_api_docs/formatter/resource.rb, line 30
def description
  metadata[:resource_description]
end
examples() click to toggle source

Returns an array of {Example}s

@return [Array<Example>]

# File lib/rspec_api_docs/formatter/resource.rb, line 37
def examples
  @examples.sort_by { |example| [example.precedence, example.name] }
end
inspect() click to toggle source
# File lib/rspec_api_docs/formatter/resource.rb, line 60
def inspect
  "#<RspecApiDocs::Resource #{name.inspect}, @examples=#{examples.inspect}>"
end
name() click to toggle source

The name of the resource.

E.g. “Characters”

@return [String]

# File lib/rspec_api_docs/formatter/resource.rb, line 21
def name
  metadata.fetch(:resource_name) { rspec_example.metadata[:example_group][:description] }
end
precedence() click to toggle source

@return [Integer]

# File lib/rspec_api_docs/formatter/resource.rb, line 49
def precedence
  @precedence ||= metadata.fetch(:resource_precedence, MAX_PRECEDENCE)
end
precedence=(value) click to toggle source

Set the resource precedence

@return [void]

# File lib/rspec_api_docs/formatter/resource.rb, line 56
def precedence=(value)
  @precedence = value
end

Private Instance Methods

metadata() click to toggle source
# File lib/rspec_api_docs/formatter/resource.rb, line 66
def metadata
  rspec_example.metadata[METADATA_NAMESPACE]
end