Commit Graph

105 Commits

Author SHA1 Message Date
Ewoud Kohl van Wijngaarden 9728d1004a
(PDOC-224) Handle --emit-json(-stdout) again 2018-03-01 18:28:48 +01:00
Hunter Haugen 378c01a719
Merge pull request #157 from eputnam/pdoc-184_2
(maint) do not display name if there is nothing to display
2018-02-26 14:13:31 -08:00
Eric Putnam 65bfdaf1de
remove displayed tag business 2018-02-26 13:50:19 -08:00
Eric Putnam 6923d9e18c
(maint) update table of contents
The table_of_contents template was already too bulky and redundant and recognizing public and private components was only going to make it worse. This refactors the toc template and the toc class to use a generic outline for all components.
2018-02-26 13:10:30 -08:00
Eugene Piven 4db84c81e5 Fix return type matching for Puppet functions 2018-02-23 13:56:55 +03:00
Eric Putnam 09a5d3e4ff
(maint) change template logic and add test 2018-02-22 16:07:39 -08:00
Eric Putnam 5a283c2212
(maint) do not display name if there is nothing to display
If there is a class, type, or function with no information documented but is pulled in by some fluke or tag we don't support, do not give it its own section
2018-02-22 11:21:06 -08:00
Hunter Haugen 7dff75642b
Merge pull request #156 from eputnam/pdoc184
(PDOC-184) generate markdown
2018-02-20 15:28:34 -08:00
Eric Putnam cc7ffae3a5
(maint) add new resource api output for json_spec 2018-02-20 14:49:45 -08:00
Eric Putnam 4ea43e03aa
re-add test for Puppet 3 function 2018-02-16 10:57:12 -08:00
Eric Putnam db88cd9857
(PDOC-184) custom_type back to resource_type 2018-02-16 09:29:50 -08:00
Eric Putnam 840dfca1bc
Merge pull request #152 from DavidS/codecov
Enable code coverage tracking
2018-02-14 08:59:09 -08:00
Eric Putnam 176d6d4d8c
(PDOC-184) refactoring because naming is hard 2018-02-12 16:11:52 -08:00
Eric Putnam f6cd3ff4a8
(PDOC-184) implemented option and raises tags
This implements the two remaining tags and removes the author tag. Had to do some deeper plumbing because options per function signature were not being passed along from YARD
2018-02-09 15:08:18 -08:00
Eric Putnam 56c24cc362
(PDOC-184) implement author tag
This implements the author tag. We also claim to support the 'raise' and 'option' tags, but I don't know that we need to. This also consolidates some code in base.rb and adds docs
2018-02-08 12:12:56 -08:00
Eric Putnam 1374b67da0
(PDOC-184) generate markdown
This change does a few things:
1. Fixes up new api handler to return the stuff we want
2. Adds all the logic to parse YARD registries into markdown
3. Adds templates for markdown
4. Changes Face cli to use a --format option that can be used for either
markdown or json
2018-02-07 14:04:19 -08:00
Eric Putnam 59aa812cda
Merge pull request #153 from DavidS/pdk-437-rsapi-types
(PDK-437) Add support for Resource API types
2018-02-02 09:41:23 -08:00
Eric Putnam ad35df8f89
yard is smarter now?
On the changed line, YARD thought the bin path given was a regex and was interpretting it as such. It is not a regex.
2018-01-29 16:07:57 -08:00
David Schmitt 5156e8db10 (PDK-437) Add support for Resource API types 2018-01-29 16:17:30 +00:00
David Schmitt 8364b8e685 Enable code coverage tracking 2018-01-26 14:09:20 +00:00
Jesse Scott e4ef0ed2f8 (MAINT) Fix up rubocop settings and clean up inconsistent indentation 2017-10-20 14:37:28 -07:00
Will Hopper 4990576f61 (PDOC-161) Add `summary` tag for short descriptions
This tag is primarily meant to be applied to Puppet classes,
but it is also supported by every other construct that can be
documented with strings.
2017-03-16 12:51:53 -07:00
Eric Thompson 7bc5fb7f7f (PDOC-144) acceptance: fix windows pre-suite
* install the correct CAs in the correct places so windows can install gems
* use a gem_command abstraction to find the correct puppet gem exe

[skip ci]
2017-02-07 00:35:33 +00:00
Will Hopper 2d0a1f0c70 (maint) Put provider command in quotes in JSON test 2017-01-10 13:59:41 -08:00
Will Hopper 165170c08b (PDOC-155) Allow type documentation in Puppet 4 code
Because Puppet 4 is typed, parameter type information can
be automatically determined without any explicit documentation
in @param tags. However, users may desire to do so anyway for
consistency. This commit allows @param tags to include a [type]
in Puppet 4 code. Strings will emit a warning if the documented
type does not match the actual type. In such an event, the incorrect
documented type will be ignored in favor of the real one.
2017-01-10 13:59:38 -08:00
Will Hopper bb9db53702 (PDOC-125) Update JSON acceptance test with signatures changes 2016-11-15 11:01:12 -08:00
Will Hopper f8c5628b66 (PDOC-125) Update JSON schema to reflect addition of `signatures` 2016-11-14 13:22:42 -08:00
Will Hopper e4df165489 (PDOC-125) Update JSON tests for `signatures` key 2016-11-14 13:05:07 -08:00
Will Hopper c56d9c60a4 (PDOC-129) Include tags in overload objects when serialized as JSON
Previously, overload objects were not displaying their tags when
they had no docstring text. This was due to an issue in the overload
`to_hash` method, which prevented the tags from being serialized when
the dispatch had no top-level text. This commit updates that logic
so that the tags will always be included in the hash if they exist.
2016-11-14 11:45:45 -08:00
Jesse Scott df8e58b0c8 Merge pull request #125 from whopper/PDOC-135/4x_dispatch_return_type
(PDOC-135) Detect `return_type` calls in 4.x function dispatches
2016-11-14 11:37:05 -08:00
Will Hopper 36bc0dd98c (PDOC-135) Detect `return_type` calls in 4.x function dispatches
Previously, Strings ignored calls to `return_type` in Puppet 4.x API
function dispatches, preventing the return types of overloads from
being automatically determined. This commit adds a check for a node
with a `return_type` call and handles it properly.
2016-11-14 11:04:41 -08:00
Will Hopper b3c8d52b25 (PDOC-136) Detect return type syntax in Puppet language functions
Previously, Strings ignored the return type in Puppet language functions
that used the following syntax:

function foo() >> String {}

This commit updates the FunctionStatement class to use the return
type from such a statement if it exists. In addition, Strings will
now emit a warning if the return type specified in the @return tag
doesn't match the type specified in the function definition.
2016-11-11 14:47:35 -08:00
Will Hopper c4705d9705 (PDOC-126) Add spec test for util module and scrub_string method 2016-10-28 11:54:48 -07:00
Will Hopper e291f8cfe9 (PDOC-126) Remove `%Q` ruby quotation syntax from parsed strings
Previously, YARD would parse ruby strings which used %Q notation
and return the syntax literally. This commit adds a new Util
module with a `scrub_string` method to check for such a string
and remove the errant %Q and %q's.
2016-10-28 11:54:34 -07:00
Will Hopper be0e93e3d6 (maint) Update line number in fixture to fix specs 2016-10-11 16:49:36 -07:00
Peter Huene 4f3f1e639e Merge pull request #111 from whopper/PDOC-95/master/multiple_defaultfor
(PDOC-95) Properly group and display multiple provider `defaultfor`s
2016-10-11 15:33:39 -07:00
Will Hopper d0f1fb7174 (PDOC-127) Strip whitespace from type feature docstrings 2016-10-11 14:48:02 -07:00
Will Hopper a5a3d6b48c (PDOC-95) Properly group and display multiple provider `defaultfor`s
Prior to this commit, strings did not properly handle providers
which had multiple related `defaultfor`s. In code, these are written
as comma-separated constraints. This commit updates strings' puppet
provider handler, as well as the template which generates HTML for
`defaultfor` statements.

Note that it was necessary to make a breaking change to the JSON
schema to accomodate multiple AND'ed defaults. Previously, provider
defaults were contained in a single key-value map. Now, they are
contained in an array of key-value lists, which allows multiple
constraints to be associated with each other.
2016-10-11 13:57:00 -07:00
Will Hopper ca98890cdd (PDOC-122) Properly parse `newfunction` calls with newlines
When `newfunction` is separated from the Puppet::Parser::Functions module name by a
newline, YARD ignores the namespace and uses `newfunction` as the source of the
first statement.

Prior to this commit, strings didn't recognize this case, and 3.x functions written
in this way were not parsed as functions. This commit updates the ruby function handler
to identify and properly parse 3.x functions that include a newline between the
Puppet::Parser::Function namespace and the newfunction method call.
2016-10-10 15:27:23 -07:00
Henrik Lindberg 7c475a5095 Merge pull request #105 from whopper/maint/code_coverage
(PDOC-88) Add additional spec and acceptance tests
2016-10-03 13:53:05 +02:00
Will Hopper c5e3d488da (PDOC-106) Add acceptance test for --emit-json CLI options 2016-09-30 16:35:48 -07:00
Will Hopper 3b66f5888f (maint) Refactor `generate` test to use acceptance helper method 2016-09-30 16:35:42 -07:00
Will Hopper 132d39066c (maint) Add acceptance libdir and Util helper module 2016-09-30 16:35:32 -07:00
Will Hopper 3af15ce4f1 (PDOC-88) Add tests for types and providers into acceptance 2016-09-30 15:08:19 -07:00
Will Hopper beb79d3a63 (PDOC-88) Add acceptance test for puppet functions 2016-09-30 13:39:09 -07:00
Will Hopper ef6db6df41 (PDOC-88) Add additional spec tests to increase code coverage 2016-09-29 14:48:07 -07:00
Peter Huene e5577e199c
(PDOC-63) Restore acceptance test to the spec directory.
Previously the acceptance test was implemented under the `spec` directory and
was moved out to a top level `acceptance` directory.

This broke the expected location for the node configuration files.

This commit puts the acceptance test back where it was previously.

Also fixes a failure in the test now that Markdown is the default markup
language used.
2016-09-16 15:42:00 -07:00
Peter Huene 9ba9b56306
(PDOC-63) Fix specs for Puppet versions less than 4.1.
The specs test functions written in the Puppet language in a few places, but
this feature is only supported in Puppet 4.1+.  This commit prevents these
specs from running if targeting older versions of Puppet.
2016-09-16 12:16:35 -07:00
Peter Huene 7897c70a52
(maint) RuboCop fixes.
This commit fixes a few RuboCop related failures.
2016-09-15 17:15:54 -07:00
Peter Huene cf77ef1379
(PDOC-63) Add specs to test the new implementation.
This commit adds specs to cover parts of the new implementation of Puppet
Strings.
2016-09-15 17:15:54 -07:00