main 2.8.3 → 2.8.4
Sign up to get free protection for your applications and to get access to all the features.
- data/README +63 -0
- data/lib/main.rb +1 -1
- data/lib/main/base.rb +1 -1
- data/lib/main/parameter.rb +1 -2
- data/samples/h.rb +2 -0
- metadata +3 -3
data/README
CHANGED
@@ -398,6 +398,65 @@ SAMPLES
|
|
398
398
|
|
399
399
|
|
400
400
|
|
401
|
+
<========< samples/h.rb >========>
|
402
|
+
|
403
|
+
~ > cat samples/h.rb
|
404
|
+
|
405
|
+
require 'main'
|
406
|
+
|
407
|
+
# block-defaults are instance_eval'd in the main instance and be combined with
|
408
|
+
# mixins
|
409
|
+
#
|
410
|
+
# ./h.rb #=> forty-two
|
411
|
+
# ./h.rb a #=> 42
|
412
|
+
# ./h.rb b #=> 42.0
|
413
|
+
#
|
414
|
+
|
415
|
+
Main {
|
416
|
+
fattr :default_for_foobar => 'forty-two'
|
417
|
+
|
418
|
+
option(:foobar) do
|
419
|
+
default{ default_for_foobar }
|
420
|
+
end
|
421
|
+
|
422
|
+
mixin :foo do
|
423
|
+
fattr :default_for_foobar => 42
|
424
|
+
end
|
425
|
+
|
426
|
+
mixin :bar do
|
427
|
+
fattr :default_for_foobar => 42.0
|
428
|
+
end
|
429
|
+
|
430
|
+
|
431
|
+
run{ p params[:foobar].value }
|
432
|
+
|
433
|
+
mode :a do
|
434
|
+
mixin :foo
|
435
|
+
end
|
436
|
+
|
437
|
+
mode :b do
|
438
|
+
mixin :bar
|
439
|
+
end
|
440
|
+
}
|
441
|
+
|
442
|
+
~ > ruby samples/h.rb
|
443
|
+
|
444
|
+
"forty-two"
|
445
|
+
|
446
|
+
~ > ruby samples/h.rb --help
|
447
|
+
|
448
|
+
NAME
|
449
|
+
h.rb
|
450
|
+
|
451
|
+
SYNOPSIS
|
452
|
+
h.rb (a|b) [options]+
|
453
|
+
|
454
|
+
PARAMETERS
|
455
|
+
--foobar
|
456
|
+
--help, -h
|
457
|
+
|
458
|
+
|
459
|
+
|
401
460
|
DOCS
|
402
461
|
test/main.rb
|
403
462
|
|
@@ -406,6 +465,10 @@ DOCS
|
|
406
465
|
API section below
|
407
466
|
|
408
467
|
HISTORY
|
468
|
+
2.8.3
|
469
|
+
- support for block defaults
|
470
|
+
|
471
|
+
|
409
472
|
2.8.2
|
410
473
|
- fixes and tests for negative arity/attr arguments, options, eg
|
411
474
|
|
data/lib/main.rb
CHANGED
data/lib/main/base.rb
CHANGED
data/lib/main/parameter.rb
CHANGED
@@ -528,11 +528,10 @@ puts
|
|
528
528
|
|
529
529
|
class DSL
|
530
530
|
def self.evaluate param, &block
|
531
|
-
new(param).
|
531
|
+
new(param).instance_eval(&block)
|
532
532
|
end
|
533
533
|
|
534
534
|
attr 'param'
|
535
|
-
alias_method 'evaluate', 'instance_eval'
|
536
535
|
|
537
536
|
def initialize param
|
538
537
|
@param = param
|
data/samples/h.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: main
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ara T. Howard
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date:
|
12
|
+
date: 2009-05-18 00:00:00 -06:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -93,7 +93,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
93
93
|
requirements: []
|
94
94
|
|
95
95
|
rubyforge_project: codeforpeople
|
96
|
-
rubygems_version: 1.
|
96
|
+
rubygems_version: 1.3.1
|
97
97
|
signing_key:
|
98
98
|
specification_version: 2
|
99
99
|
summary: main
|