yard-js 0.1.1

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 (51) hide show
  1. checksums.yaml +7 -0
  2. data/LICENSE.txt +22 -0
  3. data/README.md +138 -0
  4. data/lib/yard-js.rb +30 -0
  5. data/lib/yard-js/code_objects.rb +8 -0
  6. data/lib/yard-js/code_objects/event_object.rb +11 -0
  7. data/lib/yard-js/code_objects/property_object.rb +83 -0
  8. data/lib/yard-js/core_ext/parsejs.rb +13 -0
  9. data/lib/yard-js/core_ext/yard.rb +17 -0
  10. data/lib/yard-js/core_ext/yard/code_objects.rb +45 -0
  11. data/lib/yard-js/core_ext/yard/registry.rb +29 -0
  12. data/lib/yard-js/core_ext/yard/tags.rb +48 -0
  13. data/lib/yard-js/core_ext/yard/templates.rb +116 -0
  14. data/lib/yard-js/core_ext/yard/yardoc.rb +23 -0
  15. data/lib/yard-js/handlers.rb +7 -0
  16. data/lib/yard-js/handlers/base.rb +53 -0
  17. data/lib/yard-js/handlers/class_handler.rb +43 -0
  18. data/lib/yard-js/handlers/comment_handler.rb +33 -0
  19. data/lib/yard-js/handlers/constant_handler.rb +50 -0
  20. data/lib/yard-js/handlers/instance_method_handler.rb +26 -0
  21. data/lib/yard-js/handlers/mixin_handler.rb +18 -0
  22. data/lib/yard-js/handlers/module_handler.rb +33 -0
  23. data/lib/yard-js/parser.rb +23 -0
  24. data/lib/yard-js/plugin.rb +23 -0
  25. data/lib/yard-js/tags.rb +37 -0
  26. data/lib/yard-js/version.rb +3 -0
  27. data/templates/default/class/setup.rb +11 -0
  28. data/templates/default/fulldoc/html/css/highlight.github.css +127 -0
  29. data/templates/default/fulldoc/html/css/style.css +10 -0
  30. data/templates/default/fulldoc/html/full_list_property.erb +12 -0
  31. data/templates/default/fulldoc/html/js/highlight.pack.js +1 -0
  32. data/templates/default/fulldoc/html/setup.rb +18 -0
  33. data/templates/default/layout/html/headers.erb +17 -0
  34. data/templates/default/layout/html/setup.rb +14 -0
  35. data/templates/default/method_details/setup.rb +13 -0
  36. data/templates/default/module/html/constructor_summary.erb +9 -0
  37. data/templates/default/module/html/events_details.erb +8 -0
  38. data/templates/default/module/html/events_summary.erb +20 -0
  39. data/templates/default/module/html/inherited_methods.erb +8 -0
  40. data/templates/default/module/html/inherited_properties.erb +8 -0
  41. data/templates/default/module/html/item_summary.erb +38 -0
  42. data/templates/default/module/html/method_summary.erb +11 -0
  43. data/templates/default/module/html/methods_details.erb +8 -0
  44. data/templates/default/module/html/properties_details.erb +8 -0
  45. data/templates/default/module/html/properties_summary.erb +11 -0
  46. data/templates/default/module/setup.rb +75 -0
  47. data/templates/default/tags/callback.erb +21 -0
  48. data/templates/default/tags/setup.rb +24 -0
  49. data/templates/default/tags/value.erb +6 -0
  50. data/yard-js.gemspec +15 -0
  51. metadata +92 -0
@@ -0,0 +1,21 @@
1
+ <% if object.tags(:callback).size == 1 %>
2
+ <% callback = object.tag(:callback) %>
3
+ <p class="tag_title">Callback (<tt><%= callback.param_name %></tt>):</p>
4
+ <ul class="callback">
5
+ <li class="callback_item">
6
+ <span class="signature"><%= signature(callback, false, false) %></span>
7
+ <%= yieldall :object => callback %>
8
+ </li>
9
+ </ul>
10
+ <% elsif object.has_tag?(:callback) && object.tags(:callback).any? {|o| !o.docstring.blank? } %>
11
+ <p class="tag_title">Callbacks:</p>
12
+ <ul class="callback">
13
+ <% object.tags(:callback).each do |callback| %>
14
+ <% next if callback.docstring.blank? %>
15
+ <li class="callback_item">
16
+ <span class="signature"><%= signature(callback, false, false) %></span>
17
+ <%= yieldall :object => callback %>
18
+ </li>
19
+ <% end %>
20
+ </ul>
21
+ <% end %>
@@ -0,0 +1,24 @@
1
+ def init
2
+ super
3
+ sections.place(:callback, [T('docstring')]).after_any(:param)
4
+ end
5
+
6
+ def return
7
+ if object.type == :property
8
+ return if object.property_type == :literal
9
+ return if object.constructor?
10
+ return if object.tags(:return).size == 1 && object.tag(:return).text.empty?
11
+ end
12
+ tag(:return)
13
+ end
14
+
15
+ def param
16
+ tag(:param) if object.type == :property || object.type == :event
17
+ end
18
+
19
+ def value
20
+ return if object.tag(:constant)
21
+ if object.has_tag?(:value) && !object.tag(:value).text.empty?
22
+ erb(@name = :value)
23
+ end
24
+ end
@@ -0,0 +1,6 @@
1
+ <p class="tag_title"><%= @label ? @label : YARD::Tags::Library.labels[@name] %>:</p>
2
+ <div class="examples">
3
+ <% object.tags(@name).each do |tag| %>
4
+ <pre class="example code value_tag"><code><%= object.path %> = <%= h(tag.text) %></code></pre>
5
+ <% end %>
6
+ </div>
@@ -0,0 +1,15 @@
1
+ require File.expand_path('../lib/yard-js/version', __FILE__)
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = "yard-js"
5
+ s.summary = "YARD plugin for documenting JavaScript source code"
6
+ s.version = YARDJS::VERSION
7
+ s.date = Time.now.strftime('%Y-%m-%d')
8
+ s.author = "Loren Segal"
9
+ s.email = "lsegal@soen.ca"
10
+ s.homepage = "http://github.com/lsegal/yard-js"
11
+ s.platform = Gem::Platform::RUBY
12
+ s.files = Dir.glob("{lib,templates}/**/*") +
13
+ ['LICENSE.txt', 'README.md', __FILE__]
14
+ s.require_paths = ['lib']
15
+ end
metadata ADDED
@@ -0,0 +1,92 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yard-js
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Loren Segal
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2014-01-07 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email: lsegal@soen.ca
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/yard-js/code_objects/event_object.rb
20
+ - lib/yard-js/code_objects/property_object.rb
21
+ - lib/yard-js/code_objects.rb
22
+ - lib/yard-js/core_ext/parsejs.rb
23
+ - lib/yard-js/core_ext/yard/code_objects.rb
24
+ - lib/yard-js/core_ext/yard/registry.rb
25
+ - lib/yard-js/core_ext/yard/tags.rb
26
+ - lib/yard-js/core_ext/yard/templates.rb
27
+ - lib/yard-js/core_ext/yard/yardoc.rb
28
+ - lib/yard-js/core_ext/yard.rb
29
+ - lib/yard-js/handlers/base.rb
30
+ - lib/yard-js/handlers/class_handler.rb
31
+ - lib/yard-js/handlers/comment_handler.rb
32
+ - lib/yard-js/handlers/constant_handler.rb
33
+ - lib/yard-js/handlers/instance_method_handler.rb
34
+ - lib/yard-js/handlers/mixin_handler.rb
35
+ - lib/yard-js/handlers/module_handler.rb
36
+ - lib/yard-js/handlers.rb
37
+ - lib/yard-js/parser.rb
38
+ - lib/yard-js/plugin.rb
39
+ - lib/yard-js/tags.rb
40
+ - lib/yard-js/version.rb
41
+ - lib/yard-js.rb
42
+ - templates/default/class/setup.rb
43
+ - templates/default/fulldoc/html/css/highlight.github.css
44
+ - templates/default/fulldoc/html/css/style.css
45
+ - templates/default/fulldoc/html/full_list_property.erb
46
+ - templates/default/fulldoc/html/js/highlight.pack.js
47
+ - templates/default/fulldoc/html/setup.rb
48
+ - templates/default/layout/html/headers.erb
49
+ - templates/default/layout/html/setup.rb
50
+ - templates/default/method_details/setup.rb
51
+ - templates/default/module/html/constructor_summary.erb
52
+ - templates/default/module/html/events_details.erb
53
+ - templates/default/module/html/events_summary.erb
54
+ - templates/default/module/html/inherited_methods.erb
55
+ - templates/default/module/html/inherited_properties.erb
56
+ - templates/default/module/html/item_summary.erb
57
+ - templates/default/module/html/method_summary.erb
58
+ - templates/default/module/html/methods_details.erb
59
+ - templates/default/module/html/properties_details.erb
60
+ - templates/default/module/html/properties_summary.erb
61
+ - templates/default/module/setup.rb
62
+ - templates/default/tags/callback.erb
63
+ - templates/default/tags/setup.rb
64
+ - templates/default/tags/value.erb
65
+ - LICENSE.txt
66
+ - README.md
67
+ - yard-js.gemspec
68
+ homepage: http://github.com/lsegal/yard-js
69
+ licenses: []
70
+ metadata: {}
71
+ post_install_message:
72
+ rdoc_options: []
73
+ require_paths:
74
+ - lib
75
+ required_ruby_version: !ruby/object:Gem::Requirement
76
+ requirements:
77
+ - - '>='
78
+ - !ruby/object:Gem::Version
79
+ version: '0'
80
+ required_rubygems_version: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - '>='
83
+ - !ruby/object:Gem::Version
84
+ version: '0'
85
+ requirements: []
86
+ rubyforge_project:
87
+ rubygems_version: 2.0.3
88
+ signing_key:
89
+ specification_version: 4
90
+ summary: YARD plugin for documenting JavaScript source code
91
+ test_files: []
92
+ has_rdoc: