Sha256: 5cc4ba74c88d74f04d8713ca73ad6df27d863e27fc22faf2daae9d8cbfdd14fd

Contents?: true

Size: 1.28 KB

Versions: 15

Compression:

Stored size: 1.28 KB

Contents

require 'rspec_api_docs/formatter/renderer/raddocs_renderer/link'
require 'rspec_api_docs/formatter/resource'

module RspecApiDocs
  module Renderer
    class RaddocsRenderer
      class IndexSerializer
        class ExampleSerializer
          attr_reader :example, :resource_name

          def initialize(example, resource_name)
            @example = example
            @resource_name = resource_name
          end

          def to_h
            {
              description: example.name,
              link: link,
              groups: groups,
              route: example.path,
              method: example.http_method.downcase,
            }
          end

          private

          def link
            Link.(resource_name, example.name)
          end

          def groups
            'all'
          end
        end

        attr_reader :resources

        def initialize(resources)
          @resources = resources
        end

        def to_h
          {
            resources: resources.map do |resource|
              {
                name: resource.name,
                explanation: nil,
                examples: resource.examples.map { |example| ExampleSerializer.new(example, resource.name).to_h },
              }
            end,
          }
        end
      end
    end
  end
end

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
rspec-api-docs-1.1.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-1.0.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.14.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.13.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.12.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.11.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.10.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.9.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.8.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.7.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.6.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.5.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.4.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.3.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb
rspec-api-docs-0.2.0 lib/rspec_api_docs/formatter/renderer/raddocs_renderer/index_serializer.rb