Class: Klases::Argset
- Inherits:
-
Object
- Object
- Klases::Argset
- Defined in:
- lib/klases/argset.rb
Instance Attribute Summary collapse
-
#args ⇒ Object
readonly
Returns the value of attribute args.
Instance Method Summary collapse
- #==(r) ⇒ Object
- #[](index) ⇒ Object
- #args_and_options ⇒ Object
- #before(*args) ⇒ Object
- #before!(*args) ⇒ Object
- #block(block = false) ⇒ Object
- #block!(block) ⇒ Object
- #default_options(options) ⇒ Object
- #default_options!(options) ⇒ Object
-
#initialize(*args, &block) ⇒ Argset
constructor
A new instance of Argset.
- #options(options = false) ⇒ Object
- #options!(options) ⇒ Object
- #send_to(receiver, method) ⇒ Object
- #size ⇒ Object
Constructor Details
#initialize(*args, &block) ⇒ Argset
Returns a new instance of Argset.
5 6 7 8 9 |
# File 'lib/klases/argset.rb', line 5 def initialize(*args, &block) @options = args. @args = args @block = block end |
Instance Attribute Details
#args ⇒ Object (readonly)
Returns the value of attribute args.
11 12 13 |
# File 'lib/klases/argset.rb', line 11 def args @args end |
Instance Method Details
#==(r) ⇒ Object
48 49 50 |
# File 'lib/klases/argset.rb', line 48 def ==(r) r.is_a?(Argset) && args == r.args && == r. && block == r.block end |
#[](index) ⇒ Object
13 14 15 |
# File 'lib/klases/argset.rb', line 13 def [](index) args[index] end |
#args_and_options ⇒ Object
36 37 38 |
# File 'lib/klases/argset.rb', line 36 def @options ? [*@args, @options] : @args end |
#before(*args) ⇒ Object
27 28 29 |
# File 'lib/klases/argset.rb', line 27 def before(*args) dup.before!(*args) end |
#before!(*args) ⇒ Object
31 32 33 34 |
# File 'lib/klases/argset.rb', line 31 def before!(*args) @args = args + @args self end |
#block(block = false) ⇒ Object
17 18 19 20 |
# File 'lib/klases/argset.rb', line 17 def block(block = false) return @block if block == false dup.block!(block) end |
#block!(block) ⇒ Object
22 23 24 25 |
# File 'lib/klases/argset.rb', line 22 def block!(block) @block = block self end |
#default_options(options) ⇒ Object
62 63 64 |
# File 'lib/klases/argset.rb', line 62 def () dup.() end |
#default_options!(options) ⇒ Object
66 67 68 69 |
# File 'lib/klases/argset.rb', line 66 def () @options = .merge(@options) self end |
#options(options = false) ⇒ Object
52 53 54 55 |
# File 'lib/klases/argset.rb', line 52 def ( = false) return @options if == false dup.() end |
#options!(options) ⇒ Object
57 58 59 60 |
# File 'lib/klases/argset.rb', line 57 def () @options = @options.merge() self end |
#send_to(receiver, method) ⇒ Object
40 41 42 |
# File 'lib/klases/argset.rb', line 40 def send_to(receiver, method) receiver.__send__(method, *, &@block) end |
#size ⇒ Object
44 45 46 |
# File 'lib/klases/argset.rb', line 44 def size args.size end |