Class: Enumerator::Chain
- Inherits:
-
Object
show all
- Includes:
- Enumerable
- Defined in:
- ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb
Constant Summary
Constants included
from Enumerable
Enumerable::NONE
Instance Method Summary
collapse
Methods included from Enumerable
#+, #all?, #any?, #chain, #collect, #count, #cycle, #detect, #drop, #drop_while, #each_cons, #each_slice, #each_with_index, #each_with_object, #entries, #find_all, #find_index, #first, #flat_map, #grep, #group_by, #hash, #include?, #inject, #lazy, #max, #max_by, #min, #min_by, #minmax, #minmax_by, #none?, #one?, #partition, #reject, #reverse_each, #sort, #sort_by, #take, #take_while, #to_h, to_h, #uniq, #zip
Constructor Details
#initialize(*args) ⇒ Chain
Returns a new instance of Chain.
19
20
21
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 19
def initialize(*args)
@enums = args
end
|
Instance Method Details
#__copy_enums ⇒ Object
54
55
56
57
58
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 54
def __copy_enums
@enums.each_with_object([]) do |e, a|
a << e.clone
end
end
|
#each(&block) ⇒ Object
27
28
29
30
31
32
33
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 27
def each(&block)
return to_enum unless block_given?
@enums.each { |e| e.each(&block) }
self
end
|
#initialize_copy(orig) ⇒ Object
23
24
25
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 23
def initialize_copy(orig)
@enums = orig.__copy_enums
end
|
50
51
52
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 50
def inspect
"#<#{self.class}: #{@enums.inspect}>"
end
|
42
43
44
45
46
47
48
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 42
def rewind
@enums.reverse_each do |e|
e.rewind if e.respond_to?(:rewind)
end
self
end
|
35
36
37
38
39
40
|
# File 'ext/enterprise_script_service/mruby/mrbgems/mruby-enum-chain/mrblib/chain.rb', line 35
def size
@enums.reduce(0) do |a, e|
return nil unless e.respond_to?(:size)
a + e.size
end
end
|