Class: Main::Parameter::DSL
Instance Attribute Summary collapse
-
#param ⇒ Object
readonly
Returns the value of attribute param.
Class Method Summary collapse
Instance Method Summary collapse
- #argument(arg) ⇒ Object
- #argument_optional(bool = true) ⇒ Object
- #argument_optional? ⇒ Boolean
- #argument_required(bool = true) ⇒ Object
- #argument_required? ⇒ Boolean
- #arity(value) ⇒ Object
- #arity? ⇒ Boolean
- #attr(*a, &b) ⇒ Object
- #cast(sym = nil, &b) ⇒ Object
- #cast? ⇒ Boolean
- #default(*values, &block) ⇒ Object (also: #defaults)
- #defaults? ⇒ Boolean
- #description(s) ⇒ Object (also: #desc)
- #description? ⇒ Boolean
- #error(which = :instead, &block) ⇒ Object
- #example(*list) ⇒ Object (also: #examples)
- #fattr(a = nil, &block) ⇒ Object (also: #attribute)
- #fattr_block_for(name, &block) ⇒ Object
-
#initialize(param) ⇒ DSL
constructor
A new instance of DSL.
- #optional(bool = true) ⇒ Object
- #optional? ⇒ Boolean
- #required(bool = true) ⇒ Object
- #required? ⇒ Boolean
- #synopsis(*arg) ⇒ Object
- #type(*sym) ⇒ Object
- #type? ⇒ Boolean
- #validate(sym = nil, &b) ⇒ Object
- #validate? ⇒ Boolean
Constructor Details
#initialize(param) ⇒ DSL
Returns a new instance of DSL.
535 536 537 |
# File 'lib/main/parameter.rb', line 535 def initialize param @param = param end |
Instance Attribute Details
#param ⇒ Object (readonly)
Returns the value of attribute param.
533 534 535 |
# File 'lib/main/parameter.rb', line 533 def param @param end |
Class Method Details
.evaluate(param, &block) ⇒ Object
529 530 531 |
# File 'lib/main/parameter.rb', line 529 def self.evaluate param, &block new(param).instance_eval(&block) end |
Instance Method Details
#argument(arg) ⇒ Object
575 576 577 |
# File 'lib/main/parameter.rb', line 575 def argument arg param.argument arg end |
#argument_optional(bool = true) ⇒ Object
589 590 591 592 593 594 595 |
# File 'lib/main/parameter.rb', line 589 def argument_optional bool = true if bool param.argument :optional else param.argument false end end |
#argument_optional? ⇒ Boolean
596 597 598 |
# File 'lib/main/parameter.rb', line 596 def argument_optional? param.argument_optional? end |
#argument_required(bool = true) ⇒ Object
578 579 580 581 582 583 584 |
# File 'lib/main/parameter.rb', line 578 def argument_required bool = true if bool param.argument :required else param.argument false end end |
#argument_required? ⇒ Boolean
585 586 587 |
# File 'lib/main/parameter.rb', line 585 def argument_required? param.argument_required? end |
#arity(value) ⇒ Object
657 658 659 660 661 662 663 664 665 666 667 |
# File 'lib/main/parameter.rb', line 657 def arity value raise Arity if value.nil? value = -1 if value.to_s == '*' value = Integer value raise Arity if value.zero? param.arity = value if param.arity == -1 optional true end value end |
#arity? ⇒ Boolean
668 669 670 |
# File 'lib/main/parameter.rb', line 668 def arity? param.arity? end |
#attr(*a, &b) ⇒ Object
552 553 554 |
# File 'lib/main/parameter.rb', line 552 def attr(*a, &b) fattr(*a, &b) end |
#cast(sym = nil, &b) ⇒ Object
618 619 620 |
# File 'lib/main/parameter.rb', line 618 def cast sym=nil, &b param.cast = sym || b end |
#cast? ⇒ Boolean
621 622 623 |
# File 'lib/main/parameter.rb', line 621 def cast? param.cast? end |
#default(*values, &block) ⇒ Object Also known as: defaults
640 641 642 643 644 645 646 647 648 649 650 651 |
# File 'lib/main/parameter.rb', line 640 def default *values, &block if block.nil? and values.empty? raise ArgumentError, 'no default' end unless values.empty? param.defaults.push(*values) end unless block.nil? param.defaults.push block end param.defaults end |
#defaults? ⇒ Boolean
653 654 655 |
# File 'lib/main/parameter.rb', line 653 def defaults? param.defaults? end |
#description(s) ⇒ Object Also known as: desc
632 633 634 |
# File 'lib/main/parameter.rb', line 632 def description s param.description = s.to_s end |
#description? ⇒ Boolean
635 636 637 |
# File 'lib/main/parameter.rb', line 635 def description? param.description? end |
#error(which = :instead, &block) ⇒ Object
672 673 674 |
# File 'lib/main/parameter.rb', line 672 def error which = :instead, &block param.send "error_handler_#{ which }=", block end |
#example(*list) ⇒ Object Also known as: examples
556 557 558 559 560 |
# File 'lib/main/parameter.rb', line 556 def example *list list.flatten.compact.each do |elem| param.examples << elem.to_s end end |
#fattr(a = nil, &block) ⇒ Object Also known as: attribute
539 540 541 542 543 544 |
# File 'lib/main/parameter.rb', line 539 def fattr a = nil, &block name = param.name a ||= name b = fattr_block_for(name, &block) @param.main.module_eval{ fattr(*a, &b) } end |
#fattr_block_for(name, &block) ⇒ Object
547 548 549 550 |
# File 'lib/main/parameter.rb', line 547 def fattr_block_for name, &block block ||= lambda{|param| [0,1].include?(param.arity) ? param.value : param.values } lambda{|*args| block.call(self.param[name]) } end |
#optional(bool = true) ⇒ Object
607 608 609 610 611 612 613 |
# File 'lib/main/parameter.rb', line 607 def optional bool = true if bool param.required !bool else param.required bool end end |
#optional? ⇒ Boolean
614 615 616 |
# File 'lib/main/parameter.rb', line 614 def optional? param.optional? end |
#required(bool = true) ⇒ Object
600 601 602 |
# File 'lib/main/parameter.rb', line 600 def required bool = true param.required = bool end |
#required? ⇒ Boolean
603 604 605 |
# File 'lib/main/parameter.rb', line 603 def required? param.required? end |
#synopsis(*arg) ⇒ Object
571 572 573 |
# File 'lib/main/parameter.rb', line 571 def synopsis *arg arg.size == 0 ? param.synopsis : (param.synopsis arg.first) end |
#type(*sym) ⇒ Object
564 565 566 |
# File 'lib/main/parameter.rb', line 564 def type *sym sym.size == 0 ? param.type : (param.type = sym.first) end |
#type? ⇒ Boolean
567 568 569 |
# File 'lib/main/parameter.rb', line 567 def type? param.type? end |
#validate(sym = nil, &b) ⇒ Object
625 626 627 |
# File 'lib/main/parameter.rb', line 625 def validate sym=nil, &b param.validate = sym || b end |
#validate? ⇒ Boolean
628 629 630 |
# File 'lib/main/parameter.rb', line 628 def validate? param.validate? end |