yard-sketchup 1.1.4 → 1.1.5

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.
Files changed (28) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +15 -15
  3. data/lib/yard-sketchup.rb +36 -36
  4. data/lib/yard-sketchup/patches/c_base_handler.rb +52 -52
  5. data/lib/yard-sketchup/stubs/autoload.rb +134 -134
  6. data/lib/yard-sketchup/templates/changelog/fulldoc/text/setup.rb +44 -44
  7. data/lib/yard-sketchup/templates/coverage/fulldoc/text/setup.rb +41 -41
  8. data/lib/yard-sketchup/templates/default/fulldoc/html/css/rubyapi.css +10 -10
  9. data/lib/yard-sketchup/templates/default/fulldoc/html/css/sketchup.css +120 -120
  10. data/lib/yard-sketchup/templates/default/fulldoc/html/full_list_object_types.erb +1 -1
  11. data/lib/yard-sketchup/templates/default/fulldoc/html/js/sketchup.js +37 -37
  12. data/lib/yard-sketchup/templates/default/fulldoc/html/setup.rb +66 -66
  13. data/lib/yard-sketchup/templates/default/layout/html/embed_meta.erb +78 -78
  14. data/lib/yard-sketchup/templates/default/layout/html/footer.erb +4 -4
  15. data/lib/yard-sketchup/templates/default/layout/html/headers.erb +15 -15
  16. data/lib/yard-sketchup/templates/default/layout/html/layout.erb +55 -55
  17. data/lib/yard-sketchup/templates/default/layout/html/navbar.erb +36 -36
  18. data/lib/yard-sketchup/templates/default/layout/html/setup.rb +19 -19
  19. data/lib/yard-sketchup/templates/default/method_details/html/method_signature.erb +25 -25
  20. data/lib/yard-sketchup/templates/default/method_details/setup.rb +11 -11
  21. data/lib/yard-sketchup/templates/default/module/html/box_info.erb +37 -37
  22. data/lib/yard-sketchup/templates/default/module/html/constant_summary.erb +17 -17
  23. data/lib/yard-sketchup/templates/default/module/html/method_summary.erb +18 -18
  24. data/lib/yard-sketchup/templates/stubs/fulldoc/text/setup.rb +361 -357
  25. data/lib/yard-sketchup/templates/versions/fulldoc/text/setup.rb +25 -25
  26. data/lib/yard-sketchup/version.rb +3 -3
  27. data/yard-sketchup.gemspec +25 -25
  28. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b423474c8d87b8f7f225b0b9711005e4cce42cdae47f40b8016b0a8dc7336525
4
- data.tar.gz: 50c9651f436c50cda5c46bb3682a16d4141bd7c380c0e174fb724fbd98376720
3
+ metadata.gz: 322aa83489a867feda107743e742d750432af681826c761d899a0643769db2c4
4
+ data.tar.gz: fa44b83825930518647a22096267b2e1ff0762b1d1dc81c0d453953a33eb3a68
5
5
  SHA512:
6
- metadata.gz: 34e49e6029571fd60cd6b73995a5859af78f991ee252d09b63f8bd5270a0f8a118830ce79a6d281a103c5a1e3c6d78fe26e9d4a3f9463993f3caa47b92abfd3a
7
- data.tar.gz: e96a7090401e217445ebd31c05394b558d298017ed5dc24b353dbb777197216f7f4dbb3fb05d84900867a980839e09068f3507fd14a6cecb58c6faf9fc7bef6e
6
+ metadata.gz: d2f020b3d7c3b1e361987f7aae39f35e88e928e943b723eff431bb7d33002adbe94633986d4547de9e2178a67cc56a1bfceec9a96b436fe26ad72f068dc879bd
7
+ data.tar.gz: 7b83c9aaf3f1b6abf963e85b3d25ff5b2a1fc8033227003e25201c742afb504335a9fea9eadeae8e0820dd26436fe178f063fad8cb8f09f4c252ecb207569a8a
data/Gemfile CHANGED
@@ -1,15 +1,15 @@
1
- # frozen_string_literal: true
2
-
3
- source 'https://rubygems.org'
4
-
5
- gemspec
6
-
7
- gem 'rake', '~> 12.0', require: false
8
-
9
- group :tools do
10
- gem 'colorize', '~> 0.0', require: false
11
- gem 'git', '~> 1.3', require: false
12
- gem 'git_diff_parser', '~> 2.3', require: false
13
- gem 'thor', '~> 0.19', require: false
14
- end
15
-
1
+ # frozen_string_literal: true
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ gem 'rake', '~> 12.0', require: false
8
+
9
+ group :tools do
10
+ gem 'colorize', '~> 0.0', require: false
11
+ gem 'git', '~> 1.3', require: false
12
+ gem 'git_diff_parser', '~> 2.3', require: false
13
+ gem 'thor', '~> 0.19', require: false
14
+ end
15
+
@@ -1,36 +1,36 @@
1
- require 'yard'
2
- require 'yard-sketchup/version'
3
- require 'yard-sketchup/stubs/autoload'
4
- require 'yard-sketchup/yard/logger'
5
- require 'yard-sketchup/yard/handlers/class_constants'
6
- require 'yard-sketchup/yard/handlers/class_enum_constants'
7
- require 'yard-sketchup/yard/handlers/global_constants'
8
- require 'yard-sketchup/patches/c_base_handler'
9
-
10
- module SketchUpYARD
11
-
12
- def self.init
13
- # https://github.com/burtlo/yard-cucumber/blob/master/lib/yard-cucumber.rb
14
- # This registered template works for yardoc
15
- # YARD::Templates::Engine.register_template_path File.dirname(__FILE__) + '/templates'
16
- # The following static paths and templates are for yard server
17
- # YARD::Server.register_static_path File.dirname(__FILE__) + "/templates/default/fulldoc/html"
18
-
19
- YARD::Templates::Engine.register_template_path self.templates_path
20
-
21
- # https://www.rubydoc.info/gems/yard/file/docs/TagsArch.md#Adding_Custom_Tags
22
- # https://github.com/lsegal/yard/issues/1227
23
- # Custom visible tags:
24
- tags = [
25
- YARD::Tags::Library.define_tag('Known Bugs', :bug),
26
- ]
27
- YARD::Tags::Library.visible_tags |= tags
28
- end
29
-
30
- def self.templates_path
31
- File.join(__dir__, 'yard-sketchup', 'templates')
32
- end
33
-
34
- end
35
-
36
- SketchUpYARD.init
1
+ require 'yard'
2
+ require 'yard-sketchup/version'
3
+ require 'yard-sketchup/stubs/autoload'
4
+ require 'yard-sketchup/yard/logger'
5
+ require 'yard-sketchup/yard/handlers/class_constants'
6
+ require 'yard-sketchup/yard/handlers/class_enum_constants'
7
+ require 'yard-sketchup/yard/handlers/global_constants'
8
+ require 'yard-sketchup/patches/c_base_handler'
9
+
10
+ module SketchUpYARD
11
+
12
+ def self.init
13
+ # https://github.com/burtlo/yard-cucumber/blob/master/lib/yard-cucumber.rb
14
+ # This registered template works for yardoc
15
+ # YARD::Templates::Engine.register_template_path File.dirname(__FILE__) + '/templates'
16
+ # The following static paths and templates are for yard server
17
+ # YARD::Server.register_static_path File.dirname(__FILE__) + "/templates/default/fulldoc/html"
18
+
19
+ YARD::Templates::Engine.register_template_path self.templates_path
20
+
21
+ # https://www.rubydoc.info/gems/yard/file/docs/TagsArch.md#Adding_Custom_Tags
22
+ # https://github.com/lsegal/yard/issues/1227
23
+ # Custom visible tags:
24
+ tags = [
25
+ YARD::Tags::Library.define_tag('Known Bugs', :bug),
26
+ ]
27
+ YARD::Tags::Library.visible_tags |= tags
28
+ end
29
+
30
+ def self.templates_path
31
+ File.join(__dir__, 'yard-sketchup', 'templates')
32
+ end
33
+
34
+ end
35
+
36
+ SketchUpYARD.init
@@ -1,52 +1,52 @@
1
- # frozen_string_literal: true
2
- module YARD
3
- module Handlers
4
- module C
5
- class Base < Handlers::Base
6
-
7
- # Temporary workaround until a proper fix can be applied to YARD master.
8
- alias_method :namespace_for_variable_original, :namespace_for_variable
9
- def namespace_for_variable(var)
10
- patch_namespace_for_variable(var) ||
11
- namespace_for_variable_original(var)
12
- end
13
-
14
- private
15
-
16
- def patch_namespace_for_variable(var)
17
- name = PATCH_ERROR_NAME[var]
18
- # $stderr.puts "Mapped #{var} to #{name}" if name
19
- name.nil? ? nil : P(name)
20
- end
21
-
22
- # Generated by update_error_map.rb (Copy+past results)
23
- PATCH_ERROR_NAME = {
24
- 'rb_eException' => 'Exception',
25
- 'rb_eSystemExit' => 'SystemExit',
26
- 'rb_eFatal' => 'fatal',
27
- 'rb_eSignal' => 'SignalException',
28
- 'rb_eInterrupt' => 'Interrupt',
29
- 'rb_eStandardError' => 'StandardError',
30
- 'rb_eTypeError' => 'TypeError',
31
- 'rb_eArgError' => 'ArgumentError',
32
- 'rb_eIndexError' => 'IndexError',
33
- 'rb_eKeyError' => 'KeyError',
34
- 'rb_eRangeError' => 'RangeError',
35
- 'rb_eScriptError' => 'ScriptError',
36
- 'rb_eSyntaxError' => 'SyntaxError',
37
- 'rb_eLoadError' => 'LoadError',
38
- 'rb_eNotImpError' => 'NotImplementedError',
39
- 'rb_eNameError' => 'NameError',
40
- 'rb_eNoMethodError' => 'NoMethodError',
41
- 'rb_eRuntimeError' => 'RuntimeError',
42
- 'rb_eFrozenError' => 'FrozenError',
43
- 'rb_eSecurityError' => 'SecurityError',
44
- 'rb_eNoMemError' => 'NoMemoryError',
45
- 'rb_eEncodingError' => 'EncodingError',
46
- 'rb_eSystemCallError' => 'SystemCallError',
47
- }
48
-
49
- end
50
- end
51
- end
52
- end
1
+ # frozen_string_literal: true
2
+ module YARD
3
+ module Handlers
4
+ module C
5
+ class Base < Handlers::Base
6
+
7
+ # Temporary workaround until a proper fix can be applied to YARD master.
8
+ alias_method :namespace_for_variable_original, :namespace_for_variable
9
+ def namespace_for_variable(var)
10
+ patch_namespace_for_variable(var) ||
11
+ namespace_for_variable_original(var)
12
+ end
13
+
14
+ private
15
+
16
+ def patch_namespace_for_variable(var)
17
+ name = PATCH_ERROR_NAME[var]
18
+ # $stderr.puts "Mapped #{var} to #{name}" if name
19
+ name.nil? ? nil : P(name)
20
+ end
21
+
22
+ # Generated by update_error_map.rb (Copy+past results)
23
+ PATCH_ERROR_NAME = {
24
+ 'rb_eException' => 'Exception',
25
+ 'rb_eSystemExit' => 'SystemExit',
26
+ 'rb_eFatal' => 'fatal',
27
+ 'rb_eSignal' => 'SignalException',
28
+ 'rb_eInterrupt' => 'Interrupt',
29
+ 'rb_eStandardError' => 'StandardError',
30
+ 'rb_eTypeError' => 'TypeError',
31
+ 'rb_eArgError' => 'ArgumentError',
32
+ 'rb_eIndexError' => 'IndexError',
33
+ 'rb_eKeyError' => 'KeyError',
34
+ 'rb_eRangeError' => 'RangeError',
35
+ 'rb_eScriptError' => 'ScriptError',
36
+ 'rb_eSyntaxError' => 'SyntaxError',
37
+ 'rb_eLoadError' => 'LoadError',
38
+ 'rb_eNotImpError' => 'NotImplementedError',
39
+ 'rb_eNameError' => 'NameError',
40
+ 'rb_eNoMethodError' => 'NoMethodError',
41
+ 'rb_eRuntimeError' => 'RuntimeError',
42
+ 'rb_eFrozenError' => 'FrozenError',
43
+ 'rb_eSecurityError' => 'SecurityError',
44
+ 'rb_eNoMemError' => 'NoMemoryError',
45
+ 'rb_eEncodingError' => 'EncodingError',
46
+ 'rb_eSystemCallError' => 'SystemCallError',
47
+ }
48
+
49
+ end
50
+ end
51
+ end
52
+ end
@@ -1,134 +1,134 @@
1
- module SketchUpYARD
2
- module Stubs
3
- class AutoLoadGenerator
4
-
5
- # @param [YARD::CodeObject::Base] namespace_objects
6
- # @param [IO] out
7
- def generate(namespace_objects, out)
8
- dependencies = resolve_dependencies(namespace_objects)
9
- out.puts "# This file is auto-generated by the `thor stubs` command."
10
- required = Set.new
11
- # Top level is special case.
12
- top_level_path = File.join(sketchup_stubs_path, '_top_level.rb')
13
- out.puts "require '#{top_level_path}'"
14
- # The rest is resolved recursively.
15
- dependencies.each { |object|
16
- recurse_require(object, required, out)
17
- }
18
- end
19
-
20
- private
21
-
22
- class Node
23
-
24
- attr_reader :object
25
- attr_reader :dependencies
26
-
27
- def initialize(object)
28
- @object = object
29
- @dependencies = SortedSet.new
30
- end
31
-
32
- def root?
33
- @object.namespace.root?
34
- end
35
-
36
- def path
37
- @object.path
38
- end
39
-
40
- def namespace
41
- @object.namespace
42
- end
43
-
44
- def <<(object)
45
- @dependencies << object
46
- end
47
-
48
- def <=>(other)
49
- @object.path <=> other.path
50
- end
51
-
52
- def hash
53
- @object.path.hash
54
- end
55
-
56
- end
57
-
58
-
59
- class NodeFactory
60
-
61
- def initialize
62
- @dependencies = {}
63
- end
64
-
65
- def node(yard_object)
66
- item = @dependencies[yard_object.path]
67
- return item if item
68
- item = Node.new(yard_object)
69
- @dependencies[yard_object.path] = item
70
- item
71
- end
72
-
73
- end
74
-
75
-
76
- def resolve_dependencies(yard_objects)
77
- factory = NodeFactory.new
78
- dependencies = SortedSet.new
79
-
80
- yard_objects.each { |yard_object|
81
- object = factory.node(yard_object)
82
-
83
- if yard_object.type == :class && yard_object.superclass.name != :Object
84
- object << factory.node(yard_object.superclass)
85
- end
86
-
87
- unless yard_object.namespace.path.empty?
88
- object << factory.node(yard_object.namespace)
89
- end
90
-
91
- dependencies << object
92
- }
93
- dependencies
94
- end
95
-
96
- def print_dependencies(object, indent = 0)
97
- indent_space = ' ' * indent
98
- puts "#{indent_space}#{object.path}"
99
- object.dependencies.each { |dependency|
100
- print_dependencies(dependency, indent + 1)
101
- }
102
- end
103
-
104
- def sketchup_stubs_path
105
- File.join('sketchup-api-stubs', 'stubs')
106
- end
107
-
108
- def stub_filename(object)
109
- basename = object.path.gsub('::', '/')
110
- basename = '_top_level' if basename.empty?
111
- File.join(sketchup_stubs_path, "#{basename}.rb")
112
- end
113
-
114
- def recurse_require(object, required, out, indent = 0)
115
- return if required.include?(object.path)
116
- # If a class inherit from a core Ruby class we might get a Proxy code
117
- # object here. We don't generate stubs for those and thus we don't want
118
- # to create a require for them either.
119
- return if object.object.is_a?(YARD::CodeObjects::Proxy)
120
- # First require the dependencies.
121
- object.dependencies.each { |dependency|
122
- recurse_require(dependency, required, out, indent + 1)
123
- }
124
- # Then we're good to require this object.
125
- require_path = stub_filename(object)
126
- # indent_space = ' ' * indent
127
- # out.puts "#{indent_space}require '#{require_path}'"
128
- out.puts "require '#{require_path}'"
129
- required << object.path
130
- end
131
-
132
- end
133
- end
134
- end
1
+ module SketchUpYARD
2
+ module Stubs
3
+ class AutoLoadGenerator
4
+
5
+ # @param [YARD::CodeObject::Base] namespace_objects
6
+ # @param [IO] out
7
+ def generate(namespace_objects, out)
8
+ dependencies = resolve_dependencies(namespace_objects)
9
+ out.puts "# This file is auto-generated by the `thor stubs` command."
10
+ required = Set.new
11
+ # Top level is special case.
12
+ top_level_path = File.join(sketchup_stubs_path, '_top_level.rb')
13
+ out.puts "require '#{top_level_path}'"
14
+ # The rest is resolved recursively.
15
+ dependencies.each { |object|
16
+ recurse_require(object, required, out)
17
+ }
18
+ end
19
+
20
+ private
21
+
22
+ class Node
23
+
24
+ attr_reader :object
25
+ attr_reader :dependencies
26
+
27
+ def initialize(object)
28
+ @object = object
29
+ @dependencies = SortedSet.new
30
+ end
31
+
32
+ def root?
33
+ @object.namespace.root?
34
+ end
35
+
36
+ def path
37
+ @object.path
38
+ end
39
+
40
+ def namespace
41
+ @object.namespace
42
+ end
43
+
44
+ def <<(object)
45
+ @dependencies << object
46
+ end
47
+
48
+ def <=>(other)
49
+ @object.path <=> other.path
50
+ end
51
+
52
+ def hash
53
+ @object.path.hash
54
+ end
55
+
56
+ end
57
+
58
+
59
+ class NodeFactory
60
+
61
+ def initialize
62
+ @dependencies = {}
63
+ end
64
+
65
+ def node(yard_object)
66
+ item = @dependencies[yard_object.path]
67
+ return item if item
68
+ item = Node.new(yard_object)
69
+ @dependencies[yard_object.path] = item
70
+ item
71
+ end
72
+
73
+ end
74
+
75
+
76
+ def resolve_dependencies(yard_objects)
77
+ factory = NodeFactory.new
78
+ dependencies = SortedSet.new
79
+
80
+ yard_objects.each { |yard_object|
81
+ object = factory.node(yard_object)
82
+
83
+ if yard_object.type == :class && yard_object.superclass.name != :Object
84
+ object << factory.node(yard_object.superclass)
85
+ end
86
+
87
+ unless yard_object.namespace.path.empty?
88
+ object << factory.node(yard_object.namespace)
89
+ end
90
+
91
+ dependencies << object
92
+ }
93
+ dependencies
94
+ end
95
+
96
+ def print_dependencies(object, indent = 0)
97
+ indent_space = ' ' * indent
98
+ puts "#{indent_space}#{object.path}"
99
+ object.dependencies.each { |dependency|
100
+ print_dependencies(dependency, indent + 1)
101
+ }
102
+ end
103
+
104
+ def sketchup_stubs_path
105
+ File.join('sketchup-api-stubs', 'stubs')
106
+ end
107
+
108
+ def stub_filename(object)
109
+ basename = object.path.gsub('::', '/')
110
+ basename = '_top_level' if basename.empty?
111
+ File.join(sketchup_stubs_path, "#{basename}.rb")
112
+ end
113
+
114
+ def recurse_require(object, required, out, indent = 0)
115
+ return if required.include?(object.path)
116
+ # If a class inherit from a core Ruby class we might get a Proxy code
117
+ # object here. We don't generate stubs for those and thus we don't want
118
+ # to create a require for them either.
119
+ return if object.object.is_a?(YARD::CodeObjects::Proxy)
120
+ # First require the dependencies.
121
+ object.dependencies.each { |dependency|
122
+ recurse_require(dependency, required, out, indent + 1)
123
+ }
124
+ # Then we're good to require this object.
125
+ require_path = stub_filename(object)
126
+ # indent_space = ' ' * indent
127
+ # out.puts "#{indent_space}require '#{require_path}'"
128
+ out.puts "require '#{require_path}'"
129
+ required << object.path
130
+ end
131
+
132
+ end
133
+ end
134
+ end