betterdocs 0.9.0 → 0.9.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 898cb31684ff140af9ecf61096b64d952492ac57506dc999bb268c32096dc6a9
4
- data.tar.gz: 04b79eb4fff40704c3ad26bb617e7041192fa444c60275560ad316b8405a9578
3
+ metadata.gz: 0ade3c403e3b64e631aa874f8a041faa0060b271d7140f3e3b8651774ea68531
4
+ data.tar.gz: 8d0bd97c440253344047b7ee3a8ae27ba6c6d6f81e77b63399e25a69a5dbbee3
5
5
  SHA512:
6
- metadata.gz: 2d7803b3ef67bb50ec2d9d1c41def17965884f08afed3462925d32a7fe3c8277bbb22d4e12f850cc75f3307ff836c446ba15345be91575a20003a6f308b7dc27
7
- data.tar.gz: f4e1e14aa51e78ecc2904e91c57b13d6ca28d1ed39b68cf30746298c97e9bcbf7a7b1db9ef3c1a7b35047d934f08e24b983dff8203cdda01bf09d83c4663c552
6
+ metadata.gz: c0b80edb3b5fab827daa3630a53facaa5114604bd9e1ee7ed1618c28e7cbb8c7ba29068a148932a0510dc66295902ce0105fc14bfb6d861a0f559398cc4f121f
7
+ data.tar.gz: 20ec168d448cfec1c6bbed09ed30ef22fd8beeb9ec8c2a281f6da31594e900c755e80c285fd5cfb5669945d6ecf22c34814047c2a3ac4a1c0008128ee3c84da5
@@ -3,7 +3,7 @@ name: Betterdocs pipeline
3
3
  agent:
4
4
  machine:
5
5
  type: e1-standard-2
6
- os_image: ubuntu1804
6
+ os_image: ubuntu2004
7
7
 
8
8
  blocks:
9
9
  - name: "Unit Tests"
data/.tool-versions CHANGED
@@ -1 +1,2 @@
1
- ruby 3.0.2
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
- class ThingsController < ApplicationController
26
- # :nocov: Documentation
27
- doc :action do
28
- section :things_list
29
- title 'A List of things ⇄ [Details](things_details.md)'
30
- description to <<-end
31
- This action shows a list of things. **Markdown** can be used.
32
- end
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
- # :nocov: Documentation
52
- doc :action do
53
- section :things_details
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
- module ThingsRepresenter
81
-
82
- extend ActiveSupport::Concern
83
- include Betterdocs::Representer
82
+ ```ruby
83
+ module ThingsRepresenter
84
84
 
85
- property :microfleem_count, if: -> { has_microfleems? }, as: :number_of_fleems do
86
- description 'If we have microfleems, return the count'
87
- types Integer
88
- example '5000'
89
- end
85
+ extend ActiveSupport::Concern
86
+ include Betterdocs::Representer
90
87
 
91
- property :title, as: :name do
92
- description to <<-end
93
- Represent the internal field "title" as the name of the thing
94
- end
95
- types String
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
- link :self do
100
- description to <<-end
101
- Link to this resource itself
102
- (<a href="opinion_details.md">things details</a>)
103
- end
104
- url { thing_url(id) }
105
- end
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.0
1
+ 0.9.1
data/betterdocs.gemspec CHANGED
@@ -1,21 +1,21 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: betterdocs 0.9.0 ruby lib
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.0"
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 = "2021-09-21"
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.2.22".freeze
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.11.0"])
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.11.0"])
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"])
@@ -10,7 +10,7 @@ module Betterdocs
10
10
  end
11
11
 
12
12
  def sections
13
- Dir[config.api_controllers.to_s].each(&method(:load))
13
+ config.api_controllers.each(&method(:load))
14
14
  config.sections
15
15
  end
16
16
 
@@ -1,6 +1,6 @@
1
1
  module Betterdocs
2
2
  # Betterdocs version
3
- VERSION = '0.9.0'
3
+ VERSION = '0.9.1'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
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.0
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: 2021-09-21 00:00:00.000000000 Z
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.11.0
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.11.0
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.2.22
300
+ rubygems_version: 3.3.14
301
301
  signing_key:
302
302
  specification_version: 4
303
303
  summary: Betterplace API documentation library