command-line-flunky 1.0.0 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 99237ec939fb18b1666b3ed840e0ab32f320403e
4
- data.tar.gz: d5c93b593ac010cb8bc24c4aa45ff2860c55a4cb
3
+ metadata.gz: 11f74a3bcbea6c555860d50aa86e81ea9fcb573a
4
+ data.tar.gz: e0e7e1321953980e21766c2dc3d75fc8db0f2b09
5
5
  SHA512:
6
- metadata.gz: 5bf7db0ca30a51a61b00a9b526501cee92208cc57f5040385ba0ca00bbc2b7900fed8ace3d37cfff2ee005cea6970d8454ac85a228141429552d54260b3a34a8
7
- data.tar.gz: 89e7e0cc72bd938cddef40b0045c921e74cc0d2391bf0ad9b4ab8bf61009ca7db340c3c6512c308e5af05f13303ed7c462875e750a3cb881e504fc1f7ccaa8a0
6
+ metadata.gz: 338c789db19667439e38b86cbad22c8688ee5ec44eb5f43c4e8373caeca925831f97a4fcb12fe3c0fa99a993e81b159b9d83d323c46ee08a9ef95b2a4fe3e802
7
+ data.tar.gz: a25460be109768ba8437ebc96b1e4def10d995c6e1962e38a004a362ae0e6dca1a0ced39357363b537bf1b2aae94286eaceecfd8a2ab98b50f62d758ec1b103c
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.0
1
+ 1.0.1
@@ -0,0 +1,68 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: command-line-flunky 1.0.1 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "command-line-flunky"
9
+ s.version = "1.0.1"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Edmund Highcock"]
14
+ s.date = "2014-06-11"
15
+ s.description = "A framework for quickly creating a command line tool and manual. Coherently and simply links a Ruby class/module interface to a set of command line commands and options. A comprehensive example is in the test folder."
16
+ s.email = "edmundhighcock@users.sourceforge.net"
17
+ s.executables = ["commandlineflunkytestutility"]
18
+ s.extra_rdoc_files = [
19
+ "LICENSE.txt",
20
+ "README.rdoc"
21
+ ]
22
+ s.files = [
23
+ ".document",
24
+ "Gemfile",
25
+ "LICENSE.txt",
26
+ "README.rdoc",
27
+ "Rakefile",
28
+ "VERSION",
29
+ "bin/commandlineflunkytestutility",
30
+ "command-line-flunky.gemspec",
31
+ "lib/command-line-flunky-test-utility.rb",
32
+ "lib/command-line-flunky.rb",
33
+ "test/helper.rb",
34
+ "test/test_command-line-flunky.rb"
35
+ ]
36
+ s.homepage = "http://github.com/edmundhighcock/command-line-flunky"
37
+ s.licenses = ["GPLv3"]
38
+ s.rubygems_version = "2.2.2"
39
+ s.summary = "A framework for quickly creating a command line tool and manual."
40
+
41
+ if s.respond_to? :specification_version then
42
+ s.specification_version = 4
43
+
44
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
45
+ s.add_runtime_dependency(%q<rubyhacks>, [">= 0.1.4"])
46
+ s.add_development_dependency(%q<shoulda>, [">= 0"])
47
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
48
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
49
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
50
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
51
+ else
52
+ s.add_dependency(%q<rubyhacks>, [">= 0.1.4"])
53
+ s.add_dependency(%q<shoulda>, [">= 0"])
54
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
55
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
56
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
57
+ s.add_dependency(%q<simplecov>, [">= 0"])
58
+ end
59
+ else
60
+ s.add_dependency(%q<rubyhacks>, [">= 0.1.4"])
61
+ s.add_dependency(%q<shoulda>, [">= 0"])
62
+ s.add_dependency(%q<rdoc>, ["~> 3.12"])
63
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
64
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
65
+ s.add_dependency(%q<simplecov>, [">= 0"])
66
+ end
67
+ end
68
+
@@ -3,7 +3,7 @@ if RUBY_VERSION.to_f < 1.9
3
3
  raise "Ruby version 1.9 or greater required (current version is #{RUBY_VERSION})"
4
4
  end
5
5
  module CommandLineFlunky
6
- # $stderr.puts STARTUP_MESSAGE unless $has_put_startup_message
6
+ $stderr.puts STARTUP_MESSAGE unless $has_put_startup_message
7
7
 
8
8
  COMMAND_FOLDER = Dir.pwd
9
9
  SCRIPT_FOLDER = File.dirname(File.expand_path(SCRIPT_FILE)) #i.e. where the script using command line flunky is
@@ -121,12 +121,13 @@ CommandLineFlunky::COMMANDS.each do |command|
121
121
  eval("def #\{command[1]}(*args)
122
122
  CommandLineFlunky.send(#\{command[0].to_sym.inspect}, *args)
123
123
  end")
124
+ end
124
125
 
125
126
  EOF
126
127
 
127
128
  def self.interactive_mode(copts={})
128
129
  # process_command_options(copts)
129
- unless false and FileTest.exist? (ENV['HOME'] + "/.#{PROJECT_NAME}_interactive_options.rb")
130
+ unless FileTest.exist? (ENV['HOME'] + "/.#{PROJECT_NAME}_interactive_options.rb")
130
131
  File.open(ENV['HOME'] + "/.#{PROJECT_NAME}_interactive_options.rb", 'w') do |file|
131
132
  file.puts <<EOF
132
133
  $has_put_startup_message = true #please leave!
@@ -162,16 +163,49 @@ EOF
162
163
  end"
163
164
  file.puts CommandLineFlunky::INTERACTIVE_METHODS
164
165
  end
165
- exec %[#{Config::CONFIG['bindir']}/irb#{Config::CONFIG['ruby_install_name'].sub(/ruby/, '')} -f -I '#{SCRIPT_FOLDER}' -I '#{File.dirname(__FILE__)}' -I '#{Dir.pwd}' -I '#{ENV['HOME']}' -r '.#{PROJECT_NAME}_interactive_options' -r '#{File.basename(SCRIPT_FILE)}' -r .int.tmp ]
166
+ exec %[#{RbConfig::CONFIG['bindir']}/irb#{RbConfig::CONFIG['ruby_install_name'].sub(/ruby/, '')} -f -I '#{SCRIPT_FOLDER}' -I '#{File.dirname(__FILE__)}' -I '#{Dir.pwd}' -I '#{ENV['HOME']}' -r '.#{PROJECT_NAME}_interactive_options' -r '#{File.basename(SCRIPT_FILE)}' -r .int.tmp ]
166
167
  end
167
168
 
168
169
 
169
170
  def self.run_script
171
+ do_profile = (ENV[key = %[#{PROJECT_NAME.upcase}_PROFILE]] and ENV[key].size > 0) ? ENV[key] : false
172
+ if do_profile
173
+ begin
174
+ require 'ruby-prof'
175
+ rescue LoadError
176
+ eputs "Please install ruby-prof using ' $ gem install ruby-prof'"
177
+ exit
178
+ end
179
+
180
+ # Profile the code
181
+ RubyProf.start
182
+ end
183
+ set_default_command_options_from_command_line
170
184
  setup(DEFAULT_COMMAND_OPTIONS)
171
185
  return if $command_line_flunky_interactive_mode
172
186
  command = COMMANDS.find{|com| com.slice(0..1).include? ARGV[0]}
173
187
  raise "Command #{ARGV[0]} not found" unless command
174
188
  send(command[0].to_sym, *ARGV.slice(1...(1+command[2])), DEFAULT_COMMAND_OPTIONS)
189
+ if do_profile
190
+ result = RubyProf.stop
191
+ if ENV[key2 = %[#{PROJECT_NAME.upcase}_PROFILE_EXCLUDE]] and ENV[key2].size > 0
192
+ result.eliminate_methods!(eval(ENV[key2]))
193
+ end
194
+
195
+ # Print a flat profile to text
196
+ case ENV[key]
197
+ when /html/i
198
+ printer = RubyProf::GraphHtmlPrinter.new(result)
199
+ when /graph/i
200
+ printer = RubyProf::GraphPrinter.new(result)
201
+ when /txt/i
202
+ printer = RubyProf::FlatPrinter.new(result)
203
+ else
204
+ raise "#{key} should be 'html', 'graph' or 'txt'"
205
+ end
206
+
207
+ printer.print($stdout, {})
208
+ end
175
209
  end
176
210
  def self.manual(copts={})
177
211
  help = <<EOF
@@ -203,7 +237,7 @@ EOF
203
237
  end
204
238
  end
205
239
 
206
- CommandLineFlunky.set_default_command_options_from_command_line
240
+ #CommandLineFlunky.set_default_command_options_from_command_line
207
241
 
208
242
  ####################
209
243
  # CommandLineFlunky.run_script unles
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: command-line-flunky
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.0.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Edmund Highcock
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-25 00:00:00.000000000 Z
11
+ date: 2014-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rubyhacks
@@ -112,6 +112,7 @@ files:
112
112
  - Rakefile
113
113
  - VERSION
114
114
  - bin/commandlineflunkytestutility
115
+ - command-line-flunky.gemspec
115
116
  - lib/command-line-flunky-test-utility.rb
116
117
  - lib/command-line-flunky.rb
117
118
  - test/helper.rb
@@ -136,7 +137,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
136
137
  version: '0'
137
138
  requirements: []
138
139
  rubyforge_project:
139
- rubygems_version: 2.2.1
140
+ rubygems_version: 2.2.2
140
141
  signing_key:
141
142
  specification_version: 4
142
143
  summary: A framework for quickly creating a command line tool and manual.