user-choices 1.1.3 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,3 +1,10 @@
1
+ Version 1.1.4 -- in progress
2
+ * Enable better command_line documentation: ChoicesBuilder#add_help_line,
3
+ ChoicesBuilder#section, ChoicesBuilder#section_specific_to_script.
4
+ * One Rakefile instead of two.
5
+ * Give up on using extensions/string: too many name conflicts, too hard to
6
+ avoid. Facets didn't solve the problem.
7
+
1
8
  Version 1.1.3
2
9
  * Bugfix: PosixCommandLineSource was not uniformly treated as a
3
10
  CommandLineSource.
@@ -3,7 +3,6 @@ LICENSE.txt
3
3
  Manifest.txt
4
4
  README.txt
5
5
  Rakefile
6
- Rakefile.hoe
7
6
  examples/older/README.txt
8
7
  examples/older/command-line.rb
9
8
  examples/older/default-values.rb
@@ -34,7 +33,5 @@ test/arglist-strategy-tests.rb
34
33
  test/builder-tests.rb
35
34
  test/command-line-source-tests.rb
36
35
  test/conversion-tests.rb
37
- test/set-standalone-test-paths.rb
38
36
  test/source-tests.rb
39
37
  test/user-choices-slowtests.rb
40
- user-choices.tmproj
data/Rakefile CHANGED
@@ -1,19 +1,58 @@
1
- # This is a Makefile that would live in the root folder for a package
2
- # that follows the Scripting for Testers conventions.
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Created by Brian Marick on 2007-07-03.
4
+ # Copyright (c) 2007. All rights reserved.
3
5
 
4
- $started_from_rakefile = true
6
+ require 'hoe'
7
+ require 'lib/user-choices/version'
5
8
 
6
- PACKAGE_ROOT = Dir.pwd
7
- $:.unshift("#{PACKAGE_ROOT}/lib")
8
- require 's4t-utils/load-path-auto-adjuster'
9
+ PROJECT='user-choices'
10
+ THIS_RELEASE=UserChoices::Version
11
+ ROOT = "svn+ssh://marick@rubyforge.org/var/svn/#{PROJECT}"
9
12
 
10
- require 's4t-utils'
11
- include S4tUtils
13
+ Hoe.new(PROJECT, THIS_RELEASE) do |p|
14
+ p.rubyforge_name = PROJECT
15
+ p.changes = "See History.txt"
16
+ p.author = "Brian Marick"
17
+ p.description = "Unified interface to command-line, environment, and configuration files."
18
+ p.summary = p.description
19
+ p.email = "marick@exampler.com"
20
+ p.extra_deps = [['xml-simple', '>= 1.0.11'],
21
+ ['s4t-utils', '>= 1.0.3'],
22
+ ['builder', '>= 2.1.2']] # for testing
23
+ p.test_globs = "test/**/*tests.rb"
24
+ p.rdoc_pattern = %r{README.txt|History.txt|lib/user-choices.rb|lib/user-choices/.+\.rb}
25
+ p.url = "http://user-choices.rubyforge.org"
26
+ p.remote_rdoc_dir = 'rdoc'
27
+ end
12
28
 
13
- MyFileSystemName='user-choices' # No ".rb" extension.
14
- MyModuleName='UserChoices'
15
- MyRdocFiles = FileList.new("lib/#{MyFileSystemName}.rb",
16
- "lib/#{MyFileSystemName}/**/*.rb").exclude('**/third-party/**')
29
+ require 's4t-utils/rake-task-helpers'
30
+ desc "Run fast tests."
31
+ task 'fast' do
32
+ S4tUtils.run_particular_tests('test', 'fast')
33
+ end
17
34
 
18
- require 's4t-utils/rakefile-common'
35
+ desc "Run slow tests."
36
+ task 'slow' do
37
+ S4tUtils.run_particular_tests('test', 'slow')
38
+ end
19
39
 
40
+ desc "Tag release with current version."
41
+ task 'tag_release' do
42
+ from = "#{ROOT}/trunk"
43
+ to = "#{ROOT}/tags/rel-#{THIS_RELEASE}"
44
+ message = "Release #{THIS_RELEASE}"
45
+ exec = "svn copy -m '#{message}' #{from} #{to}"
46
+ puts exec
47
+ system(exec)
48
+ end
49
+
50
+ desc "Export to ~/tmp/exports/#{PROJECT}"
51
+ task 'export' do
52
+ Dir.chdir("#{ENV['HOME']}/tmp/exports") do
53
+ rm_rf PROJECT
54
+ exec = "svn export #{ROOT}/trunk #{PROJECT}"
55
+ puts exec
56
+ system exec
57
+ end
58
+ end
@@ -213,6 +213,9 @@ if $0 == __FILE__ <br />
213
213
  <p>
214
214
  <b><code>builder.add_source(YamlConfigFileSource, <font style="color: #800020;">:from_file</font>, "filename")</code></b> says that the user choices are in a <a href="http://yaml.org/" title="YAML Ain't Markup Language">YAML</a> file named "filename" in the user's home directory. The home directory is found the same way RubyGems finds it.
215
215
  </p>
216
+ <p>
217
+ You can use <b><font style="color: #800020;">:from_complete_path</font></b> if your YAML file isn't in the home directory. In that case, the next argument is a path to the YAML file. It can be either relative or absolute.
218
+ </p>
216
219
  <p>
217
220
  YAML files should contain a single level of keys and values. The values can be numbers, strings, and arrays of numbers or strings. Here is an acceptable file:
218
221
  </p>
@@ -237,6 +240,9 @@ if $0 == __FILE__ <br />
237
240
  <dd>
238
241
  <p> <b><code>builder.add_source(XmlConfigFileSource, <font style="color: #800020;">:from_file</font>, "filename")</code></b> says that the user choices are in a XML file named "filename" in the user's home directory. The home directory is found the same way RubyGems finds it.
239
242
  </p>
243
+ <p>
244
+ You can use <b><font style="color: #800020;">:from_complete_path</font></b> if your XML file isn't in the home directory. In that case, the next argument is a path to the XML file. It can be either relative or absolute.
245
+ </p>
240
246
  <p>
241
247
  Here is an acceptable XML file:
242
248
  </p>
@@ -56,6 +56,35 @@ module UserChoices
56
56
  @sources << source
57
57
  @command_line_source = source if source_class <= CommandLineSource
58
58
  end
59
+
60
+ # Add a single line composed of _string_ to the current position in the
61
+ # help output.
62
+ def add_help_line(string)
63
+ user_claims(@command_line_source) {
64
+ "Can't use 'add_help_string' when there's no command line source."
65
+ }
66
+ @command_line_source.add_help_line(string)
67
+ end
68
+
69
+ # Demarcate a section of help text. It begins with the _description_,
70
+ # ends with a dashed line.
71
+ def section(description)
72
+ add_help_line("... " + description + ":")
73
+ yield
74
+ add_help_line("---------------------------------")
75
+ add_help_line('')
76
+ end
77
+
78
+ # In groups of related commands, there are often choices that apply to
79
+ # all commands and choices that apply only to this particular command.
80
+ # Use this to define the latter.
81
+ def section_specific_to_script
82
+ section("specific to this script") do
83
+ yield
84
+ end
85
+ end
86
+
87
+
59
88
 
60
89
  # Once sources and choices have been described, this builds and
61
90
  # returns a hash-like object indexed by the choices.
@@ -3,7 +3,6 @@ require 's4t-utils'
3
3
  require 'user-choices/sources.rb'
4
4
  require 'user-choices/arglist-strategies'
5
5
  include S4tUtils
6
- require 'extensions/string'
7
6
 
8
7
  module UserChoices # :nodoc
9
8
 
@@ -92,7 +91,11 @@ module UserChoices # :nodoc
92
91
  use_strategy(choice, OneOptionalArg)
93
92
  end
94
93
 
95
-
94
+ # Add a single line composed of _string_ to the current position in the
95
+ # help output.
96
+ def add_help_line(string)
97
+ @parser.separator(string)
98
+ end
96
99
 
97
100
 
98
101
  # Public for testing.
@@ -123,10 +126,11 @@ module UserChoices # :nodoc
123
126
  def help_banner(banner, *more) # :nodoc:
124
127
  @parser.banner = banner
125
128
  more.each do | line |
126
- @parser.separator(line)
129
+ add_help_line(line)
127
130
  end
128
- @parser.separator ''
129
- @parser.separator 'Options:'
131
+
132
+ add_help_line ''
133
+ add_help_line 'Options:'
130
134
 
131
135
  @parser.on_tail("-?", "-h", "--help", "Show this message.") do
132
136
  help
@@ -155,7 +159,7 @@ module UserChoices # :nodoc
155
159
  rescue SystemExit
156
160
  raise
157
161
  rescue Exception => ex
158
- message = if ex.message.starts_with?(error_prefix)
162
+ message = if ex.message.has_exact_prefix?(error_prefix)
159
163
  ex.message
160
164
  else
161
165
  error_prefix + ex.message
@@ -152,7 +152,11 @@ module UserChoices # :nodoc
152
152
  class FileSource < AbstractSource # :nodoc:
153
153
 
154
154
  def from_file(filename)
155
- @path = File.join(S4tUtils.find_home, filename)
155
+ from_complete_path(File.join(S4tUtils.find_home, filename))
156
+ end
157
+
158
+ def from_complete_path(path)
159
+ @path = path
156
160
  @contents_as_hash = self.read_into_hash
157
161
  @contents_as_hash.each do | external_name, value |
158
162
  sym = external_name.to_inputable_sym
@@ -1,3 +1,3 @@
1
1
  module UserChoices
2
- Version = '1.1.3'
2
+ Version = '1.1.4'
3
3
  end
@@ -3,12 +3,12 @@
3
3
  # Created by Brian Marick on 2007-08-10.
4
4
  # Copyright (c) 2007. All rights reserved.
5
5
 
6
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
7
6
  require 'test/unit'
8
7
  require 's4t-utils'
9
8
  require 'builder'
10
9
  require 'user-choices/arglist-strategies'
11
10
  include S4tUtils
11
+ set_test_paths(__FILE__)
12
12
 
13
13
  # Since ArglistStrategies were extracted from CommandLineSource, most
14
14
  # of the testing is implicit.
@@ -1,8 +1,8 @@
1
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
2
1
  require 'test/unit'
3
2
  require 's4t-utils'
4
3
  require 'user-choices'
5
4
  include S4tUtils
5
+ set_test_paths(__FILE__)
6
6
 
7
7
 
8
8
  class TestDefaultsAndTypes < Test::Unit::TestCase
@@ -445,9 +445,11 @@ class TestCommandLineConstruction < Test::Unit::TestCase
445
445
  "Usage: prog [options]",
446
446
  "This is supplemental.")
447
447
 
448
- b.add_choice(:test) { | command_line |
448
+ b.add_choice(:test, :type => :boolean) { | command_line |
449
449
  command_line.uses_switch("--test",
450
450
  "Here's text for a switch")
451
+ }
452
+ b.add_choice(:renew) { | command_line |
451
453
  command_line.uses_option("-r", "--renew VALUE",
452
454
  "Here's text for an option")
453
455
  }
@@ -467,103 +469,163 @@ class TestCommandLineConstruction < Test::Unit::TestCase
467
469
  }
468
470
  end
469
471
 
470
- class TestSpecialCases < Test::Unit::TestCase
471
- include UserChoices
472
-
473
- def test_environment_choices_can_be_given_prefix_and_mapping
474
- with_environment_vars("prefix_e" => "e", "HOME" => '/Users/marick') {
475
- b = ChoicesBuilder.new
476
- b.add_source(EnvironmentSource, :with_prefix, "prefix_", :mapping, {:home => "HOME" })
477
- b.add_choice(:e)
478
- b.add_choice(:home)
479
- choices = b.build
480
- assert_equal("e", choices[:e])
481
- assert_equal("/Users/marick", choices[:home])
482
- }
483
-
484
- end
485
-
486
-
487
- def test_required_arg_with_type_conversion
488
- with_command_args("2") {
489
- b = ChoicesBuilder.new
490
- b.add_source(CommandLineSource, :usage, "blah")
491
- b.add_choice(:e, :type => :integer) { |command_line |
492
- command_line.uses_arg
493
- }
494
- choices = b.build
495
- assert_equal(2, choices[:e])
496
- }
497
- end
472
+ def test_builder_can_add_separators_to_help_text
473
+ with_command_args('--help') {
474
+ output = capturing_stderr do
475
+ assert_wants_to_exit do
476
+ b = ChoicesBuilder.new
477
+ b.add_source(CommandLineSource, :usage,
478
+ "Usage: prog [options]",
479
+ "This is supplemental.")
498
480
 
499
- def test_required_arg_conversion_prints_right_message
500
- with_command_args("b") {
501
- b = ChoicesBuilder.new
502
- b.add_source(CommandLineSource, :usage, "blah")
503
- b.add_choice(:e, :type => :integer) { |command_line |
504
- command_line.uses_arg
505
- }
506
- output = capturing_stderr do
507
- assert_wants_to_exit do
508
- b.build
481
+ b.add_help_line("==============")
482
+ b.add_choice(:test) { | command_line |
483
+ command_line.uses_switch("--test",
484
+ "Here's text for a switch")
485
+ }
486
+ b.build
487
+ end
488
+ end
489
+ assert(l1 = output.index("This is supplemental"))
490
+ assert(l2 = output.index(/==============/))
491
+ assert(l3 = output.index(/--\[no-\]test.*Here's text for a switch/))
492
+
493
+ assert(l1 < l2)
494
+ assert(l2 < l3)
495
+ }
496
+ end
497
+
498
+ def test_builder_can_group_help_text_in_sections
499
+ with_command_args('--help') {
500
+ output = capturing_stderr do
501
+ assert_wants_to_exit do
502
+ b = ChoicesBuilder.new
503
+ b.add_source(CommandLineSource, :usage,
504
+ "Usage: prog [options]",
505
+ "This is supplemental.")
506
+
507
+ b.section("section head") do
508
+ b.add_choice(:test) { | command_line |
509
+ command_line.uses_switch("--test",
510
+ "Here's text for a switch")
511
+ }
509
512
  end
513
+ b.add_choice(:renew) { | command_line |
514
+ command_line.uses_option("-r", "--renew VALUE",
515
+ "Here's text for an option")
516
+ }
517
+ b.build
510
518
  end
511
- assert_no_match(/^Error in the command line: Error in the command line: /, output)
512
- }
513
- end
519
+ end
520
+ assert(l1 = output.index("This is supplemental"))
521
+ assert(l2 = output.index(/section head/))
522
+ assert(l3 = output.index(/--\[no-\]test.*Here's text for a switch/))
523
+ assert(l4 = output.index(/---------/))
524
+ assert(l5 = output.index(/Here's text for an option/))
514
525
 
515
- def test_optional_arg_with_type_conversion
516
- with_command_args('2') {
517
- b = ChoicesBuilder.new
518
- b.add_source(CommandLineSource, :usage, "blah")
519
- b.add_choice(:e, :type => :integer) { |command_line |
520
- command_line.uses_optional_arg
521
- }
522
- choices = b.build
523
- assert_equal(2, choices[:e])
526
+ assert(l1 < l2)
527
+ assert(l2 < l3)
528
+ assert(l3 < l4)
529
+ assert(l4 < l5)
530
+ }
531
+ end
532
+
533
+ end
534
+
535
+ class TestSpecialCases < Test::Unit::TestCase
536
+ include UserChoices
537
+
538
+ def test_environment_choices_can_be_given_prefix_and_mapping
539
+ with_environment_vars("prefix_e" => "e", "HOME" => '/Users/marick') {
540
+ b = ChoicesBuilder.new
541
+ b.add_source(EnvironmentSource, :with_prefix, "prefix_", :mapping, {:home => "HOME" })
542
+ b.add_choice(:e)
543
+ b.add_choice(:home)
544
+ choices = b.build
545
+ assert_equal("e", choices[:e])
546
+ assert_equal("/Users/marick", choices[:home])
547
+ }
548
+
549
+ end
550
+
551
+
552
+ def test_required_arg_with_type_conversion
553
+ with_command_args("2") {
554
+ b = ChoicesBuilder.new
555
+ b.add_source(CommandLineSource, :usage, "blah")
556
+ b.add_choice(:e, :type => :integer) { |command_line |
557
+ command_line.uses_arg
524
558
  }
525
- end
559
+ choices = b.build
560
+ assert_equal(2, choices[:e])
561
+ }
562
+ end
526
563
 
527
- def test_missing_optional_arg_with_type_conversion_is_OK
528
- # The type check applies only if the value is given.
529
- with_command_args('') {
530
- b = ChoicesBuilder.new
531
- b.add_source(CommandLineSource, :usage, "blah")
532
- b.add_choice(:e, :type => :integer) { |command_line |
533
- command_line.uses_optional_arg
534
- }
535
- assert_equal(nil, b.build[:e])
564
+ def test_required_arg_conversion_prints_right_message
565
+ with_command_args("b") {
566
+ b = ChoicesBuilder.new
567
+ b.add_source(CommandLineSource, :usage, "blah")
568
+ b.add_choice(:e, :type => :integer) { |command_line |
569
+ command_line.uses_arg
536
570
  }
537
- end
538
-
571
+ output = capturing_stderr do
572
+ assert_wants_to_exit do
573
+ b.build
574
+ end
575
+ end
576
+ assert_no_match(/^Error in the command line: Error in the command line: /, output)
577
+ }
539
578
  end
540
579
 
580
+ def test_optional_arg_with_type_conversion
581
+ with_command_args('2') {
582
+ b = ChoicesBuilder.new
583
+ b.add_source(CommandLineSource, :usage, "blah")
584
+ b.add_choice(:e, :type => :integer) { |command_line |
585
+ command_line.uses_optional_arg
586
+ }
587
+ choices = b.build
588
+ assert_equal(2, choices[:e])
589
+ }
590
+ end
541
591
 
542
- class TestUtilities < Test::Unit::TestCase
543
- include UserChoices
544
-
545
- def setup
546
- @builder = ChoicesBuilder.new
547
- end
548
-
549
- def test_message_send_splitter
550
- assert_equal([[:usage, 'arg']],
551
- @builder.message_sends([:usage, 'arg']))
552
- assert_equal([[:usage, 'arg1', 2]],
553
- @builder.message_sends([:usage, 'arg1', 2]))
554
- assert_equal([[:msg, 'arg1', 2], [:next, 1]],
555
- @builder.message_sends([:msg, 'arg1', 2, :next, 1]))
556
- # a common case
557
- assert_equal([[:with_prefix, 'p_'], [:mapping, {:home => 'home'}]],
558
- @builder.message_sends([:with_prefix, 'p_', :mapping, {:home => 'home'}]))
559
- end
560
-
561
- def test_symbol_indices
562
- assert_equal([0, 3], @builder.symbol_indices([:foo, 1, 2, :bar, "quux"]))
563
- end
592
+ def test_missing_optional_arg_with_type_conversion_is_OK
593
+ # The type check applies only if the value is given.
594
+ with_command_args('') {
595
+ b = ChoicesBuilder.new
596
+ b.add_source(CommandLineSource, :usage, "blah")
597
+ b.add_choice(:e, :type => :integer) { |command_line |
598
+ command_line.uses_optional_arg
599
+ }
600
+ assert_equal(nil, b.build[:e])
601
+ }
564
602
  end
565
603
 
604
+ end
605
+
566
606
 
607
+ class TestUtilities < Test::Unit::TestCase
608
+ include UserChoices
609
+
610
+ def setup
611
+ @builder = ChoicesBuilder.new
612
+ end
567
613
 
614
+ def test_message_send_splitter
615
+ assert_equal([[:usage, 'arg']],
616
+ @builder.message_sends([:usage, 'arg']))
617
+ assert_equal([[:usage, 'arg1', 2]],
618
+ @builder.message_sends([:usage, 'arg1', 2]))
619
+ assert_equal([[:msg, 'arg1', 2], [:next, 1]],
620
+ @builder.message_sends([:msg, 'arg1', 2, :next, 1]))
621
+ # a common case
622
+ assert_equal([[:with_prefix, 'p_'], [:mapping, {:home => 'home'}]],
623
+ @builder.message_sends([:with_prefix, 'p_', :mapping, {:home => 'home'}]))
624
+ end
625
+
626
+ def test_symbol_indices
627
+ assert_equal([0, 3], @builder.symbol_indices([:foo, 1, 2, :bar, "quux"]))
628
+ end
568
629
  end
569
630
 
631
+
@@ -1,9 +1,9 @@
1
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
2
1
  require 'test/unit'
3
2
  require 's4t-utils'
4
3
  require 'builder'
5
4
  require 'user-choices'
6
5
  include S4tUtils
6
+ set_test_paths(__FILE__)
7
7
 
8
8
  ### Handling of options with arguments ###
9
9
 
@@ -3,11 +3,11 @@
3
3
  # Created by Brian Marick on 2007-08-06.
4
4
  # Copyright (c) 2007. All rights reserved.
5
5
 
6
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
7
6
  require 'test/unit'
8
7
  require 's4t-utils'
9
8
  require 'user-choices'
10
9
  include S4tUtils
10
+ set_test_paths(__FILE__)
11
11
 
12
12
 
13
13
  class TestDefaultsAndTypes < Test::Unit::TestCase
@@ -1,10 +1,10 @@
1
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
2
1
  require 'test/unit'
3
2
  require 's4t-utils'
4
3
  require 'builder'
5
4
  require 'user-choices'
6
5
  include S4tUtils
7
- require 'extensions/string'
6
+ set_test_paths(__FILE__)
7
+ require 'tempfile'
8
8
 
9
9
 
10
10
  # The general contract of these objects.
@@ -312,6 +312,15 @@ class FileSourceTestCase < Test::Unit::TestCase
312
312
  assert_equal(53, choices[:maximum])
313
313
  end
314
314
  end
315
+
316
+ def test_complete_paths_to_config_file_are_allowed
317
+ tempfile = Tempfile.new('path-test')
318
+ tempfile.puts(@some_xml)
319
+ tempfile.close
320
+ choices = XmlConfigFileSource.new.from_complete_path(tempfile.path)
321
+ choices.fill
322
+ assert_equal('53', choices[:maximum])
323
+ end
315
324
 
316
325
 
317
326
 
@@ -388,7 +397,7 @@ class YamlConfigFileSourceTestCase < Test::Unit::TestCase
388
397
  | - a.com
389
398
  | - b.com
390
399
  | list-arg: 1,2, 3
391
- ".trim('|')
400
+ ".without_pretty_indentation('|')
392
401
  end
393
402
 
394
403
  def test_string_assurance
@@ -1,8 +1,8 @@
1
- load "set-standalone-test-paths.rb" unless $started_from_rakefile
2
1
  require 'test/unit'
3
2
  require 's4t-utils'
4
3
  require 'user-choices'
5
4
  include S4tUtils
5
+ set_test_paths(__FILE__)
6
6
 
7
7
 
8
8
 
metadata CHANGED
@@ -3,8 +3,8 @@ rubygems_version: 0.9.0
3
3
  specification_version: 1
4
4
  name: user-choices
5
5
  version: !ruby/object:Gem::Version
6
- version: 1.1.3
7
- date: 2007-09-19 00:00:00 -05:00
6
+ version: 1.1.4
7
+ date: 2007-09-28 00:00:00 -05:00
8
8
  summary: Unified interface to command-line, environment, and configuration files.
9
9
  require_paths:
10
10
  - lib
@@ -34,7 +34,6 @@ files:
34
34
  - Manifest.txt
35
35
  - README.txt
36
36
  - Rakefile
37
- - Rakefile.hoe
38
37
  - examples/older/README.txt
39
38
  - examples/older/command-line.rb
40
39
  - examples/older/default-values.rb
@@ -65,16 +64,15 @@ files:
65
64
  - test/builder-tests.rb
66
65
  - test/command-line-source-tests.rb
67
66
  - test/conversion-tests.rb
68
- - test/set-standalone-test-paths.rb
69
67
  - test/source-tests.rb
70
68
  - test/user-choices-slowtests.rb
71
- - user-choices.tmproj
72
69
  test_files:
73
70
  - test/arglist-strategy-tests.rb
74
71
  - test/builder-tests.rb
75
72
  - test/command-line-source-tests.rb
76
73
  - test/conversion-tests.rb
77
74
  - test/source-tests.rb
75
+ - test/user-choices-slowtests.rb
78
76
  rdoc_options:
79
77
  - --main
80
78
  - README.txt
@@ -107,16 +105,7 @@ dependencies:
107
105
  requirements:
108
106
  - - ">="
109
107
  - !ruby/object:Gem::Version
110
- version: 1.0.2
111
- version:
112
- - !ruby/object:Gem::Dependency
113
- name: extensions
114
- version_requirement:
115
- version_requirements: !ruby/object:Gem::Version::Requirement
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- version: 0.6.0
108
+ version: 1.0.3
120
109
  version:
121
110
  - !ruby/object:Gem::Dependency
122
111
  name: builder
@@ -1,24 +0,0 @@
1
- #!/usr/bin/env ruby
2
- #
3
- # Created by Brian Marick on 2007-07-03.
4
- # Copyright (c) 2007. All rights reserved.
5
-
6
- require 'hoe'
7
- require 'lib/user-choices/version'
8
-
9
- Hoe.new("user-choices", UserChoices::Version) do |p|
10
- p.rubyforge_name = "user-choices"
11
- p.changes = "See History.txt"
12
- p.author = "Brian Marick"
13
- p.description = "Unified interface to command-line, environment, and configuration files."
14
- p.summary = p.description
15
- p.email = "marick@exampler.com"
16
- p.extra_deps = [['xml-simple', '>= 1.0.11'],
17
- ['s4t-utils', '>= 1.0.2'],
18
- ['extensions', '>= 0.6.0'], # for testing
19
- ['builder', '>= 2.1.2']] # for testing
20
- p.test_globs = "test/**/*-tests.rb"
21
- p.rdoc_pattern = %r{README.txt|History.txt|lib/user-choices.rb|lib/user-choices/.+\.rb}
22
- p.url = "http://user-choices.rubyforge.org"
23
- p.remote_rdoc_dir = 'rdoc'
24
- end
@@ -1,5 +0,0 @@
1
- require 'pathname'
2
-
3
- PACKAGE_ROOT = Pathname.new(__FILE__).parent.parent.to_s
4
- $:.unshift("#{PACKAGE_ROOT}/lib")
5
- require 's4t-utils/load-path-auto-adjuster'
@@ -1,170 +0,0 @@
1
- <?xml version="1.0" encoding="UTF-8"?>
2
- <!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
3
- <plist version="1.0">
4
- <dict>
5
- <key>currentDocument</key>
6
- <string>History.txt</string>
7
- <key>documents</key>
8
- <array>
9
- <dict>
10
- <key>expanded</key>
11
- <true/>
12
- <key>name</key>
13
- <string>user-choices</string>
14
- <key>regexFolderFilter</key>
15
- <string>!.*/(\.[^/]*|CVS|_darcs|_MTN|\{arch\}|blib|.*~\.nib|.*\.(framework|app|pbproj|pbxproj|xcode(proj)?|bundle))$</string>
16
- <key>selected</key>
17
- <true/>
18
- <key>sourceDirectory</key>
19
- <string></string>
20
- </dict>
21
- </array>
22
- <key>fileHierarchyDrawerWidth</key>
23
- <integer>246</integer>
24
- <key>metaData</key>
25
- <dict>
26
- <key>History.txt</key>
27
- <dict>
28
- <key>caret</key>
29
- <dict>
30
- <key>column</key>
31
- <integer>0</integer>
32
- <key>line</key>
33
- <integer>10</integer>
34
- </dict>
35
- <key>firstVisibleColumn</key>
36
- <integer>0</integer>
37
- <key>firstVisibleLine</key>
38
- <integer>0</integer>
39
- </dict>
40
- <key>lib/user-choices.rb</key>
41
- <dict>
42
- <key>caret</key>
43
- <dict>
44
- <key>column</key>
45
- <integer>11</integer>
46
- <key>line</key>
47
- <integer>9</integer>
48
- </dict>
49
- <key>firstVisibleColumn</key>
50
- <integer>0</integer>
51
- <key>firstVisibleLine</key>
52
- <integer>97</integer>
53
- </dict>
54
- <key>lib/user-choices/arglist-strategies.rb</key>
55
- <dict>
56
- <key>caret</key>
57
- <dict>
58
- <key>column</key>
59
- <integer>5</integer>
60
- <key>line</key>
61
- <integer>160</integer>
62
- </dict>
63
- <key>firstVisibleColumn</key>
64
- <integer>0</integer>
65
- <key>firstVisibleLine</key>
66
- <integer>111</integer>
67
- </dict>
68
- <key>lib/user-choices/builder.rb</key>
69
- <dict>
70
- <key>caret</key>
71
- <dict>
72
- <key>column</key>
73
- <integer>53</integer>
74
- <key>line</key>
75
- <integer>56</integer>
76
- </dict>
77
- <key>firstVisibleColumn</key>
78
- <integer>0</integer>
79
- <key>firstVisibleLine</key>
80
- <integer>0</integer>
81
- </dict>
82
- <key>lib/user-choices/command-line-source.rb</key>
83
- <dict>
84
- <key>caret</key>
85
- <dict>
86
- <key>column</key>
87
- <integer>31</integer>
88
- <key>line</key>
89
- <integer>56</integer>
90
- </dict>
91
- <key>firstVisibleColumn</key>
92
- <integer>0</integer>
93
- <key>firstVisibleLine</key>
94
- <integer>107</integer>
95
- </dict>
96
- <key>lib/user-choices/sources.rb</key>
97
- <dict>
98
- <key>caret</key>
99
- <dict>
100
- <key>column</key>
101
- <integer>0</integer>
102
- <key>line</key>
103
- <integer>0</integer>
104
- </dict>
105
- <key>firstVisibleColumn</key>
106
- <integer>0</integer>
107
- <key>firstVisibleLine</key>
108
- <integer>0</integer>
109
- </dict>
110
- <key>lib/user-choices/version.rb</key>
111
- <dict>
112
- <key>caret</key>
113
- <dict>
114
- <key>column</key>
115
- <integer>18</integer>
116
- <key>line</key>
117
- <integer>1</integer>
118
- </dict>
119
- <key>firstVisibleColumn</key>
120
- <integer>0</integer>
121
- <key>firstVisibleLine</key>
122
- <integer>0</integer>
123
- </dict>
124
- <key>test/builder-tests.rb</key>
125
- <dict>
126
- <key>caret</key>
127
- <dict>
128
- <key>column</key>
129
- <integer>5</integer>
130
- <key>line</key>
131
- <integer>83</integer>
132
- </dict>
133
- <key>firstVisibleColumn</key>
134
- <integer>0</integer>
135
- <key>firstVisibleLine</key>
136
- <integer>138</integer>
137
- </dict>
138
- <key>test/source-tests.rb</key>
139
- <dict>
140
- <key>caret</key>
141
- <dict>
142
- <key>column</key>
143
- <integer>25</integer>
144
- <key>line</key>
145
- <integer>399</integer>
146
- </dict>
147
- <key>firstVisibleColumn</key>
148
- <integer>0</integer>
149
- <key>firstVisibleLine</key>
150
- <integer>378</integer>
151
- </dict>
152
- </dict>
153
- <key>openDocuments</key>
154
- <array>
155
- <string>lib/user-choices/command-line-source.rb</string>
156
- <string>lib/user-choices/builder.rb</string>
157
- <string>test/builder-tests.rb</string>
158
- <string>test/source-tests.rb</string>
159
- <string>History.txt</string>
160
- <string>lib/user-choices.rb</string>
161
- <string>lib/user-choices/version.rb</string>
162
- <string>lib/user-choices/sources.rb</string>
163
- <string>lib/user-choices/arglist-strategies.rb</string>
164
- </array>
165
- <key>showFileHierarchyDrawer</key>
166
- <true/>
167
- <key>windowFrame</key>
168
- <string>{{8, 0}, {861, 778}}</string>
169
- </dict>
170
- </plist>