yard-api 0.3.7 → 1.0.0
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/README.md +1 -59
- data/lib/yard-api/templates/helpers/route_helper.rb +11 -2
- data/lib/yard-api/version.rb +1 -1
- data/templates/api/fulldoc/json/setup.rb +21 -2
- data/yard-api.gemspec +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 031c5ccb5ac18f138c9853c00ac39135cbc8f5fa744a5fd7a0c1c31370202904
|
4
|
+
data.tar.gz: 71a71e187577a8797d7d41b726b3b3aa64a7effbbfebb8fc4410d41fd3169cd0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f484a14b069cacfd7d96af521c68ca11bcf4304348ea83b80e0f19ce966c143a3fcea2e0c16ab639a5769bb91358ef1ebb3e4bc131e5369dcb940f8ba37f8d3e
|
7
|
+
data.tar.gz: e8e20607a65b8ed3a432a21d1e08e7a5db512707f3d6dca37b1acf1c8285661f2afa7acae812c9543cb211df29d10e83803511a66322de16c9797cee8b006df1
|
data/README.md
CHANGED
@@ -40,65 +40,7 @@ Read that file to view all the available options.
|
|
40
40
|
|
41
41
|
## Changelog
|
42
42
|
|
43
|
-
|
44
|
-
|
45
|
-
- In JSON format, an API resource endpoint now contains the name as well.
|
46
|
-
- Changed the `topicize()` helper in a way that makes the IDs (and URLs of
|
47
|
-
some sections) much more readable
|
48
|
-
|
49
|
-
**23/8/2015 [0.3.4]**
|
50
|
-
|
51
|
-
- Fixed an issue that prevented overriding the Rake task's options at runtime.
|
52
|
-
- Updated `config/yard_api.yml` to reflect the recently added options.
|
53
|
-
|
54
|
-
**17/8/2015 [0.3.3]**
|
55
|
-
|
56
|
-
- Improved the JSON format's output to be more concise and consistent.
|
57
|
-
|
58
|
-
**30/7/2015 [0.3.1]**
|
59
|
-
|
60
|
-
- Fixed a bug that was listing all the endpoints of a certain controller even if they do not have a route defined. Now, YARD-API will warn about endpoints that have an `@API` tag but could not be routed.
|
61
|
-
- Greatly improved the performance of generating the Quicklinks table.
|
62
|
-
|
63
|
-
**29/7/2015 [0.3.0]**
|
64
|
-
|
65
|
-
- major rework of the linking logic, much improvements but some stuff is broken now
|
66
|
-
|
67
|
-
**28/7/2015 [0.2.3]**
|
68
|
-
|
69
|
-
- dropped the `@argument_scope` tag
|
70
|
-
- JSON is available as an output format now
|
71
|
-
- added usage documentation, found at [http://amireh.github.io/yard-api]
|
72
|
-
- added an example app
|
73
|
-
- various style improvements
|
74
|
-
- `@example_request` is now able to output a sample cURL command.
|
75
|
-
|
76
|
-
**0.1.7**
|
77
|
-
|
78
|
-
- new compatibility option `leading_argument_name_fix`
|
79
|
-
|
80
|
-
**15/9/2014**
|
81
|
-
|
82
|
-
- `@argument` tags can now be formatted in a table by setting the `tabular_arguments` option to true
|
83
|
-
- `@argument_scope`: a new tag that improves the formatting of endpoint arguments that are scoped by a common prefix (e.g, nested inside a json object), like `user[name]` => `name`
|
84
|
-
- `@argument` can now parse accepted values in two formats; inline within the types array, or by explicitly writing it in the tag text using any of `Accepted values: [...]`, `Accepts: [...]`, or `Possible values: [...]`
|
85
|
-
- A new option: `strict_arguments` that provides a default for the `is_required` property of `@argument` tags. This default is used if the tag does not explicitly state `Optional` or `Required` in its type specifier.
|
86
|
-
- Support for dynamic javascript and style code based on options. See `templates/layout/setup.rb#inline_{javascripts,stylesheets}`
|
87
|
-
- A new set of options for customizing layout: `content_width`, `sidebar_width` and `spacer`
|
88
|
-
- `github_url` and `github_branch` options for tuning api endpoint source links
|
89
|
-
|
90
|
-
**14/9/2014**
|
91
|
-
|
92
|
-
- Support for single-page output through the `one_file` option
|
93
|
-
- Support for resource index generation ("All Resources") through the `resource_index` option
|
94
|
-
|
95
|
-
**10/9/2014**
|
96
|
-
|
97
|
-
- Support for github-flavored markdown when you're using Markdown as a markup, and `redcarpet` as the provider
|
98
|
-
- Syntax highlighting for multiple languages (with auto-detection) using [highlight.js](https://highlightjs.org/)
|
99
|
-
- `@example_response` and `@example_request` tags now support a title for the response
|
100
|
-
- A new option: `copyright` for displaying a copyright in the footer of every page
|
101
|
-
- A new option: `footer_note` for displaying a custom note, like linking to the project's source code, in the footer of every page
|
43
|
+
See CHANGES.md.
|
102
44
|
|
103
45
|
## License
|
104
46
|
|
@@ -31,8 +31,17 @@ module YARD::Templates::Helpers
|
|
31
31
|
end
|
32
32
|
|
33
33
|
def get_route_verb(route)
|
34
|
-
|
34
|
+
verb = route.verb
|
35
|
+
|
36
|
+
case verb
|
37
|
+
when Regexp
|
38
|
+
verb.source =~ /\^?(\w*)\$/ ? $1.upcase : verb.source
|
39
|
+
when String
|
40
|
+
verb
|
41
|
+
else
|
42
|
+
"???"
|
43
|
+
end
|
35
44
|
end
|
36
45
|
end
|
37
46
|
end
|
38
|
-
end
|
47
|
+
end
|
data/lib/yard-api/version.rb
CHANGED
@@ -55,7 +55,22 @@ def dump_object(obj)
|
|
55
55
|
is_required = prop.has_key?('required') ? prop['required'] : false
|
56
56
|
is_required_str = is_required ? 'Required' : 'Optional'
|
57
57
|
|
58
|
-
|
58
|
+
{
|
59
|
+
"name" => prop_name,
|
60
|
+
"types" => Array(prop["type"]),
|
61
|
+
"is_required" => !!prop["required"],
|
62
|
+
"text" => prop.fetch('description', ''),
|
63
|
+
"example" => prop['example'],
|
64
|
+
"accepted_values" => Array(
|
65
|
+
first_in([
|
66
|
+
"accepted values",
|
67
|
+
"accepted_values",
|
68
|
+
"accepts",
|
69
|
+
"accepted",
|
70
|
+
"acceptable values",
|
71
|
+
], prop)
|
72
|
+
)
|
73
|
+
}
|
59
74
|
end
|
60
75
|
|
61
76
|
{
|
@@ -64,7 +79,7 @@ def dump_object(obj)
|
|
64
79
|
title: title,
|
65
80
|
text: spec['description'] || '',
|
66
81
|
controller: obj.object.path,
|
67
|
-
schema: schema_tags
|
82
|
+
schema: schema_tags
|
68
83
|
}
|
69
84
|
end
|
70
85
|
|
@@ -126,3 +141,7 @@ def get_route(object)
|
|
126
141
|
}
|
127
142
|
end
|
128
143
|
end
|
144
|
+
|
145
|
+
def first_in(keys, obj)
|
146
|
+
obj[keys.detect { |k| obj.key?(k) }]
|
147
|
+
end
|
data/yard-api.gemspec
CHANGED
@@ -15,7 +15,7 @@ Gem::Specification.new do |s|
|
|
15
15
|
['LICENSE', 'README.md', '.rspec', __FILE__]
|
16
16
|
s.has_rdoc = 'yard'
|
17
17
|
s.license = 'AGPL-3.0'
|
18
|
-
s.add_dependency 'yard', '0.
|
18
|
+
s.add_dependency 'yard', '~> 0.9.15'
|
19
19
|
s.add_dependency 'yard-appendix', '~> 0.1.8'
|
20
20
|
s.add_development_dependency 'rspec', '~> 3.3'
|
21
21
|
end
|
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: yard-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ahmad Amireh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-
|
11
|
+
date: 2018-07-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: yard
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 0.
|
19
|
+
version: 0.9.15
|
20
20
|
type: :runtime
|
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: 0.
|
26
|
+
version: 0.9.15
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: yard-appendix
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|