yard-components 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ lib/**/*.rb
2
+ bin/*
3
+ -
4
+ features/**/*.feature
5
+ LICENSE.txt
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.yardopts ADDED
@@ -0,0 +1 @@
1
+ -e lib/yard-components.rb
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source "http://rubygems.org"
2
+
3
+ gem "yard"
4
+ gem "bluecloth"
5
+
6
+ group :development do
7
+ gem "rspec", "~> 2.3.0"
8
+ gem "bundler", "~> 1.0.0"
9
+ gem "jeweler", "~> 1.5.2"
10
+ gem "rcov", ">= 0"
11
+ gem "ruby-debug"
12
+ end
data/Gemfile.lock ADDED
@@ -0,0 +1,40 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ bluecloth (2.1.0)
5
+ columnize (0.3.2)
6
+ diff-lcs (1.1.2)
7
+ git (1.2.5)
8
+ jeweler (1.5.2)
9
+ bundler (~> 1.0.0)
10
+ git (>= 1.2.5)
11
+ rake
12
+ linecache (0.43)
13
+ rake (0.8.7)
14
+ rcov (0.9.9)
15
+ rspec (2.3.0)
16
+ rspec-core (~> 2.3.0)
17
+ rspec-expectations (~> 2.3.0)
18
+ rspec-mocks (~> 2.3.0)
19
+ rspec-core (2.3.1)
20
+ rspec-expectations (2.3.0)
21
+ diff-lcs (~> 1.1.2)
22
+ rspec-mocks (2.3.0)
23
+ ruby-debug (0.10.4)
24
+ columnize (>= 0.1)
25
+ ruby-debug-base (~> 0.10.4.0)
26
+ ruby-debug-base (0.10.4)
27
+ linecache (>= 0.3)
28
+ yard (0.6.5)
29
+
30
+ PLATFORMS
31
+ ruby
32
+
33
+ DEPENDENCIES
34
+ bluecloth
35
+ bundler (~> 1.0.0)
36
+ jeweler (~> 1.5.2)
37
+ rcov
38
+ rspec (~> 2.3.0)
39
+ ruby-debug
40
+ yard
data/LICENSE.txt ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 Daniel Higginbotham
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,14 @@
1
+ Yard Components
2
+ ===============
3
+ This is a YARD plugin to generate a documentation page for each component in your system.
4
+ The page lists all classes and methods tagged with `@component`, along with their
5
+ descriptions.
6
+
7
+ To try, run
8
+
9
+ yardoc -e lib/yard-components.rb example/multi-component-system.rb
10
+
11
+ The file example/multi-component-system.rb uses the `@component` tag.
12
+
13
+ Copyright (c) 2011 Daniel Higginbotham. See LICENSE.txt for
14
+ further details.
data/Rakefile ADDED
@@ -0,0 +1,50 @@
1
+ require 'rubygems'
2
+ require 'bundler'
3
+ begin
4
+ Bundler.setup(:default, :development)
5
+ rescue Bundler::BundlerError => e
6
+ $stderr.puts e.message
7
+ $stderr.puts "Run `bundle install` to install missing gems"
8
+ exit e.status_code
9
+ end
10
+ require 'rake'
11
+
12
+ require 'jeweler'
13
+ Jeweler::Tasks.new do |gem|
14
+ # gem is a Gem::Specification... see http://docs.rubygems.org/read/chapter/20 for more options
15
+ gem.name = "yard-components"
16
+ gem.homepage = "http://github.com/flyingmachine/yard-components"
17
+ gem.license = "MIT"
18
+ gem.summary = %Q{Add the concept of 'components' to YARD}
19
+ gem.description = %Q{Allows use of the @component tag to pull related methods and classes into one file}
20
+ gem.email = "daniel@flyingmachinestudios.com"
21
+ gem.authors = ["Daniel Higginbotham"]
22
+ # Include your dependencies below. Runtime dependencies are required when using your gem,
23
+ # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
+ # gem.add_runtime_dependency 'jabber4r', '> 0.1'
25
+ # gem.add_development_dependency 'rspec', '> 1.2.3'
26
+ end
27
+ Jeweler::RubygemsDotOrgTasks.new
28
+
29
+ require 'rspec/core'
30
+ require 'rspec/core/rake_task'
31
+ RSpec::Core::RakeTask.new(:spec) do |spec|
32
+ spec.pattern = FileList['spec/**/*_spec.rb']
33
+ end
34
+
35
+ RSpec::Core::RakeTask.new(:rcov) do |spec|
36
+ spec.pattern = 'spec/**/*_spec.rb'
37
+ spec.rcov = true
38
+ end
39
+
40
+ task :default => :spec
41
+
42
+ require 'rake/rdoctask'
43
+ Rake::RDocTask.new do |rdoc|
44
+ version = File.exist?('VERSION') ? File.read('VERSION') : ""
45
+
46
+ rdoc.rdoc_dir = 'rdoc'
47
+ rdoc.title = "yard-components #{version}"
48
+ rdoc.rdoc_files.include('README*')
49
+ rdoc.rdoc_files.include('lib/**/*.rb')
50
+ end
data/VERSION ADDED
@@ -0,0 +1 @@
1
+ 0.0.0
@@ -0,0 +1,25 @@
1
+ class MultiComponentSystem
2
+
3
+ # This description should appear in the component docs
4
+ # @component first
5
+ class FirstComponent
6
+ end
7
+
8
+ # This description should also appear in the component docs
9
+ # @component second
10
+ class SecondComponent
11
+ end
12
+
13
+ # This description should not appear in the component docs
14
+ class Integration
15
+ # This method description should appear in "first" component docs
16
+ # @component first
17
+ def interact_with_first_component
18
+ end
19
+
20
+ # This method description should appear in "second" component docs
21
+ # @component second
22
+ def interact_with_second_component
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,20 @@
1
+ YARD::Tags::Library.define_tag("For Gathering Scattered Components on One Page", :component)
2
+ YARD::Templates::Engine.register_template_path File.dirname(__FILE__) + '/../templates'
3
+
4
+ # Add a method to facilitate linking to components
5
+ module YARD::Templates::Helpers::BaseHelper
6
+ alias_method :linkify_pre_yard_components, :linkify
7
+
8
+ def linkify(*args)
9
+ if args.first.is_a?(String) && args.first =~ /^component:(.*)/
10
+ link_component($1)
11
+ else
12
+ linkify_pre_yard_components(*args)
13
+ end
14
+ end
15
+
16
+ # @param [String] component_name
17
+ def link_component(component_name)
18
+ link_file("component-#{component_name}", component_name)
19
+ end
20
+ end
@@ -0,0 +1,12 @@
1
+ $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
2
+ $LOAD_PATH.unshift(File.dirname(__FILE__))
3
+ require 'rspec'
4
+ require 'yard-components'
5
+
6
+ # Requires supporting files with custom matchers and macros, etc,
7
+ # in ./support/ and its subdirectories.
8
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each {|f| require f}
9
+
10
+ RSpec.configure do |config|
11
+
12
+ end
@@ -0,0 +1,7 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "YardComponents" do
4
+ it "fails" do
5
+ fail "hey buddy, you should probably rename this file and start specing for real"
6
+ end
7
+ end
@@ -0,0 +1,23 @@
1
+ <% if options[:component][:code_objects][:classes_and_modules].size > 0 %>
2
+ <h2>Classes and Modules</h2>
3
+ <ul>
4
+ <% options[:component][:code_objects][:classes_and_modules].each do |code_object| %>
5
+ <li>
6
+ <%= linkify(code_object, format_object_title(code_object)) %>
7
+ <%= yieldall :object => code_object %>
8
+ </li>
9
+ <% end %>
10
+ </ul>
11
+ <% end %>
12
+
13
+ <% if options[:component][:code_objects][:other].size > 0 %>
14
+ <h2>Methods</h2>
15
+ <ul>
16
+ <% options[:component][:code_objects][:other].each do |code_object| %>
17
+ <li>
18
+ <%= linkify(code_object, format_object_title(code_object)) %>
19
+ <%= yieldall :object => code_object %>
20
+ </li>
21
+ <% end %>
22
+ </ul>
23
+ <% end %>
@@ -0,0 +1 @@
1
+ <h1>Component: <%= options[:component][:name] %></h1>
@@ -0,0 +1,3 @@
1
+ def init
2
+ sections :header, :body, [T('docstring')]
3
+ end
@@ -0,0 +1,35 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3
+ <html>
4
+ <head>
5
+ <meta name="Content-Type" content="text/html; charset=<%= charset %>" />
6
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" charset="utf-8" />
7
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" charset="utf-8" />
8
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
9
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
10
+ <base id="base_target" target="_parent" />
11
+ </head>
12
+ <body>
13
+ <script type="text/javascript" charset="utf-8">
14
+ if (window.top.frames.main) {
15
+ document.getElementById('base_target').target = 'main';
16
+ document.body.className = 'frames';
17
+ }
18
+ </script>
19
+ <div id="content">
20
+ <h1 id="full_list_header"><%= @list_title %></h1>
21
+ <div id="nav">
22
+ <a target="_self" href="class_list.html">Classes</a> |
23
+ <a target="_self" href="method_list.html">Methods</a> |
24
+ <a target="_self" href="file_list.html">Files</a>
25
+ <a target="_self" href="component_list.html">Files</a>
26
+ </div>
27
+ <div id="search">Search: <input type="text" /></div>
28
+
29
+ <ul id="full_list" class="<%= @list_type %>">
30
+ <%= erb "full_list_#{@list_type}" %>
31
+ </ul>
32
+ </div>
33
+ </body>
34
+ </html>
35
+
@@ -0,0 +1,5 @@
1
+ <% n = 1 %>
2
+ <% @items.each do |item| %>
3
+ <li class="r<%= n %>"><%= linkify "component:#{item}" %></li>
4
+ <% n = n == 2 ? 1 : 2 %>
5
+ <% end %>
@@ -0,0 +1,196 @@
1
+ function createSourceLinks() {
2
+ $('.method_details_list .source_code').
3
+ before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
4
+ $('.toggleSource').toggle(function() {
5
+ $(this).parent().next().slideDown(100);
6
+ $(this).text("Hide source");
7
+ },
8
+ function() {
9
+ $(this).parent().next().slideUp(100);
10
+ $(this).text("View source");
11
+ });
12
+ }
13
+
14
+ function createDefineLinks() {
15
+ var tHeight = 0;
16
+ $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
17
+ $('.toggleDefines').toggle(function() {
18
+ tHeight = $(this).parent().prev().height();
19
+ $(this).prev().show();
20
+ $(this).parent().prev().height($(this).parent().height());
21
+ $(this).text("(less)");
22
+ },
23
+ function() {
24
+ $(this).prev().hide();
25
+ $(this).parent().prev().height(tHeight);
26
+ $(this).text("more...")
27
+ });
28
+ }
29
+
30
+ function createFullTreeLinks() {
31
+ var tHeight = 0;
32
+ $('.inheritanceTree').toggle(function() {
33
+ tHeight = $(this).parent().prev().height();
34
+ $(this).parent().toggleClass('showAll');
35
+ $(this).text("(hide)");
36
+ $(this).parent().prev().height($(this).parent().height());
37
+ },
38
+ function() {
39
+ $(this).parent().toggleClass('showAll');
40
+ $(this).parent().prev().height(tHeight);
41
+ $(this).text("show all")
42
+ });
43
+ }
44
+
45
+ function fixBoxInfoHeights() {
46
+ $('dl.box dd.r1, dl.box dd.r2').each(function() {
47
+ $(this).prev().height($(this).height());
48
+ });
49
+ }
50
+
51
+ function searchFrameLinks() {
52
+ $('#search a').click(function() {
53
+ var filename = this.id.replace("_link", "") + ".html"
54
+ toggleSearchFrame(this, relpath + filename);
55
+ })
56
+ }
57
+
58
+ function toggleSearchFrame(id, link) {
59
+ var frame = $('#search_frame');
60
+ $('#search a').removeClass('active').addClass('inactive');
61
+ if (frame.attr('src') == link && frame.css('display') != "none") {
62
+ frame.slideUp(100);
63
+ $('#search a').removeClass('active inactive');
64
+ }
65
+ else {
66
+ $(id).addClass('active').removeClass('inactive');
67
+ frame.attr('src', link).slideDown(100);
68
+ }
69
+ }
70
+
71
+ function linkSummaries() {
72
+ $('.summary_signature').click(function() {
73
+ document.location = $(this).find('a').attr('href');
74
+ });
75
+ }
76
+
77
+ function framesInit() {
78
+ if (window.top.frames.main) {
79
+ document.body.className = 'frames';
80
+ $('#menu .noframes a').attr('href', document.location);
81
+ $('html head title', window.parent.document).text($('html head title').text());
82
+ }
83
+ }
84
+
85
+ function keyboardShortcuts() {
86
+ if (window.top.frames.main) return;
87
+ $(document).keypress(function(evt) {
88
+ if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
89
+ if (typeof evt.orignalTarget !== "undefined" &&
90
+ (evt.originalTarget.nodeName == "INPUT" ||
91
+ evt.originalTarget.nodeName == "TEXTAREA")) return;
92
+ switch (evt.charCode) {
93
+ case 67: case 99: $('#class_list_link').click(); break; // 'c'
94
+ case 77: case 109: $('#method_list_link').click(); break; // 'm'
95
+ case 70: case 102: $('#file_list_link').click(); break; // 'f'
96
+ }
97
+ });
98
+ }
99
+
100
+ function summaryToggle() {
101
+ $('.summary_toggle').click(function() {
102
+ localStorage.summaryCollapsed = $(this).text();
103
+ $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
104
+ var next = $(this).parent().parent().next();
105
+ if (next.hasClass('compact')) {
106
+ next.toggle();
107
+ next.next().toggle();
108
+ }
109
+ else if (next.hasClass('summary')) {
110
+ var list = $('<ul class="summary compact" />');
111
+ list.html(next.html());
112
+ list.find('.summary_desc, .note').remove();
113
+ list.find('a').each(function() {
114
+ $(this).html($(this).find('strong').html());
115
+ $(this).parent().html($(this)[0].outerHTML);
116
+ });
117
+ next.before(list);
118
+ next.toggle();
119
+ }
120
+ return false;
121
+ });
122
+ if (localStorage) {
123
+ if (localStorage.summaryCollapsed == "collapse") $('.summary_toggle').click();
124
+ else localStorage.summaryCollapsed = "expand";
125
+ }
126
+ }
127
+
128
+ function fixOutsideWorldLinks() {
129
+ $('a').each(function() {
130
+ if (window.location.host != this.host) this.target = '_parent';
131
+ });
132
+ }
133
+
134
+ function generateTOC() {
135
+ if ($('#filecontents').length == 0) return;
136
+ var _toc = $('<ol class="top"></ol>');
137
+ var show = false;
138
+ var toc = _toc;
139
+ var counter = 0;
140
+ var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
141
+ if ($('#filecontents h1').length > 1) tags.unshift('h1');
142
+ for (i in tags) { tags[i] = '#filecontents ' + tags[i] }
143
+ var lastTag = parseInt(tags[0][1]);
144
+ $(tags.join(', ')).each(function() {
145
+ if (this.id == "filecontents") return;
146
+ show = true;
147
+ var thisTag = parseInt(this.tagName[1]);
148
+ if (this.id.length == 0) {
149
+ var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
150
+ if ($('#' + proposedId).length > 0) proposedId += counter++;
151
+ this.id = proposedId;
152
+ }
153
+ if (thisTag > lastTag) {
154
+ for (var i = 0; i < thisTag - lastTag; i++) {
155
+ var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
156
+ }
157
+ }
158
+ if (thisTag < lastTag) {
159
+ for (var i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
160
+ }
161
+ toc.append('<li><a href="#' + this.id + '">' + $(this).text() + '</a></li>');
162
+ lastTag = thisTag;
163
+ });
164
+ if (!show) return;
165
+ html = '<div id="toc"><p class="title"><a class="hide_toc" href="#"><strong>Table of Contents</strong></a> <small>(<a href="#" class="float_toc">left</a>)</small></p></div>';
166
+ $('#content').prepend(html);
167
+ $('#toc').append(_toc);
168
+ $('#toc .hide_toc').toggle(function() {
169
+ $('#toc .top').slideUp('fast');
170
+ $('#toc').toggleClass('hidden');
171
+ $('#toc .title small').toggle();
172
+ }, function() {
173
+ $('#toc .top').slideDown('fast');
174
+ $('#toc').toggleClass('hidden');
175
+ $('#toc .title small').toggle();
176
+ });
177
+ $('#toc .float_toc').toggle(function() {
178
+ $(this).text('float');
179
+ $('#toc').toggleClass('nofloat');
180
+ }, function() {
181
+ $(this).text('left')
182
+ $('#toc').toggleClass('nofloat');
183
+ });
184
+ }
185
+
186
+ $(framesInit);
187
+ $(createSourceLinks);
188
+ $(createDefineLinks);
189
+ $(createFullTreeLinks);
190
+ $(fixBoxInfoHeights);
191
+ $(searchFrameLinks);
192
+ $(linkSummaries);
193
+ $(keyboardShortcuts);
194
+ $(summaryToggle);
195
+ $(fixOutsideWorldLinks);
196
+ $(generateTOC);
@@ -0,0 +1,47 @@
1
+ include Helpers::ModuleHelper
2
+
3
+ def init
4
+ super
5
+ serialize_components
6
+ end
7
+
8
+ def generate_assets
9
+ super
10
+ generate_component_list
11
+ end
12
+
13
+ def generate_component_list
14
+ @items = components.keys
15
+ @list_title = "Component List"
16
+ @list_type = "components"
17
+ asset('component_list.html', erb(:full_list))
18
+ end
19
+
20
+ def serialize_components
21
+ components.each do |component_name, component_code_objects|
22
+ options[:component] = {
23
+ :name => component_name,
24
+ :code_objects => component_code_objects
25
+ }
26
+ options[:title] = "Component: #{component_name}"
27
+ serialized_path = "file.component-#{component_name}.html"
28
+ Templates::Engine.with_serializer(serialized_path, options[:serializer]) do
29
+ T('layout').run(options)
30
+ end
31
+ end
32
+ end
33
+
34
+ def components
35
+ return @components if @components
36
+ @components = Hash.new{|h,k| h[k] = Hash.new{|h2, k2| h2[k2] = []}}
37
+ Registry.each do |code_object|
38
+ code_object.tags.select{|t| t.tag_name == 'component'}.each do |tag|
39
+ if [:class, :module].include?(code_object.type)
40
+ @components[tag.tag_name][:classes_and_modules] << code_object
41
+ else
42
+ @components[tag.tag_name][:other] << code_object
43
+ end
44
+ end
45
+ end
46
+ @components
47
+ end
@@ -0,0 +1,6 @@
1
+ <div id="search">
2
+ <a id="class_list_link" href="#">Class List</a>
3
+ <a id="method_list_link" href="#">Method List</a>
4
+ <a id ="file_list_link" href="#">File List</a>
5
+ <a id ="component_list_link" href="#">Component List</a>
6
+ </div>
@@ -0,0 +1,6 @@
1
+ def init
2
+ super
3
+ if options[:component]
4
+ sections :layout, [T(:component)]
5
+ end
6
+ end
metadata ADDED
@@ -0,0 +1,193 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: yard-components
3
+ version: !ruby/object:Gem::Version
4
+ hash: 31
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 0
10
+ version: 0.0.0
11
+ platform: ruby
12
+ authors:
13
+ - Daniel Higginbotham
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-03-24 00:00:00 -04:00
19
+ default_executable:
20
+ dependencies:
21
+ - !ruby/object:Gem::Dependency
22
+ prerelease: false
23
+ type: :runtime
24
+ name: yard
25
+ version_requirements: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ requirement: *id001
35
+ - !ruby/object:Gem::Dependency
36
+ prerelease: false
37
+ type: :runtime
38
+ name: bluecloth
39
+ version_requirements: &id002 !ruby/object:Gem::Requirement
40
+ none: false
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ hash: 3
45
+ segments:
46
+ - 0
47
+ version: "0"
48
+ requirement: *id002
49
+ - !ruby/object:Gem::Dependency
50
+ prerelease: false
51
+ type: :development
52
+ name: rspec
53
+ version_requirements: &id003 !ruby/object:Gem::Requirement
54
+ none: false
55
+ requirements:
56
+ - - ~>
57
+ - !ruby/object:Gem::Version
58
+ hash: 3
59
+ segments:
60
+ - 2
61
+ - 3
62
+ - 0
63
+ version: 2.3.0
64
+ requirement: *id003
65
+ - !ruby/object:Gem::Dependency
66
+ prerelease: false
67
+ type: :development
68
+ name: bundler
69
+ version_requirements: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 23
75
+ segments:
76
+ - 1
77
+ - 0
78
+ - 0
79
+ version: 1.0.0
80
+ requirement: *id004
81
+ - !ruby/object:Gem::Dependency
82
+ prerelease: false
83
+ type: :development
84
+ name: jeweler
85
+ version_requirements: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ~>
89
+ - !ruby/object:Gem::Version
90
+ hash: 7
91
+ segments:
92
+ - 1
93
+ - 5
94
+ - 2
95
+ version: 1.5.2
96
+ requirement: *id005
97
+ - !ruby/object:Gem::Dependency
98
+ prerelease: false
99
+ type: :development
100
+ name: rcov
101
+ version_requirements: &id006 !ruby/object:Gem::Requirement
102
+ none: false
103
+ requirements:
104
+ - - ">="
105
+ - !ruby/object:Gem::Version
106
+ hash: 3
107
+ segments:
108
+ - 0
109
+ version: "0"
110
+ requirement: *id006
111
+ - !ruby/object:Gem::Dependency
112
+ prerelease: false
113
+ type: :development
114
+ name: ruby-debug
115
+ version_requirements: &id007 !ruby/object:Gem::Requirement
116
+ none: false
117
+ requirements:
118
+ - - ">="
119
+ - !ruby/object:Gem::Version
120
+ hash: 3
121
+ segments:
122
+ - 0
123
+ version: "0"
124
+ requirement: *id007
125
+ description: Allows use of the @component tag to pull related methods and classes into one file
126
+ email: daniel@flyingmachinestudios.com
127
+ executables: []
128
+
129
+ extensions: []
130
+
131
+ extra_rdoc_files:
132
+ - LICENSE.txt
133
+ - README.md
134
+ files:
135
+ - .document
136
+ - .rspec
137
+ - .yardopts
138
+ - Gemfile
139
+ - Gemfile.lock
140
+ - LICENSE.txt
141
+ - README.md
142
+ - Rakefile
143
+ - VERSION
144
+ - example/multi-component-system.rb
145
+ - lib/yard-components.rb
146
+ - spec/spec_helper.rb
147
+ - spec/yard-components_spec.rb
148
+ - templates/default/component/html/body.erb
149
+ - templates/default/component/html/header.erb
150
+ - templates/default/component/html/setup.rb
151
+ - templates/default/fulldoc/html/full_list.erb
152
+ - templates/default/fulldoc/html/full_list_components.erb
153
+ - templates/default/fulldoc/html/js/app.js
154
+ - templates/default/fulldoc/html/setup.rb
155
+ - templates/default/layout/html/search.erb
156
+ - templates/default/layout/html/setup.rb
157
+ has_rdoc: true
158
+ homepage: http://github.com/flyingmachine/yard-components
159
+ licenses:
160
+ - MIT
161
+ post_install_message:
162
+ rdoc_options: []
163
+
164
+ require_paths:
165
+ - lib
166
+ required_ruby_version: !ruby/object:Gem::Requirement
167
+ none: false
168
+ requirements:
169
+ - - ">="
170
+ - !ruby/object:Gem::Version
171
+ hash: 3
172
+ segments:
173
+ - 0
174
+ version: "0"
175
+ required_rubygems_version: !ruby/object:Gem::Requirement
176
+ none: false
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ hash: 3
181
+ segments:
182
+ - 0
183
+ version: "0"
184
+ requirements: []
185
+
186
+ rubyforge_project:
187
+ rubygems_version: 1.3.7
188
+ signing_key:
189
+ specification_version: 3
190
+ summary: Add the concept of 'components' to YARD
191
+ test_files:
192
+ - spec/spec_helper.rb
193
+ - spec/yard-components_spec.rb