puppet-strings 2.1.0 → 2.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/CHANGELOG.md +18 -3
  3. data/Gemfile +3 -2
  4. data/Rakefile +5 -0
  5. data/lib/puppet-strings.rb +10 -1
  6. data/lib/puppet-strings/describe.rb +68 -0
  7. data/lib/puppet-strings/json.rb +0 -38
  8. data/lib/puppet-strings/markdown/base.rb +18 -16
  9. data/lib/puppet-strings/markdown/templates/function.erb +26 -0
  10. data/lib/puppet-strings/markdown/templates/resource_type.erb +4 -0
  11. data/lib/puppet-strings/tasks/generate.rb +7 -1
  12. data/lib/puppet-strings/version.rb +1 -1
  13. data/lib/puppet-strings/yard/code_objects/class.rb +1 -1
  14. data/lib/puppet-strings/yard/code_objects/defined_type.rb +1 -1
  15. data/lib/puppet-strings/yard/code_objects/function.rb +3 -3
  16. data/lib/puppet-strings/yard/code_objects/plan.rb +1 -1
  17. data/lib/puppet-strings/yard/code_objects/provider.rb +1 -1
  18. data/lib/puppet-strings/yard/code_objects/type.rb +3 -2
  19. data/lib/puppet-strings/yard/handlers.rb +1 -0
  20. data/lib/puppet-strings/yard/handlers/ruby/base.rb +11 -0
  21. data/lib/puppet-strings/yard/handlers/ruby/function_handler.rb +1 -9
  22. data/lib/puppet-strings/yard/handlers/ruby/provider_handler.rb +1 -9
  23. data/lib/puppet-strings/yard/handlers/ruby/rsapi_handler.rb +1 -1
  24. data/lib/puppet-strings/yard/handlers/ruby/type_base.rb +130 -0
  25. data/lib/puppet-strings/yard/handlers/ruby/type_extras_handler.rb +56 -0
  26. data/lib/puppet-strings/yard/handlers/ruby/type_handler.rb +3 -115
  27. data/lib/puppet-strings/yard/parsers/json/parser.rb +3 -1
  28. data/lib/puppet-strings/yard/tags/overload_tag.rb +1 -1
  29. data/lib/puppet-strings/yard/util.rb +48 -0
  30. data/lib/puppet/face/strings.rb +66 -1
  31. data/spec/fixtures/unit/markdown/output.md +64 -0
  32. data/spec/fixtures/unit/markdown/output_with_plan.md +64 -0
  33. data/spec/spec_helper.rb +1 -0
  34. data/spec/unit/puppet-strings/describe_spec.rb +141 -0
  35. data/spec/unit/puppet-strings/json_spec.rb +65 -11
  36. data/spec/unit/puppet-strings/markdown_spec.rb +13 -0
  37. data/spec/unit/puppet-strings/yard/handlers/json/task_handler_spec.rb +4 -12
  38. data/spec/unit/puppet-strings/yard/handlers/ruby/function_handler_spec.rb +1 -1
  39. data/spec/unit/puppet-strings/yard/handlers/ruby/rsapi_handler_spec.rb +21 -0
  40. data/spec/unit/puppet-strings/yard/handlers/ruby/type_handler_spec.rb +26 -0
  41. data/spec/unit/puppet-strings/yard/parsers/json/parser_spec.rb +5 -3
  42. metadata +7 -6
  43. data/spec/fixtures/unit/json/output.json +0 -660
  44. data/spec/fixtures/unit/json/output_with_plan.json +0 -697
  45. data/spec/fixtures/unit/json/output_without_puppet_function.json +0 -480
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA256:
3
- metadata.gz: b656b5430c108d15ea909e2381ca758884b51c910505ab36880f76be538b5eff
4
- data.tar.gz: 6951a084211bbdc7d0d760865acae0e839ceadadd8df337d33938097083b4bc1
2
+ SHA1:
3
+ metadata.gz: 9556dd124a1f5f4dfcaf4457232efbea310988d8
4
+ data.tar.gz: 3ef01d946f16d66c1d3af2c32345a90364ef57c6
5
5
  SHA512:
6
- metadata.gz: 0c359ad4b8a62e978e16f01cf17a50e86d9c011fc13ce3bde9757f2f57074d92c8df7b78119b88bd8551510adb3cf2cbe5adb5644e99e2415ed830d6744eccfe
7
- data.tar.gz: ed4d414529d500e4dfa696271e757c4daecd3df98c89ab83b2c7f956ac16a1392779c3fcf0d601d1c91c70a75a0e8745ce36bfef6679dac9f36a7cc3428aca76
6
+ metadata.gz: 516ae9d909f068fc6c25cbb0f8839b06a16509201bfb7081f0f9ee985088a740780495ce00d50ac5d1c12560ac6d35fad7d2234dc31fc206ad79aa3ce8d5ddbb
7
+ data.tar.gz: eb5ec2204cac028fa9a27d7c5536694e3f07669d854e7323dba6d03d7cfeff369b92358ee19d4db9cb43fcc44df0f57540b1b41080eca6f1e21fc759e1c8d011
@@ -3,16 +3,31 @@
3
3
  All significant changes to this repo will be summarized in this file.
4
4
 
5
5
 
6
- ## [v2.1.0](https://github.com/puppetlabs/puppet-strings/tree/v2.1.0) (2018-06-25)
6
+ ## [v2.2.0](https://github.com/puppetlabs/puppet-strings/tree/v2.2.0) (2019-04-05)
7
+
8
+ [Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/v2.1.0...v2.2.0)
9
+
10
+ Added
11
+
12
+ - \(PDOC-272\) Add required features attribute [\#194](https://github.com/puppetlabs/puppet-strings/pull/194) ([kris-bosland](https://github.com/kris-bosland))
13
+ - \(maint\) Implement a strings:generate:reference task [\#192](https://github.com/puppetlabs/puppet-strings/pull/192) ([ekohl](https://github.com/ekohl))
14
+ - \(PDOC-265\) Add examples to function reference docs [\#188](https://github.com/puppetlabs/puppet-strings/pull/188) ([ekohl](https://github.com/ekohl))
15
+ - \(PDOC-252\) Add describe features to puppet-strings face [\#183](https://github.com/puppetlabs/puppet-strings/pull/183) ([kris-bosland](https://github.com/kris-bosland))
16
+
17
+ Fixed
18
+
19
+ - \(PDOC-266\) Silence 'unexpected construct regexp\_literal' warning [\#189](https://github.com/puppetlabs/puppet-strings/pull/189) ([seanmil](https://github.com/seanmil))
20
+
21
+ ## [v2.1.0](https://github.com/puppetlabs/puppet-strings/tree/v2.1.0) (2018-06-26)
7
22
 
8
23
  [Full Changelog](https://github.com/puppetlabs/puppet-strings/compare/2.0.0...v2.1.0)
9
24
 
10
- **Implemented enhancements:**
25
+ Added
11
26
 
12
27
  - \(PDOC-212, PDOC-213\) add support for @note and @todo [\#182](https://github.com/puppetlabs/puppet-strings/pull/182) ([eputnam](https://github.com/eputnam))
13
28
  - \(PDOC-255\) markdown table of contents update [\#181](https://github.com/puppetlabs/puppet-strings/pull/181) ([eputnam](https://github.com/eputnam))
14
29
 
15
- **Merged pull requests:**
30
+ Fixed
16
31
 
17
32
  - \(PDOC-259\) relax ruby requirement to 2.1.0 from 2.1.9 [\#184](https://github.com/puppetlabs/puppet-strings/pull/184) ([DavidS](https://github.com/DavidS))
18
33
 
data/Gemfile CHANGED
@@ -18,7 +18,8 @@ group :test do
18
18
  gem 'puppetlabs_spec_helper'
19
19
  gem 'serverspec'
20
20
  gem 'simplecov-console'
21
- gem "rspec", "~> 3.1"
21
+ gem 'rspec', '~> 3.1'
22
+ gem 'json_spec', '~> 1.1', '>= 1.1.5'
22
23
  end
23
24
 
24
25
  group :acceptance do
@@ -34,4 +35,4 @@ group :development do
34
35
  gem 'pry-byebug'
35
36
  end
36
37
 
37
- gem 'rubocop', '<= 0.47.0'
38
+ gem 'rubocop', '~> 0.49'
data/Rakefile CHANGED
@@ -2,6 +2,11 @@ require 'bundler/gem_tasks'
2
2
  #require 'puppetlabs_spec_helper/rake_tasks'
3
3
  require 'puppet-lint/tasks/puppet-lint'
4
4
 
5
+ require 'rspec/core/rake_task'
6
+ RSpec::Core::RakeTask.new(:spec) do |t|
7
+ t.exclude_pattern = "spec/acceptance/**/*.rb"
8
+ end
9
+
5
10
  # Add our own tasks
6
11
  require 'puppet-strings/tasks'
7
12
 
@@ -53,7 +53,7 @@ module PuppetStrings
53
53
  YARD::CLI::Yardoc.run(*args)
54
54
 
55
55
  # If outputting JSON, render the output
56
- if options[:json]
56
+ if options[:json] && !options[:describe]
57
57
  render_json(file)
58
58
  end
59
59
 
@@ -61,6 +61,10 @@ module PuppetStrings
61
61
  if options[:markdown]
62
62
  render_markdown(file)
63
63
  end
64
+
65
+ if options[:describe]
66
+ render_describe(options[:describe_types], options[:describe_list], options[:providers])
67
+ end
64
68
  end
65
69
 
66
70
  def self.puppet_5?
@@ -77,6 +81,11 @@ module PuppetStrings
77
81
  PuppetStrings::Markdown.render(path)
78
82
  end
79
83
 
84
+ def self.render_describe(describe_types, list = false, providers = false)
85
+ require 'puppet-strings/describe'
86
+ PuppetStrings::Describe.render(describe_types, list, providers)
87
+ end
88
+
80
89
  # Runs the YARD documentation server.
81
90
  # @param [Array<String>] args The arguments to YARD.
82
91
  def self.run_server(*args)
@@ -0,0 +1,68 @@
1
+ require 'json'
2
+ require 'puppet-strings/json'
3
+
4
+ # The module for command line documentation related functionality.
5
+ module PuppetStrings::Describe
6
+ # Renders requested types or a summarized list in the current YARD registry to STDOUT.
7
+ # @param [Array] describe_types The list of names of the types to be displayed.
8
+ # @param [bool] list Create the summarized list instead of describing each type.
9
+ # @param [bool] providers Show details of the providers.
10
+ # @return [void]
11
+ def self.render(describe_types = [], list = false, providers = false)
12
+ document = {
13
+ defined_types: YARD::Registry.all(:puppet_defined_type).sort_by!(&:name).map!(&:to_hash),
14
+ resource_types: YARD::Registry.all(:puppet_type).sort_by!(&:name).map!(&:to_hash),
15
+ }
16
+
17
+ if list
18
+ puts "These are the types known to puppet:"
19
+ document[:resource_types].each { |t| list_one_type(t) }
20
+ else
21
+ document[:providers] = YARD::Registry.all(:puppet_provider).sort_by!(&:name).map!(&:to_hash)
22
+
23
+ type_names = {}
24
+ describe_types.each { |name| type_names[name] = true }
25
+
26
+ document[:resource_types].each do |t|
27
+ show_one_type(t, providers) if type_names[t[:name].to_s]
28
+ end
29
+ end
30
+ end
31
+
32
+ def self.show_one_type(resource_type, providers = false)
33
+ puts "\n%{name}\n%{underscore}" % { name: resource_type[:name], underscore: "=" * resource_type[:name].length }
34
+ puts resource_type[:docstring][:text]
35
+
36
+ combined_list = (resource_type[:parameters].nil? ? [] : resource_type[:parameters]) +
37
+ (resource_type[:properties].nil? ? [] : resource_type[:properties])
38
+
39
+ if combined_list.any?
40
+ puts "\nParameters\n----------"
41
+ combined_list.sort_by { |p| p[:name] }.each { |p| show_one_parameter(p) }
42
+ puts "\nProviders\n---------"
43
+ end
44
+ #Show providers here - list or provide details
45
+ end
46
+
47
+ def self.show_one_parameter(parameter)
48
+ puts "\n- **%{name}**\n" % { name: parameter[:name] }
49
+ puts parameter[:description]
50
+ puts "Valid values are `%{values}`." % { values: parameter[:values].join("`, `") } unless parameter[:values].nil?
51
+ puts "Requires features %{required_features}." % { required_features: parameter[:required_features] } unless parameter[:required_features].nil?
52
+ end
53
+
54
+ def self.list_one_type(type)
55
+ targetlength = 48
56
+ shortento = targetlength - 4
57
+ contentstring = type[:docstring][:text]
58
+ end_of_line = contentstring.index("\n") # "." gives closer results to old describeb, but breaks for '.k5login'
59
+ if !end_of_line.nil?
60
+ contentstring = contentstring[0..end_of_line]
61
+ end
62
+ if contentstring.length > targetlength
63
+ contentstring = contentstring[0..shortento] + ' ...'
64
+ end
65
+
66
+ puts "%-15s - %-s" % [type[:name], contentstring]
67
+ end
68
+ end
@@ -26,42 +26,4 @@ module PuppetStrings::Json
26
26
  puts JSON.pretty_generate(document)
27
27
  end
28
28
  end
29
-
30
- # Converts a list of tags into an array of hashes.
31
- # @param [Array] tags List of tags to be converted into an array of hashes.
32
- # @return [Array] Returns an array of tag hashes.
33
- def self.tags_to_hashes(tags)
34
- # Skip over the API tags that are public
35
- tags.select { |t| (t.tag_name != 'api' || t.text != 'public') }.map do |t|
36
- next t.to_hash if t.respond_to?(:to_hash)
37
-
38
- tag = { tag_name: t.tag_name }
39
- # grab nested information for @option tags
40
- if tag[:tag_name] == 'option'
41
- tag[:opt_name] = t.pair.name
42
- tag[:opt_text] = t.pair.text
43
- tag[:opt_types] = t.pair.types
44
- tag[:parent] = t.name
45
- end
46
- tag[:text] = t.text if t.text
47
- tag[:types] = t.types if t.types
48
- tag[:name] = t.name if t.name
49
- tag
50
- end
51
- end
52
-
53
- # Converts a YARD::Docstring (or String) to a docstring hash for JSON output.
54
- # @param [YARD::Docstring, String] docstring The docstring to convert to a hash.
55
- # @param [Array] select_tags List of tags to select. Other tags will be filtered out.
56
- # @return [Hash] Returns a hash representation of the given docstring.
57
- def self.docstring_to_hash(docstring, select_tags=nil)
58
- hash = {}
59
- hash[:text] = docstring
60
- if docstring.is_a? YARD::Docstring
61
- tags = tags_to_hashes(docstring.tags.select { |t| select_tags.nil? || select_tags.include?(t.tag_name.to_sym) })
62
-
63
- hash[:tags] = tags unless tags.empty?
64
- end
65
- hash
66
- end
67
29
  end
@@ -60,9 +60,9 @@ module PuppetStrings::Markdown
60
60
  :summary => 'summary',
61
61
  :note => 'note',
62
62
  :todo => 'todo' }.each do |method_name, tag_name|
63
- # @return [String] unless the tag is nil or the string.length == 0
63
+ # @return [String] unless the tag is nil or the string.empty?
64
64
  define_method method_name do
65
- @tags.select { |tag| tag[:tag_name] == "#{tag_name}" }[0][:text] unless @tags.select { |tag| tag[:tag_name] == "#{tag_name}" }[0].nil? || @tags.select { |tag| tag[:tag_name] == "#{tag_name}" }[0][:text].length.zero?
65
+ @tags.find { |tag| tag[:tag_name] == tag_name && !tag[:text].empty? }[:text] if @tags.any? { |tag| tag[:tag_name] == tag_name && !tag[:text].empty? }
66
66
  end
67
67
  end
68
68
 
@@ -78,37 +78,37 @@ module PuppetStrings::Markdown
78
78
 
79
79
  # @return [String] data type of return value
80
80
  def return_type
81
- @tags.select { |tag| tag[:tag_name] == 'return' }[0][:types][0] unless @tags.select { |tag| tag[:tag_name] == 'return' }[0].nil?
81
+ @tags.find { |tag| tag[:tag_name] == 'return' }[:types][0] if @tags.any? { |tag| tag[:tag_name] == 'return' }
82
82
  end
83
83
 
84
84
  # @return [String] text from @since tag
85
85
  def since
86
- @tags.select { |tag| tag[:tag_name] == 'since' }[0][:text] unless @tags.select { |tag| tag[:tag_name] == 'since' }[0].nil?
86
+ @tags.find { |tag| tag[:tag_name] == 'since' }[:text] if @tags.any? { |tag| tag[:tag_name] == 'since' }
87
87
  end
88
88
 
89
89
  # @return [Array] @see tag hashes
90
90
  def see
91
- @tags.select { |tag| tag[:tag_name] == 'see' } unless @tags.select { |tag| tag[:tag_name] == 'see' }[0].nil?
91
+ select_tags('see')
92
92
  end
93
93
 
94
94
  # @return [Array] parameter tag hashes
95
95
  def params
96
- @tags.select { |tag| tag[:tag_name] == 'param' } unless @tags.select { |tag| tag[:tag_name] == 'param' }[0].nil?
96
+ select_tags('param')
97
97
  end
98
98
 
99
99
  # @return [Array] example tag hashes
100
100
  def examples
101
- @tags.select { |tag| tag[:tag_name] == 'example' } unless @tags.select { |tag| tag[:tag_name] == 'example' }[0].nil?
101
+ select_tags('example')
102
102
  end
103
103
 
104
104
  # @return [Array] raise tag hashes
105
105
  def raises
106
- @tags.select { |tag| tag[:tag_name] == 'raise' } unless @tags.select { |tag| tag[:tag_name] == 'raise' }[0].nil?
106
+ select_tags('raise')
107
107
  end
108
108
 
109
109
  # @return [Array] option tag hashes
110
110
  def options
111
- @tags.select { |tag| tag[:tag_name] == 'option' } unless @tags.select { |tag| tag[:tag_name] == 'option' }[0].nil?
111
+ select_tags('option')
112
112
  end
113
113
 
114
114
  # @param parameter_name
@@ -119,7 +119,7 @@ module PuppetStrings::Markdown
119
119
  opts_for_p unless opts_for_p.nil? || opts_for_p.length.zero?
120
120
  end
121
121
 
122
- # @return [Array] any defaults found for the component
122
+ # @return [Hash] any defaults found for the component
123
123
  def defaults
124
124
  @registry[:defaults] unless @registry[:defaults].nil?
125
125
  end
@@ -153,12 +153,7 @@ module PuppetStrings::Markdown
153
153
  end
154
154
 
155
155
  def private?
156
- result = false
157
- api = @tags.find { |tag| tag[:tag_name] == 'api' }
158
- unless api.nil?
159
- result = api[:text] == 'private' ? true : false
160
- end
161
- result
156
+ @tags.any? { |tag| tag[:tag_name] == 'api' && tag[:text] == 'private' }
162
157
  end
163
158
 
164
159
  # @return [String] full markdown rendering of a component
@@ -166,5 +161,12 @@ module PuppetStrings::Markdown
166
161
  file = File.join(File.dirname(__FILE__),"templates/#{template}")
167
162
  ERB.new(File.read(file), nil, '-').result(binding)
168
163
  end
164
+
165
+ private
166
+
167
+ def select_tags(name)
168
+ tags = @tags.select { |tag| tag[:tag_name] == name }
169
+ tags.empty? ? nil : tags
170
+ end
169
171
  end
170
172
  end
@@ -4,10 +4,13 @@ Type: <%= type %>
4
4
 
5
5
  <% if text -%>
6
6
  <%= text %>
7
+
7
8
  <% elsif summary -%>
8
9
  <%= summary %>
10
+
9
11
  <% else -%>
10
12
  <%= "The #{name} function." %>
13
+
11
14
  <% end -%>
12
15
  <% if todo -%>
13
16
  * **TODO** <%= todo %>
@@ -17,7 +20,18 @@ Type: <%= type %>
17
20
  * **Note** <%= note %>
18
21
 
19
22
  <% end -%>
23
+ <% if examples -%>
24
+ #### Examples
20
25
 
26
+ <% examples.each do |eg| -%>
27
+ ##### <%= eg[:name] %>
28
+
29
+ ```puppet
30
+ <%= eg[:text] %>
31
+ ```
32
+
33
+ <% end -%>
34
+ <% end -%>
21
35
  <% signatures.each do |sig| -%>
22
36
  #### `<%= sig.signature %>`
23
37
 
@@ -45,6 +59,18 @@ Raises:
45
59
  * <%= error_type(r[:text]) %> <%= error_text(r[:text]) %>
46
60
  <% end -%>
47
61
 
62
+ <% end -%>
63
+ <% if sig.examples -%>
64
+ ##### Examples
65
+
66
+ <% sig.examples.each do |eg| -%>
67
+ ###### <%= eg[:name] %>
68
+
69
+ ```puppet
70
+ <%= eg[:text] %>
71
+ ```
72
+
73
+ <% end -%>
48
74
  <% end -%>
49
75
  <% if sig.params -%>
50
76
  <% sig.params.each do |param| -%>
@@ -121,6 +121,10 @@ Options:
121
121
  <% if param[:default] -%>
122
122
  Default value: <%= value_string(param[:default]) %>
123
123
 
124
+ <% end -%>
125
+ <% if param[:required_features] -%>
126
+ Required features: <%= param[:required_features] %>.
127
+
124
128
  <% end -%>
125
129
  <% end -%>
126
130
  <% end -%>
@@ -41,5 +41,11 @@ namespace :strings do
41
41
 
42
42
  PuppetStrings.generate(patterns, options)
43
43
  end
44
- end
45
44
 
45
+ namespace :generate do
46
+ desc 'Generate Puppet Reference documentation.'
47
+ task :reference, [:patterns, :debug, :backtrace] do |t, args|
48
+ Rake::Task['strings:generate'].invoke(args[:patterns], args[:debug], args[:backtrace], nil, 'false', 'true')
49
+ end
50
+ end
51
+ end
@@ -1,3 +1,3 @@
1
1
  module PuppetStrings
2
- VERSION = '2.1.0'.freeze
2
+ VERSION = '2.2.0'.freeze
3
3
  end
@@ -50,7 +50,7 @@ class PuppetStrings::Yard::CodeObjects::Class < PuppetStrings::Yard::CodeObjects
50
50
  hash[:file] = file
51
51
  hash[:line] = line
52
52
  hash[:inherits] = statement.parent_class if statement.parent_class
53
- hash[:docstring] = PuppetStrings::Json.docstring_to_hash(docstring)
53
+ hash[:docstring] = PuppetStrings::Yard::Util.docstring_to_hash(docstring)
54
54
  defaults = Hash[*parameters.select{ |p| !p[1].nil? }.flatten]
55
55
  hash[:defaults] = defaults unless defaults.empty?
56
56
  hash[:source] = source unless source && source.empty?
@@ -49,7 +49,7 @@ class PuppetStrings::Yard::CodeObjects::DefinedType < PuppetStrings::Yard::CodeO
49
49
  hash[:name] = name
50
50
  hash[:file] = file
51
51
  hash[:line] = line
52
- hash[:docstring] = PuppetStrings::Json.docstring_to_hash(docstring)
52
+ hash[:docstring] = PuppetStrings::Yard::Util.docstring_to_hash(docstring)
53
53
  defaults = Hash[*parameters.select{ |p| !p[1].nil? }.flatten]
54
54
  hash[:defaults] = defaults unless defaults.empty?
55
55
  hash[:source] = source unless source && source.empty?
@@ -88,13 +88,13 @@ class PuppetStrings::Yard::CodeObjects::Function < PuppetStrings::Yard::CodeObje
88
88
  if self.has_tag? :overload
89
89
  # loop over overloads and append onto the signatures array
90
90
  self.tags(:overload).each do |o|
91
- hash[:signatures] << { :signature => o.signature, :docstring => PuppetStrings::Json.docstring_to_hash(o.docstring, [:param, :option, :return]) }
91
+ hash[:signatures] << { :signature => o.signature, :docstring => PuppetStrings::Yard::Util.docstring_to_hash(o.docstring, [:param, :option, :return, :example]) }
92
92
  end
93
93
  else
94
- hash[:signatures] << { :signature => self.signature, :docstring => PuppetStrings::Json.docstring_to_hash(docstring, [:param, :option, :return]) }
94
+ hash[:signatures] << { :signature => self.signature, :docstring => PuppetStrings::Yard::Util.docstring_to_hash(docstring, [:param, :option, :return, :example]) }
95
95
  end
96
96
 
97
- hash[:docstring] = PuppetStrings::Json.docstring_to_hash(docstring)
97
+ hash[:docstring] = PuppetStrings::Yard::Util.docstring_to_hash(docstring)
98
98
  defaults = Hash[*parameters.select{ |p| !p[1].nil? }.flatten]
99
99
  hash[:defaults] = defaults unless defaults.empty?
100
100
  hash[:source] = source unless source && source.empty?
@@ -47,7 +47,7 @@ class PuppetStrings::Yard::CodeObjects::Plan < PuppetStrings::Yard::CodeObjects:
47
47
  hash[:name] = name
48
48
  hash[:file] = file
49
49
  hash[:line] = line
50
- hash[:docstring] = PuppetStrings::Json.docstring_to_hash(docstring)
50
+ hash[:docstring] = PuppetStrings::Yard::Util.docstring_to_hash(docstring)
51
51
  defaults = Hash[*parameters.select{ |p| !p[1].nil? }.flatten]
52
52
  hash[:defaults] = defaults unless defaults.empty?
53
53
  hash[:source] = source unless source && source.empty?
@@ -82,7 +82,7 @@ class PuppetStrings::Yard::CodeObjects::Provider < PuppetStrings::Yard::CodeObje
82
82
  hash[:type_name] = type_name
83
83
  hash[:file] = file
84
84
  hash[:line] = line
85
- hash[:docstring] = PuppetStrings::Json.docstring_to_hash(docstring)
85
+ hash[:docstring] = PuppetStrings::Yard::Util.docstring_to_hash(docstring)
86
86
  hash[:confines] = confines if confines && !confines.empty?
87
87
  hash[:features] = features if features && !features.empty?
88
88
  hash[:defaults] = defaults if defaults && !defaults.empty?