betterdocs 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.semaphore/semaphore.yml +1 -1
- data/.tool-versions +2 -1
- data/README.md +73 -69
- data/VERSION +1 -1
- data/betterdocs.gemspec +6 -6
- data/lib/betterdocs/generator/config_shortcuts.rb +1 -1
- data/lib/betterdocs/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0ade3c403e3b64e631aa874f8a041faa0060b271d7140f3e3b8651774ea68531
|
4
|
+
data.tar.gz: 8d0bd97c440253344047b7ee3a8ae27ba6c6d6f81e77b63399e25a69a5dbbee3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c0b80edb3b5fab827daa3630a53facaa5114604bd9e1ee7ed1618c28e7cbb8c7ba29068a148932a0510dc66295902ce0105fc14bfb6d861a0f559398cc4f121f
|
7
|
+
data.tar.gz: 20ec168d448cfec1c6bbed09ed30ef22fd8beeb9ec8c2a281f6da31594e900c755e80c285fd5cfb5669945d6ecf22c34814047c2a3ac4a1c0008128ee3c84da5
|
data/.semaphore/semaphore.yml
CHANGED
data/.tool-versions
CHANGED
@@ -1 +1,2 @@
|
|
1
|
-
ruby 3.0.
|
1
|
+
ruby 3.0.4
|
2
|
+
bundler 2.3.8
|
data/README.md
CHANGED
@@ -22,88 +22,92 @@ This api generator requires that you follow the [representer pattern](http://nic
|
|
22
22
|
|
23
23
|
## Controller
|
24
24
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
param :order do
|
35
|
-
description to <<-end
|
36
|
-
Optional parameter to order the list.
|
37
|
-
end
|
38
|
-
required no
|
39
|
-
value 'created_at:ASC'
|
40
|
-
end
|
41
|
-
|
42
|
-
response do
|
43
|
-
generate_fake_result_with_representer
|
44
|
-
end
|
45
|
-
end
|
46
|
-
# :nocov:
|
47
|
-
def index
|
48
|
-
render json: real_result_with_representer
|
49
|
-
end
|
25
|
+
```ruby
|
26
|
+
class ThingsController < ApplicationController
|
27
|
+
# :nocov: Documentation
|
28
|
+
doc :action do
|
29
|
+
section :things_list
|
30
|
+
title 'A List of things ⇄ [Details](things_details.md)'
|
31
|
+
description to <<-end
|
32
|
+
This action shows a list of things. **Markdown** can be used.
|
33
|
+
end
|
50
34
|
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
title 'Things Details ⇄ [List](things_list.md)'
|
55
|
-
description to <<-end
|
56
|
-
The details of a thing. You must give an id for the thing
|
57
|
-
end
|
58
|
-
|
59
|
-
param :thing_id do
|
60
|
-
description 'The id of the thing you want to see. Required.'
|
61
|
-
required yes # this is the default
|
62
|
-
value 38
|
63
|
-
end
|
64
|
-
|
65
|
-
response do
|
66
|
-
generate_fake_details_response_with_representer
|
67
|
-
end
|
68
|
-
end
|
69
|
-
# :nocov:
|
70
|
-
def show
|
71
|
-
render json: real_result_with_representer
|
35
|
+
param :order do
|
36
|
+
description to <<-end
|
37
|
+
Optional parameter to order the list.
|
72
38
|
end
|
39
|
+
required no
|
40
|
+
value 'created_at:ASC'
|
41
|
+
end
|
42
|
+
|
43
|
+
response do
|
44
|
+
generate_fake_result_with_representer
|
45
|
+
end
|
46
|
+
end
|
47
|
+
# :nocov:
|
48
|
+
def index
|
49
|
+
render json: real_result_with_representer
|
50
|
+
end
|
51
|
+
|
52
|
+
# :nocov: Documentation
|
53
|
+
doc :action do
|
54
|
+
section :things_details
|
55
|
+
title 'Things Details ⇄ [List](things_list.md)'
|
56
|
+
description to <<-end
|
57
|
+
The details of a thing. You must give an id for the thing
|
58
|
+
end
|
59
|
+
|
60
|
+
param :thing_id do
|
61
|
+
description 'The id of the thing you want to see. Required.'
|
62
|
+
required yes # this is the default
|
63
|
+
value 38
|
64
|
+
end
|
65
|
+
|
66
|
+
response do
|
67
|
+
generate_fake_details_response_with_representer
|
73
68
|
end
|
69
|
+
end
|
70
|
+
# :nocov:
|
71
|
+
def show
|
72
|
+
render json: real_result_with_representer
|
73
|
+
end
|
74
|
+
end
|
75
|
+
```
|
74
76
|
|
75
77
|
## Representer
|
76
78
|
|
77
79
|
Betterdocs comes with its own representer class. It is not documented
|
78
80
|
yet but works kind of like [ROAR](https://github.com/apotonick/roar).
|
79
81
|
|
80
|
-
|
81
|
-
|
82
|
-
extend ActiveSupport::Concern
|
83
|
-
include Betterdocs::Representer
|
82
|
+
```ruby
|
83
|
+
module ThingsRepresenter
|
84
84
|
|
85
|
-
|
86
|
-
|
87
|
-
types Integer
|
88
|
-
example '5000'
|
89
|
-
end
|
85
|
+
extend ActiveSupport::Concern
|
86
|
+
include Betterdocs::Representer
|
90
87
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
example 'my_name'
|
97
|
-
end
|
88
|
+
property :microfleem_count, if: -> { has_microfleems? }, as: :number_of_fleems do
|
89
|
+
description 'If we have microfleems, return the count'
|
90
|
+
types Integer
|
91
|
+
example '5000'
|
92
|
+
end
|
98
93
|
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
94
|
+
property :title, as: :name do
|
95
|
+
description to <<-end
|
96
|
+
Represent the internal field "title" as the name of the thing
|
97
|
+
end
|
98
|
+
types String
|
99
|
+
example 'my_name'
|
100
|
+
end
|
101
|
+
|
102
|
+
link :self do
|
103
|
+
description to <<-end
|
104
|
+
Link to this resource itself
|
105
|
+
(<a href="opinion_details.md">things details</a>)
|
106
106
|
end
|
107
|
+
url { thing_url(id) }
|
108
|
+
end
|
109
|
+
end
|
110
|
+
```
|
107
111
|
|
108
112
|
AUTHORS
|
109
113
|
-------
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.9.
|
1
|
+
0.9.1
|
data/betterdocs.gemspec
CHANGED
@@ -1,21 +1,21 @@
|
|
1
1
|
# -*- encoding: utf-8 -*-
|
2
|
-
# stub: betterdocs 0.9.
|
2
|
+
# stub: betterdocs 0.9.1 ruby lib
|
3
3
|
|
4
4
|
Gem::Specification.new do |s|
|
5
5
|
s.name = "betterdocs".freeze
|
6
|
-
s.version = "0.9.
|
6
|
+
s.version = "0.9.1"
|
7
7
|
|
8
8
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
9
9
|
s.require_paths = ["lib".freeze]
|
10
10
|
s.authors = ["betterplace Developers".freeze]
|
11
|
-
s.date = "
|
11
|
+
s.date = "2022-07-14"
|
12
12
|
s.description = "This library provides tools to generate API documention for a web site's REST-ful JSON API.".freeze
|
13
13
|
s.email = "developers@betterplace.org".freeze
|
14
14
|
s.extra_rdoc_files = ["README.md".freeze, "lib/betterdocs.rb".freeze, "lib/betterdocs/controller_collector.rb".freeze, "lib/betterdocs/dsl.rb".freeze, "lib/betterdocs/dsl/common.rb".freeze, "lib/betterdocs/dsl/controller.rb".freeze, "lib/betterdocs/dsl/controller/action.rb".freeze, "lib/betterdocs/dsl/controller/action/param.rb".freeze, "lib/betterdocs/dsl/controller/action/response.rb".freeze, "lib/betterdocs/dsl/controller/controller.rb".freeze, "lib/betterdocs/dsl/controller/controller_base.rb".freeze, "lib/betterdocs/dsl/json_params.rb".freeze, "lib/betterdocs/dsl/json_params/param.rb".freeze, "lib/betterdocs/dsl/json_type_mapper.rb".freeze, "lib/betterdocs/dsl/naming.rb".freeze, "lib/betterdocs/dsl/representer.rb".freeze, "lib/betterdocs/dsl/result.rb".freeze, "lib/betterdocs/dsl/result/collection_property.rb".freeze, "lib/betterdocs/dsl/result/link.rb".freeze, "lib/betterdocs/dsl/result/property.rb".freeze, "lib/betterdocs/generator/config_shortcuts.rb".freeze, "lib/betterdocs/generator/markdown.rb".freeze, "lib/betterdocs/generator/swagger.rb".freeze, "lib/betterdocs/global.rb".freeze, "lib/betterdocs/json_params_representer.rb".freeze, "lib/betterdocs/json_params_representer_collector.rb".freeze, "lib/betterdocs/json_time_with_zone.rb".freeze, "lib/betterdocs/mix_into_controller.rb".freeze, "lib/betterdocs/railtie.rb".freeze, "lib/betterdocs/rake_tasks.rb".freeze, "lib/betterdocs/representer.rb".freeze, "lib/betterdocs/result_representer.rb".freeze, "lib/betterdocs/result_representer_collector.rb".freeze, "lib/betterdocs/sanitizer.rb".freeze, "lib/betterdocs/section.rb".freeze, "lib/betterdocs/version.rb".freeze]
|
15
15
|
s.files = [".codeclimate.yml".freeze, ".gitignore".freeze, ".rspec".freeze, ".semaphore/semaphore.yml".freeze, ".tool-versions".freeze, ".vscode/settings.json".freeze, "COPYING".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "betterdocs.gemspec".freeze, "lib/betterdocs.rb".freeze, "lib/betterdocs/controller_collector.rb".freeze, "lib/betterdocs/dsl.rb".freeze, "lib/betterdocs/dsl/common.rb".freeze, "lib/betterdocs/dsl/controller.rb".freeze, "lib/betterdocs/dsl/controller/action.rb".freeze, "lib/betterdocs/dsl/controller/action/param.rb".freeze, "lib/betterdocs/dsl/controller/action/response.rb".freeze, "lib/betterdocs/dsl/controller/controller.rb".freeze, "lib/betterdocs/dsl/controller/controller_base.rb".freeze, "lib/betterdocs/dsl/json_params.rb".freeze, "lib/betterdocs/dsl/json_params/param.rb".freeze, "lib/betterdocs/dsl/json_type_mapper.rb".freeze, "lib/betterdocs/dsl/naming.rb".freeze, "lib/betterdocs/dsl/representer.rb".freeze, "lib/betterdocs/dsl/result.rb".freeze, "lib/betterdocs/dsl/result/collection_property.rb".freeze, "lib/betterdocs/dsl/result/link.rb".freeze, "lib/betterdocs/dsl/result/property.rb".freeze, "lib/betterdocs/generator/config_shortcuts.rb".freeze, "lib/betterdocs/generator/markdown.rb".freeze, "lib/betterdocs/generator/markdown/templates/README.md.erb".freeze, "lib/betterdocs/generator/markdown/templates/section.md.erb".freeze, "lib/betterdocs/generator/swagger.rb".freeze, "lib/betterdocs/generator/swagger_static/index.html".freeze, "lib/betterdocs/global.rb".freeze, "lib/betterdocs/json_params_representer.rb".freeze, "lib/betterdocs/json_params_representer_collector.rb".freeze, "lib/betterdocs/json_time_with_zone.rb".freeze, "lib/betterdocs/mix_into_controller.rb".freeze, "lib/betterdocs/railtie.rb".freeze, "lib/betterdocs/rake_tasks.rb".freeze, "lib/betterdocs/representer.rb".freeze, "lib/betterdocs/result_representer.rb".freeze, "lib/betterdocs/result_representer_collector.rb".freeze, "lib/betterdocs/sanitizer.rb".freeze, "lib/betterdocs/section.rb".freeze, "lib/betterdocs/tasks/doc.rake".freeze, "lib/betterdocs/version.rb".freeze, "spec/assets/app/assets/images/logos/logo.png".freeze, "spec/assets/app/controllers/api/foos_controller.rb".freeze, "spec/assets/app/views/api_v4/documentation/assets/CHANGELOG.md".freeze, "spec/assets/config/betterdocs.yml".freeze, "spec/betterdocs/dsl/controller/action/param_spec.rb".freeze, "spec/betterdocs/dsl/controller/action/response_spec.rb".freeze, "spec/betterdocs/dsl/json_type_mapper_spec.rb".freeze, "spec/betterdocs/dsl/result/collection_property_spec.rb".freeze, "spec/betterdocs/dsl/result/link_spec.rb".freeze, "spec/betterdocs/dsl/result/property_spec.rb".freeze, "spec/betterdocs/generator/markdown_spec.rb".freeze, "spec/betterdocs/global_spec.rb".freeze, "spec/betterdocs/json_params_representer_spec.rb".freeze, "spec/betterdocs/result_representer_spec.rb".freeze, "spec/betterdocs/sanitizer_spec.rb".freeze, "spec/controller_dsl_spec.rb".freeze, "spec/result_representer_dsl_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
16
16
|
s.homepage = "http://github.com/betterplace/betterdocs".freeze
|
17
17
|
s.rdoc_options = ["--title".freeze, "Betterdocs".freeze, "--main".freeze, "README.md".freeze]
|
18
|
-
s.rubygems_version = "3.
|
18
|
+
s.rubygems_version = "3.3.14".freeze
|
19
19
|
s.summary = "Betterplace API documentation library".freeze
|
20
20
|
s.test_files = ["spec/assets/app/controllers/api/foos_controller.rb".freeze, "spec/betterdocs/dsl/controller/action/param_spec.rb".freeze, "spec/betterdocs/dsl/controller/action/response_spec.rb".freeze, "spec/betterdocs/dsl/json_type_mapper_spec.rb".freeze, "spec/betterdocs/dsl/result/collection_property_spec.rb".freeze, "spec/betterdocs/dsl/result/link_spec.rb".freeze, "spec/betterdocs/dsl/result/property_spec.rb".freeze, "spec/betterdocs/generator/markdown_spec.rb".freeze, "spec/betterdocs/global_spec.rb".freeze, "spec/betterdocs/json_params_representer_spec.rb".freeze, "spec/betterdocs/result_representer_spec.rb".freeze, "spec/betterdocs/sanitizer_spec.rb".freeze, "spec/controller_dsl_spec.rb".freeze, "spec/result_representer_dsl_spec.rb".freeze, "spec/spec_helper.rb".freeze]
|
21
21
|
|
@@ -24,7 +24,7 @@ Gem::Specification.new do |s|
|
|
24
24
|
end
|
25
25
|
|
26
26
|
if s.respond_to? :add_runtime_dependency then
|
27
|
-
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.
|
27
|
+
s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
|
28
28
|
s.add_development_dependency(%q<rake>.freeze, [">= 0"])
|
29
29
|
s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
|
30
30
|
s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
|
@@ -35,7 +35,7 @@ Gem::Specification.new do |s|
|
|
35
35
|
s.add_runtime_dependency(%q<infobar>.freeze, [">= 0"])
|
36
36
|
s.add_runtime_dependency(%q<mize>.freeze, [">= 0"])
|
37
37
|
else
|
38
|
-
s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.
|
38
|
+
s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
|
39
39
|
s.add_dependency(%q<rake>.freeze, [">= 0"])
|
40
40
|
s.add_dependency(%q<simplecov>.freeze, [">= 0"])
|
41
41
|
s.add_dependency(%q<rspec>.freeze, [">= 0"])
|
data/lib/betterdocs/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: betterdocs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.9.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- betterplace Developers
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: gem_hadar
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: 1.12.0
|
20
20
|
type: :development
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: 1.12.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rake
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -297,7 +297,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
297
297
|
- !ruby/object:Gem::Version
|
298
298
|
version: '0'
|
299
299
|
requirements: []
|
300
|
-
rubygems_version: 3.
|
300
|
+
rubygems_version: 3.3.14
|
301
301
|
signing_key:
|
302
302
|
specification_version: 4
|
303
303
|
summary: Betterplace API documentation library
|