cmdparse 2.0.5 → 2.0.6

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: d4dca04510d88cd70c3e4591eace794a13f9677a
4
+ data.tar.gz: db666d2c3f165c61b706fedbe2710bf263003444
5
+ SHA512:
6
+ metadata.gz: 5e81070751e5b4e65e7f88f46c64ab89596e3fcaad7bfd18c36a8e58fb51514c65e863472279ecaaeab0c74a6351ac8fb2738979df855d3986c0457cb99690b2
7
+ data.tar.gz: 0bf1b2d6807b63aff149cb6cb4ac3101f7422e2cabfd3624a2910f420f6ec458a9a3e46b85fdd4e1b6cbedb170bd4df6576fe6853cccccfb2f1d975826a03bef
@@ -0,0 +1,59 @@
1
+ **cmdparse** - an advanced command line parser using optparse which has support for commands
2
+
3
+ Copyright (C) 2004-2014 Thomas Leitner
4
+
5
+ ## Description
6
+
7
+ Some programs use a "command style" command line. Examples for such programs are the "svn" program
8
+ from Subversion and the "gem" program from Rubygems. The standard Ruby distribution has no library
9
+ to create programs that use such a command line interface.
10
+
11
+ This library, cmdparse, can be used to create such a command line interface. Internally it uses
12
+ optparse or any other option parser library to parse options and it provides a nice API for
13
+ specifying commands.
14
+
15
+ ## License
16
+
17
+ GNU LGPLv3 - see COPYING.LESSER for the LGPL and COPYING for the GPL
18
+
19
+ ## Dependencies
20
+
21
+ none
22
+
23
+ ## Installation
24
+
25
+ The preferred way of installing cmdparse is via RubyGems:
26
+
27
+ $ gem install cmdparse
28
+
29
+ If you do not have RubyGems installed, but Rake, you can use the following command:
30
+
31
+ $ rake install
32
+
33
+ If you have neither RubyGems nor Rake, use these commands:
34
+
35
+ $ ruby setup.rb config
36
+ $ ruby setup.rb setup
37
+ $ ruby setup.rb install
38
+
39
+ ## Documentation
40
+
41
+ You can build the documentation by invoking
42
+
43
+ $ rake doc
44
+
45
+ This builds the API and the additional documentation. The additional documentation needs webgen
46
+ >=1.0.0 (webgen.gettalong.org) for building.
47
+
48
+
49
+ ## Example
50
+
51
+ There is an example of how to use cmdparse in the `net.rb` file.
52
+
53
+
54
+ ## Contact
55
+
56
+ Author: Thomas Leitner
57
+
58
+ * Web: <http://cmdparse.gettalong.org>
59
+ * e-Mail: <t_leitner@gmx.at>
data/Rakefile CHANGED
@@ -2,7 +2,7 @@
2
2
  #
3
3
  #--
4
4
  # cmdparse: advanced command line parser supporting commands
5
- # Copyright (C) 2004-2010 Thomas Leitner
5
+ # Copyright (C) 2004-2014 Thomas Leitner
6
6
  #
7
7
  # This file is part of cmdparse.
8
8
  #
@@ -19,18 +19,22 @@
19
19
  #
20
20
  #++
21
21
 
22
-
23
22
  begin
24
23
  require 'rubygems'
25
- require 'rake/gempackagetask'
24
+ require 'rubygems/package_task'
26
25
  rescue Exception
27
26
  nil
28
27
  end
29
28
 
29
+ begin
30
+ require 'webgen/page'
31
+ rescue LoadError
32
+ end
33
+
30
34
  require 'rake/clean'
31
35
  require 'rake/packagetask'
32
- require 'rake/rdoctask'
33
36
  require 'rake/testtask'
37
+ require 'rdoc/task'
34
38
 
35
39
  # General actions ##############################################################
36
40
 
@@ -38,167 +42,133 @@ $:.unshift 'lib'
38
42
  require 'cmdparse'
39
43
 
40
44
  PKG_NAME = "cmdparse"
41
- PKG_VERSION = CmdParse::VERSION.join( '.' )
45
+ PKG_VERSION = CmdParse::VERSION.join('.')
42
46
  PKG_FULLNAME = PKG_NAME + "-" + PKG_VERSION
43
47
 
44
- SRC_RB = FileList['lib/**/*.rb']
48
+ # End user tasks ################################################################
45
49
 
46
50
  # The default task is run if rake is given no explicit arguments.
47
51
 
48
- desc "Default Task"
52
+ desc "Default Task (does testing)"
49
53
  task :default => :test
50
54
 
51
-
52
- # End user tasks ################################################################
53
-
54
- desc "Prepares for installation"
55
- task :prepare do
55
+ desc "Installs the package #{PKG_NAME} using setup.rb"
56
+ task :install do
56
57
  ruby "setup.rb config"
57
58
  ruby "setup.rb setup"
58
- end
59
-
60
-
61
- desc "Installs the package #{PKG_NAME}"
62
- task :install => [:prepare]
63
- task :install do
64
59
  ruby "setup.rb install"
65
60
  end
66
61
 
67
-
68
62
  task :clean do
69
63
  ruby "setup.rb clean"
70
64
  end
71
65
 
72
- task :test do
73
- ruby "-Ilib test/tc_commandhash.rb"
66
+ Rake::TestTask.new do |test|
67
+ test.test_files = FileList['test/tc_*.rb']
74
68
  end
75
69
 
76
- CLOBBER << "doc/output"
77
- desc "Builds the documentation"
78
- task :doc => [:rdoc] do
79
- chdir "doc" do
70
+ if defined?(Webgen)
71
+ CLOBBER << "htmldoc"
72
+ CLOBBER << "webgen-tmp"
73
+ desc "Builds the documentation"
74
+ task :htmldoc do
80
75
  sh "webgen"
81
76
  end
82
77
  end
83
78
 
84
- rd = Rake::RDocTask.new do |rdoc|
85
- rdoc.rdoc_dir = 'doc/output/rdoc'
86
- rdoc.title = PKG_NAME
87
- rdoc.options << '--line-numbers' << '--inline-source' << '-m CmdParse::CommandParser'
88
- rdoc.rdoc_files.include( 'lib/**/*.rb' )
79
+ if defined? RDoc::Task
80
+ RDoc::Task.new do |rdoc|
81
+ rdoc.rdoc_dir = 'htmldoc/rdoc'
82
+ rdoc.title = PKG_NAME
83
+ rdoc.main = 'CmdParse::CommandParser'
84
+ rdoc.options << '--line-numbers'
85
+ rdoc.rdoc_files.include('lib')
86
+ end
89
87
  end
90
88
 
89
+ if defined?(Webgen) && defined?(RDoc::Task)
90
+ desc "Build the whole user documentation"
91
+ task :doc => [:rdoc, :htmldoc]
92
+ end
91
93
 
92
94
  # Developer tasks ##############################################################
93
95
 
96
+ namespace :dev do
97
+
98
+ PKG_FILES = FileList.new( [
99
+ 'setup.rb',
100
+ 'COPYING',
101
+ 'COPYING.LESSER',
102
+ 'README.md',
103
+ 'Rakefile',
104
+ 'net.rb',
105
+ 'VERSION',
106
+ 'lib/**/*.rb',
107
+ 'doc/**/*',
108
+ 'test/*'
109
+ ])
94
110
 
95
- PKG_FILES = FileList.new( [
96
- 'setup.rb',
97
- 'TODO',
98
- 'COPYING',
99
- 'COPYING.LESSER',
100
- 'README',
101
- 'Rakefile',
102
- 'net.rb',
103
- 'VERSION',
104
- 'lib/**/*.rb',
105
- 'doc/**/*'
106
- ]) do |fl|
107
- fl.exclude( /\bsvn\b/ )
108
- fl.exclude( 'doc/output' )
109
- end
111
+ CLOBBER << "VERSION"
112
+ file 'VERSION' do
113
+ puts "Generating VERSION file"
114
+ File.open('VERSION', 'w+') {|file| file.write(PKG_VERSION + "\n")}
115
+ end
110
116
 
111
- if !defined? Gem
112
- puts "Package Target requires RubyGEMs"
113
- else
114
- spec = Gem::Specification.new do |s|
117
+ Rake::PackageTask.new('cmdparse', PKG_VERSION) do |pkg|
118
+ pkg.need_tar = true
119
+ pkg.need_zip = true
120
+ pkg.package_files = PKG_FILES
121
+ end
115
122
 
116
- #### Basic information
123
+ if defined? Gem
124
+ spec = Gem::Specification.new do |s|
117
125
 
118
- s.name = PKG_NAME
119
- s.version = PKG_VERSION
120
- s.summary = "Advanced command line parser supporting commands"
121
- s.description = <<-EOF
126
+ #### Basic information
127
+ s.name = PKG_NAME
128
+ s.version = PKG_VERSION
129
+ s.summary = "Advanced command line parser supporting commands"
130
+ s.description = <<-EOF
122
131
  cmdparse provides classes for parsing commands on the command line; command line options
123
132
  are parsed using optparse or any other option parser implementation. Programs that use
124
133
  such command line interfaces are, for example, subversion's 'svn' or Rubygem's 'gem' program.
125
- EOF
126
-
127
- #### Dependencies, requirements and files
128
-
129
- s.files = PKG_FILES.to_a
130
-
131
- s.require_path = 'lib'
132
- s.autorequire = 'cmdparse'
133
-
134
- #### Documentation
135
-
136
- s.has_rdoc = true
137
- s.extra_rdoc_files = rd.rdoc_files.reject do |fn| fn =~ /\.rb$/ end.to_a
138
- s.rdoc_options = ['--line-numbers', '-m', 'CmdParse::CommandParser']
139
-
140
- #### Author and project details
141
-
142
- s.author = "Thomas Leitner"
143
- s.email = "t_leitner@gmx.at"
144
- s.homepage = "http://cmdparse.rubyforge.org"
145
- s.rubyforge_project = "cmdparse"
146
- end
147
-
148
- task :package => [:generateFiles]
149
- task :generateFiles do |t|
150
- File.open('VERSION', 'w+') do |file| file.write( PKG_VERSION + "\n" ) end
151
- end
134
+ EOF
135
+ s.license = 'LGPLv3'
136
+
137
+ #### Dependencies, requirements and files
138
+ s.files = PKG_FILES.to_a
139
+ s.require_path = 'lib'
140
+ s.autorequire = 'cmdparse'
141
+
142
+ #### Documentation
143
+ s.has_rdoc = true
144
+ s.rdoc_options = ['--line-numbers', '--main', 'CmdParse::CommandParser']
145
+
146
+ #### Author and project details
147
+ s.author = "Thomas Leitner"
148
+ s.email = "t_leitner@gmx.at"
149
+ s.homepage = "http://cmdparse.gettalong.org"
150
+ end
152
151
 
153
- CLOBBER << "VERSION"
152
+ Gem::PackageTask.new(spec) do |pkg|
153
+ pkg.need_zip = true
154
+ pkg.need_tar = true
155
+ end
154
156
 
155
- Rake::GemPackageTask.new( spec ) do |pkg|
156
- pkg.need_zip = true
157
- pkg.need_tar = true
158
157
  end
159
158
 
160
- end
161
-
162
- desc "Upload documentation to homepage"
163
- task :uploaddoc => [:doc] do
164
- Dir.chdir('doc/output')
165
- sh "scp -r * gettalong@rubyforge.org:/var/www/gforge-projects/cmdparse/"
166
- end
167
-
168
-
169
- # Misc tasks ###################################################################
170
-
171
-
172
- def count_lines( filename )
173
- lines = 0
174
- codelines = 0
175
- open( filename ) do |f|
176
- f.each do |line|
177
- lines += 1
178
- next if line =~ /^\s*$/
179
- next if line =~ /^\s*#/
180
- codelines += 1
159
+ if defined?(Gem)
160
+ desc "Upload the release to Rubygems"
161
+ task :publish_files => [:package] do
162
+ sh "gem push pkg/cmdparse-#{PKG_VERSION}.gem"
163
+ puts 'done'
181
164
  end
182
165
  end
183
- [lines, codelines]
184
- end
185
166
 
167
+ if defined?(Webgen) && defined?(Gem) && defined?(Rake::RDocTask)
168
+ desc "Release cmdparse version " + PKG_VERSION
169
+ task :release => [:clobber, :package, :publish_files]
170
+ end
186
171
 
187
- def show_line( msg, lines, loc )
188
- printf "%6s %6s %s\n", lines.to_s, loc.to_s, msg
189
172
  end
190
173
 
191
-
192
- desc "Show statistics"
193
- task :statistics do
194
- total_lines = 0
195
- total_code = 0
196
- show_line( "File Name", "Lines", "LOC" )
197
- SRC_RB.each do |fn|
198
- lines, codelines = count_lines fn
199
- show_line( fn, lines, codelines )
200
- total_lines += lines
201
- total_code += codelines
202
- end
203
- show_line( "Total", total_lines, total_code )
204
- end
174
+ task :clobber => ['dev:clobber']
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.5
1
+ 2.0.6
@@ -1,9 +1,9 @@
1
1
  ---
2
2
  title: About
3
- inMenu: true
4
- orderInfo: 2
3
+ in_menu: true
4
+ sort_info: 2
5
5
  ---
6
- h2. About @cmdparse@
6
+ ## About `cmdparse`
7
7
 
8
8
  Some new programs use a "command style" command line. Examples for such programs are the "svn"
9
9
  program from Subversion and the "gem" program from Rubygems. The standard Ruby distribution has no
@@ -15,14 +15,10 @@ specifying commands and subcommands.
15
15
 
16
16
  A typical command line for a program which uses commands looks like this:
17
17
 
18
- <pre>
19
- $ net --verbose ipaddr add 192.168.0.1 193.150.0.1
20
- </pre>
18
+ $ net --verbose ipaddr add 192.168.0.1 193.150.0.1
21
19
 
20
+ ## Author
22
21
 
23
- h2. Author
24
-
25
- * *Thomas Leitner*
26
- * Web: "http://cmdparse.rubyforge.org":http://cmdparse.rubyforge.org
27
- * e-Mail: "t_leitner@gmx.at":mailto:t_leitner@gmx.at
28
- * GPG Key-Id: 0xD942E7F6
22
+ * **Thomas Leitner**
23
+ * Web: <http://cmdparse.gettalong.org>
24
+ * e-Mail: <mailto:t_leitner@gmx.at>
@@ -145,7 +145,8 @@
145
145
  border: 1px solid black;
146
146
  }
147
147
 
148
- table.cmdparse-example td {
148
+ table.cmdparse-example td, pre {
149
149
  border: 1px solid #408040;
150
150
  background-color: white;
151
+ padding: 5px;
151
152
  }
@@ -20,23 +20,20 @@
20
20
  </div>
21
21
 
22
22
  <div id="headerbar" class="bar">
23
- <span class="left">Navbar: {breadcrumbTrail: }</span>
24
- <span class="right">Language: {langbar: }</span>
23
+ <span class="left">Navbar: {breadcrumb_trail: }</span>
25
24
  <div style="clear:both"></div>
26
25
  </div>
27
26
 
28
27
  <div id="menu">
29
- {menu:}
28
+ {menu: {options: {mi: {in_menu: true}, sort: true}}}
30
29
  </div>
31
30
 
32
31
  <div id="body">
33
- {content:}
32
+ <webgen:block name="content" />
34
33
  </div>
35
34
 
36
35
  <div id="footer" class="bar">
37
- <a href="http://validator.w3.org/check?uri=referer"><img src="{resource: w3c-valid-xhtml11}" alt="Valid XHTML 1.1!" height="31" width="88" /></a>
38
- <a href="http://jigsaw.w3.org/css-validator/check/referer"><img src="{resource: w3c-valid-css}" alt="Valid CSS!" height="31" width="88" /></a>
39
- <a href="http://webgen.rubyforge.org"><img src="{resource: webgen-generated}" alt="Generated by webgen" height="31" width="88"/></a> on <b>{date: }</b>
36
+ Generated by <a href="http://webgen.gettalong.org">webgen</a> on <b>{date: }</b>
40
37
  </div>
41
38
  </div>
42
39
  </body>
@@ -0,0 +1,34 @@
1
+ ---
2
+ title: Download & Installation
3
+ in_menu: true
4
+ sort_info: 4
5
+ ---
6
+ ## Download
7
+
8
+ The newest version of cmdparse can be downloaded from [Rubygems] or the [cmdparse Github
9
+ page][github]!
10
+
11
+ [Rubygems]: http://rubygems.org/gems/cmdparse
12
+ [github]: http://github.com/gettalong/cmdparse
13
+
14
+
15
+ ## Dependencies
16
+
17
+ This library has *no* dependencies.
18
+
19
+
20
+ ## Installation
21
+
22
+ The preferred way of installing cmdparse is via RubyGems:
23
+
24
+ $ gem install cmdparse
25
+
26
+ If you do not have RubyGems installed, but Rake, you can use the following command:
27
+
28
+ $ rake install
29
+
30
+ If you have neither RubyGems nor Rake, use these commands:
31
+
32
+ $ ruby setup.rb config
33
+ $ ruby setup.rb setup
34
+ $ ruby setup.rb install