lib/rspec_api_docs/formatter/resource.rb in rspec-api-docs-0.9.0 vs lib/rspec_api_docs/formatter/resource.rb in rspec-api-docs-0.10.0

- old
+ new

@@ -2,10 +2,12 @@ require 'rspec_api_docs/formatter/resource/parameter' require 'rspec_api_docs/formatter/resource/response_field' module RspecApiDocs class Resource + MAX_PRECEDENCE = 9_999 + attr_reader :rspec_example def initialize(rspec_example) @rspec_example = rspec_example @examples = [] @@ -15,11 +17,11 @@ # # E.g. "Characters" # # @return [String] def name - metadata.fetch(:resource_name, rspec_example.metadata[:example_group][:description]) + metadata.fetch(:resource_name) { rspec_example.metadata[:example_group][:description] } end # The description of the resource. # # E.g. "Orders can be created, viewed, and deleted" @@ -31,22 +33,29 @@ # Returns an array of {Example}s # # @return [Array<Example>] def examples - @examples.sort_by { |example| [example.precedence, example.name].join } + @examples.sort_by { |example| [example.precedence, example.name] } end # Add an example # # @return [void] def add_example(example) @examples << example end - # @return [String, nil] + # @return [Integer] def precedence - metadata[:resource_precedence] + @precedence ||= metadata.fetch(:resource_precedence, MAX_PRECEDENCE) + end + + # Set the resource precedence + # + # @return [void] + def precedence=(value) + @precedence = value end def inspect "#<RspecApiDocs::Resource #{name.inspect}, @examples=#{examples.inspect}>" end