hoe-yard 0.1.0

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.
data/History.rdoc ADDED
@@ -0,0 +1,11 @@
1
+ === 0.1.0 / 2010-01-08
2
+
3
+ * Initial release:
4
+ * Automatically find the README and History files, irregardless of file
5
+ extension.
6
+ * Sets +has_rdoc+ to +yard+.
7
+ * Sets +rdoc_options+.
8
+ * Sets +extra_rdoc_files+.
9
+ * Adds YARD and hoe-yard as development dependencies.
10
+ * Adds the +yard+ and +docs+ Rake tasks.
11
+
data/Manifest.txt ADDED
@@ -0,0 +1,5 @@
1
+ History.rdoc
2
+ Manifest.txt
3
+ README.rdoc
4
+ Rakefile
5
+ lib/hoe/yard.rb
data/README.rdoc ADDED
@@ -0,0 +1,73 @@
1
+ = hoe-yard
2
+
3
+ * http://github.com/postmodern/hoe-yard
4
+ * http://github.com/postmodern/hoe-yard/issues
5
+ * Postmodern (postmodern.mod3 at gmail.com)
6
+
7
+ == DESCRIPTION:
8
+
9
+ A Hoe plugin for generating YARD documentation.
10
+
11
+ Using the Hoe YARD plugin, projects can begin generating YARD documentation
12
+ instantly. Additionally, any resulting RubyGems will be properly configured
13
+ to automatically generate YARD documentation upon installation.
14
+
15
+ == FEATURES:
16
+
17
+ * Automatically find the README and History files, irregardless of file
18
+ extension.
19
+ * Sets +has_rdoc+ to +yard+.
20
+ * Sets +rdoc_options+.
21
+ * Sets +extra_rdoc_files+.
22
+ * Adds YARD and hoe-yard as development dependencies.
23
+ * Adds the +yard+ and +docs+ Rake tasks.
24
+
25
+ == REQUIREMENTS:
26
+
27
+ * {yard}[http://yardoc.org/] >= 0.2.3.1
28
+
29
+ == INSTALL:
30
+
31
+ $ sudo gem install hoe-yard
32
+
33
+ == USAGE:
34
+
35
+ require 'rubygems'
36
+ require 'hoe'
37
+
38
+ Hoe.plugin :yard
39
+
40
+ Hoe.spec('my_project') do
41
+ # ...
42
+
43
+ self.yard_title = 'My Project'
44
+ self.yard_markup = :markdown
45
+ self.yard_opts = ['--protected']
46
+
47
+ # ...
48
+ end
49
+
50
+ == LICENSE:
51
+
52
+ (The MIT License)
53
+
54
+ Copyright (c) 2010 Hal Brodigan
55
+
56
+ Permission is hereby granted, free of charge, to any person obtaining
57
+ a copy of this software and associated documentation files (the
58
+ 'Software'), to deal in the Software without restriction, including
59
+ without limitation the rights to use, copy, modify, merge, publish,
60
+ distribute, sublicense, and/or sell copies of the Software, and to
61
+ permit persons to whom the Software is furnished to do so, subject to
62
+ the following conditions:
63
+
64
+ The above copyright notice and this permission notice shall be
65
+ included in all copies or substantial portions of the Software.
66
+
67
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
68
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
69
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
70
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
71
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
72
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
73
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Rakefile ADDED
@@ -0,0 +1,22 @@
1
+ # -*- ruby -*-
2
+
3
+ require 'rubygems'
4
+ require 'hoe'
5
+ require 'hoe/signing'
6
+ require './lib/hoe/yard.rb'
7
+
8
+ Hoe.plugin :yard
9
+
10
+ Hoe.spec('hoe-yard') do
11
+ self.version = Hoe::Yard::PLUGIN_VERSION
12
+ self.developer('Postmodern', 'postmodern.mod3@gmail.com')
13
+
14
+ self.remote_yard_dir = '/'
15
+ self.yard_opts = ['--protected']
16
+
17
+ self.extra_deps = [
18
+ ['yard', '>=0.2.3.1']
19
+ ]
20
+ end
21
+
22
+ # vim: syntax=ruby
data/lib/hoe/yard.rb ADDED
@@ -0,0 +1,194 @@
1
+ require 'hoe'
2
+
3
+ gem 'yard'
4
+
5
+ ##
6
+ # YARD plugin for hoe.
7
+ #
8
+ # === Tasks Provided:
9
+ #
10
+ # yard:: Generate YARD documentation
11
+ # docs:: Generate YARD documentation
12
+ #
13
+ module Hoe::Yard
14
+ # hoe-yard version
15
+ PLUGIN_VERSION = '0.1.0'
16
+
17
+ # Supported markups
18
+ YARD_MARKUP = [:markdown, :texttile, :rdoc]
19
+
20
+ # File extensions indicating raw content
21
+ YARD_RAW_EXTS = ['.txt', '.html']
22
+
23
+ # File extensions for various markups
24
+ YARD_EXTS = {
25
+ :markdown => ['.markdown', '.md'],
26
+ :texttile => ['.texttile', '.tt'],
27
+ :rdoc => ['.rdoc']
28
+ }
29
+
30
+ # The default YARD template
31
+ YARD_DEFAULT_TEMPLATE = 'default'
32
+
33
+ # The default YARD format
34
+ YARD_DEFAULT_FORMAT = :html
35
+
36
+ # The default return-type for documented methods.
37
+ YARD_DEFAULT_RETURN_TYPE = 'Object'
38
+
39
+ # Title for the YARD documentation
40
+ attr_accessor :yard_title
41
+
42
+ # Markup style used in documentation, like textile, markdown or rdoc.
43
+ # (default: +:rdoc+)
44
+ attr_accessor :yard_markup
45
+
46
+ # Overrides the library used to process markup formatting
47
+ # (specify the gem name)
48
+ attr_accessor :yard_markup_provider
49
+
50
+ # Options to pass to YARD
51
+ attr_accessor :yard_opts
52
+
53
+ def initialize_yard
54
+ self.yard_title = Hoe.normalize_names(self.name).last + ' Documentation'
55
+ self.yard_markup = nil
56
+ self.yard_markup_provider = nil
57
+ self.yard_opts = []
58
+
59
+ # find the README.* and History.* files
60
+ self.readme_file = intuit_file_name(File.basename(self.readme_file))
61
+ self.history_file = intuit_file_name(File.basename(self.history_file))
62
+
63
+ # disable RDoc and ri tasks
64
+ self.need_rdoc = false
65
+
66
+ # add YARD as a development dependency
67
+ yard_version = Gem.loaded_specs['yard'].version
68
+ self.extra_dev_deps << ['yard', ">=#{yard_version}"]
69
+
70
+ # add hoe-yard as a development dependency
71
+ self.extra_dev_deps << ['hoe-yard', ">=#{PLUGIN_VERSION}"]
72
+
73
+ # we have YARD docs
74
+ self.spec_extras.merge!(:has_rdoc => 'yard')
75
+
76
+ if self.history_file
77
+ # include the history file
78
+ self.yard_files << self.history_file
79
+ end
80
+ end
81
+
82
+ def define_yard_tasks
83
+ require 'yard'
84
+
85
+ # generate the YARD options
86
+ opts = normalize_yard_opts
87
+
88
+ desc "Remove YARD products"
89
+ task :clobber_docs do
90
+ rm_rf local_yard_dir
91
+ end
92
+
93
+ # define the yard task
94
+ ::YARD::Rake::YardocTask.new do |t|
95
+ t.files = ['lib/**/*.rb']
96
+ t.options = opts + ['--files'] + self.yard_files
97
+ end
98
+ task :docs => :yard
99
+
100
+ # override the RDoc options
101
+ self.spec.rdoc_options = opts
102
+ end
103
+
104
+ protected
105
+
106
+ #
107
+ # Alias to <tt>Hoe#extra_rdoc_files</tt>.
108
+ #
109
+ def yard_files
110
+ self.extra_rdoc_files
111
+ end
112
+
113
+ #
114
+ # Alias to <tt>Hoe#extra_rdoc_files=</tt>.
115
+ #
116
+ def yard_files=(new_files)
117
+ self.extra_rdoc_files = new_files
118
+ end
119
+
120
+ #
121
+ # Alias to <tt>Hoe#local_rdoc_dir</tt>.
122
+ #
123
+ def local_yard_dir
124
+ self.local_rdoc_dir
125
+ end
126
+
127
+ #
128
+ # Alias to <tt>Hoe#local_yard_dir=</tt>.
129
+ #
130
+ def local_yard_dir=(new_dir)
131
+ self.local_rdoc_dir = new_dir
132
+ end
133
+
134
+ #
135
+ # Alias to <tt>Hoe#remote_rdoc_dir</tt>.
136
+ #
137
+ def remote_yard_dir
138
+ self.remote_rdoc_dir
139
+ end
140
+
141
+ #
142
+ # Alias to <tt>Hoe#remote_rdoc_dir=</tt>.
143
+ #
144
+ def remote_yard_dir=(new_dir)
145
+ self.remote_rdoc_dir = new_dir
146
+ end
147
+
148
+ #
149
+ # Intuitively finds the file with the given _name_, using the current
150
+ # YARD markup setting to guess the file extension.
151
+ #
152
+ def intuit_file_name(name)
153
+ name = name.gsub(/\.[^\.]+$/,'')
154
+ paths = Dir["#{name}.*"]
155
+
156
+ exts = if self.yard_markup
157
+ YARD_EXTS[self.yard_markup]
158
+ else
159
+ YARD_EXTS.values.flatten.uniq
160
+ end
161
+
162
+ # append the other raw extensions
163
+ exts += YARD_RAW_EXTS
164
+
165
+ paths.each do |path|
166
+ return path if exts.include?(File.extname(path))
167
+ end
168
+
169
+ warn "Could not intuitively find the #{name} file" if $DEBUG
170
+ return nil
171
+ end
172
+
173
+ #
174
+ # Generates the minimal amount of YARD options based on the YARD
175
+ # settings.
176
+ #
177
+ def normalize_yard_opts
178
+ opts = self.yard_opts + ['--title', self.yard_title]
179
+
180
+ if self.yard_markup
181
+ opts += ['--markup', self.yard_markup]
182
+ end
183
+
184
+ if self.yard_markup_provider
185
+ opts += ['--markup-provider', self.yard_markup_provider]
186
+ end
187
+
188
+ unless (opts.include?('--quiet') || opts.include?('--verbose') || $DEBUG)
189
+ opts += ['--quiet']
190
+ end
191
+
192
+ return opts
193
+ end
194
+ end unless defined? Hoe::Yard
data.tar.gz.sig ADDED
@@ -0,0 +1 @@
1
+ ���~��u�[�K��l}��d�S� 丘r6L|�إg}v�aG��,�莻a6xGz��%7 8;�ӑ߫�)}9�J��l���(?m󧷵翦լ>�K� ����!W[H��>��"<�Q �Bo��<\�!{�7�\��%�n���}p�3��δ�8l
metadata ADDED
@@ -0,0 +1,149 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: hoe-yard
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Postmodern
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain:
11
+ - |
12
+ -----BEGIN CERTIFICATE-----
13
+ MIIDQDCCAiigAwIBAgIBADANBgkqhkiG9w0BAQUFADBGMRgwFgYDVQQDDA9wb3N0
14
+ bW9kZXJuLm1vZDMxFTATBgoJkiaJk/IsZAEZFgVnbWFpbDETMBEGCgmSJomT8ixk
15
+ ARkWA2NvbTAeFw0wOTA2MDMwNDU5MDNaFw0xMDA2MDMwNDU5MDNaMEYxGDAWBgNV
16
+ BAMMD3Bvc3Rtb2Rlcm4ubW9kMzEVMBMGCgmSJomT8ixkARkWBWdtYWlsMRMwEQYK
17
+ CZImiZPyLGQBGRYDY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA
18
+ 1wvANkTDHFgVih5XLjuTwTZjgBq1lBGybXJiH6Id1lY2JOMqM5FB1DDHVvvij94i
19
+ mJabN0zkzu6VKWC70y0IwOxY7CPokr0eFdK/D0y7mCq1P8QITv76i2YqAl0eYqIt
20
+ W+IhIkANQ7E6uMZIZcdnfadC6lPAtlKkqtd9crvRbFgr6e3kyflmohbRnTEJHoRd
21
+ 7SHHsybE6DSn7oTDs6XBTNrNIn5VfZA0z01eeos/+zBm1zKJOK2+/7xtLLDuDU9G
22
+ +Rd+ltUBbvxUrMNZmDG29pnmN2xTRH+Q8HxD2AxlvM5SRpK6OeZaHV7PaCCAVZ4L
23
+ T9BFl1sfMvRlABeGEkSyuQIDAQABozkwNzAJBgNVHRMEAjAAMAsGA1UdDwQEAwIE
24
+ sDAdBgNVHQ4EFgQUKwsd+PqEYmBvyaTyoL+uRuk+PhEwDQYJKoZIhvcNAQEFBQAD
25
+ ggEBAB4TvHsrlbcXcKg6gX5BIb9tI+zGkpzo0Z7jnxMEcNO7NGGwmzafDBI/xZYv
26
+ xkRH3/HXbGGYDOi6Q6gWt5GujSx0bOImDtYTJTH8jnzN92HzEK5WdScm1QpZKF1e
27
+ cezArMbxbSPaosxTCtG6LQTkE28lFQsmFZ5xzouugS4h5+LVJiVMmiP+l3EfkjFa
28
+ GOURU+rNEMPWo8MCWivGW7jes6BMzWHcW7DQ0scNVmIcCIgdyMmpscuAEOSeghy9
29
+ /fFs57Ey2OXBL55nDOyvN/ZQ2Vab05UH4t+GCxjAPeirzL/29FBtePT6VD44c38j
30
+ pDj+ws7QjtH/Qcrr1l9jfN0ehDs=
31
+ -----END CERTIFICATE-----
32
+
33
+ date: 2010-01-08 00:00:00 -08:00
34
+ default_executable:
35
+ dependencies:
36
+ - !ruby/object:Gem::Dependency
37
+ name: yard
38
+ type: :runtime
39
+ version_requirement:
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: 0.2.3.1
45
+ version:
46
+ - !ruby/object:Gem::Dependency
47
+ name: rubyforge
48
+ type: :development
49
+ version_requirement:
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: 2.0.3
55
+ version:
56
+ - !ruby/object:Gem::Dependency
57
+ name: gemcutter
58
+ type: :development
59
+ version_requirement:
60
+ version_requirements: !ruby/object:Gem::Requirement
61
+ requirements:
62
+ - - ">="
63
+ - !ruby/object:Gem::Version
64
+ version: 0.3.0
65
+ version:
66
+ - !ruby/object:Gem::Dependency
67
+ name: yard
68
+ type: :development
69
+ version_requirement:
70
+ version_requirements: !ruby/object:Gem::Requirement
71
+ requirements:
72
+ - - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.5.2
75
+ version:
76
+ - !ruby/object:Gem::Dependency
77
+ name: hoe-yard
78
+ type: :development
79
+ version_requirement:
80
+ version_requirements: !ruby/object:Gem::Requirement
81
+ requirements:
82
+ - - ">="
83
+ - !ruby/object:Gem::Version
84
+ version: 0.1.0
85
+ version:
86
+ - !ruby/object:Gem::Dependency
87
+ name: hoe
88
+ type: :development
89
+ version_requirement:
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - ">="
93
+ - !ruby/object:Gem::Version
94
+ version: 2.5.0
95
+ version:
96
+ description: |-
97
+ A Hoe plugin for generating YARD documentation.
98
+
99
+ Using the Hoe YARD plugin, projects can begin generating YARD documentation
100
+ instantly. Additionally, any resulting RubyGems will be properly configured
101
+ to automatically generate YARD documentation upon installation.
102
+ email:
103
+ - postmodern.mod3@gmail.com
104
+ executables: []
105
+
106
+ extensions: []
107
+
108
+ extra_rdoc_files:
109
+ - Manifest.txt
110
+ - History.rdoc
111
+ files:
112
+ - History.rdoc
113
+ - Manifest.txt
114
+ - README.rdoc
115
+ - Rakefile
116
+ - lib/hoe/yard.rb
117
+ has_rdoc: yard
118
+ homepage: http://github.com/postmodern/hoe-yard
119
+ licenses: []
120
+
121
+ post_install_message:
122
+ rdoc_options:
123
+ - --protected
124
+ - --title
125
+ - HoeYard Documentation
126
+ - --quiet
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: "0"
134
+ version:
135
+ required_rubygems_version: !ruby/object:Gem::Requirement
136
+ requirements:
137
+ - - ">="
138
+ - !ruby/object:Gem::Version
139
+ version: "0"
140
+ version:
141
+ requirements: []
142
+
143
+ rubyforge_project: hoe-yard
144
+ rubygems_version: 1.3.5
145
+ signing_key:
146
+ specification_version: 3
147
+ summary: A Hoe plugin for generating YARD documentation
148
+ test_files: []
149
+
metadata.gz.sig ADDED
@@ -0,0 +1,3 @@
1
+ �ț?v�h��O"IEE�����p�C���c���88:a��eؾ�����n�'1k�f���R�1�b�3�w9KT�p�D:6�,�����\Y
2
+ 7.�u��e�%�R�P�ʴ8�Al�
3
+ 6Ii �N���+2ֻhE~�3?�Yak���3�N��-Uv�4���Q�5�FVP�٥}���:�G ��޶IF.CiI6{V!����u��O����+&wb}Q�P�d:��>:5ؒq�N���)�N�N��F� ��T�