Class: Google::Protobuf::RepeatedField
- Inherits:
-
Object
- Object
- Google::Protobuf::RepeatedField
show all
- Extended by:
- Forwardable
- Defined in:
- lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb
Defined Under Namespace
Classes: ProxyingEnumerator
Class Method Summary
collapse
Instance Method Summary
collapse
Class Method Details
.define_array_wrapper_method(method_name) ⇒ Object
127
128
129
130
131
132
133
134
135
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 127
def define_array_wrapper_method(method_name)
define_method(method_name) do |*args, &block|
arr = self.to_a
result = arr.send(method_name, *args)
self.replace(arr)
return result if result
return block ? block.call : result
end
end
|
.define_array_wrapper_with_result_method(method_name) ⇒ Object
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 139
def define_array_wrapper_with_result_method(method_name)
define_method(method_name) do |*args, &block|
result = self.to_a.send(method_name, *args, &block)
if result
new_arr = result.to_a
self.replace(new_arr)
if result.is_a?(Enumerator)
result = new_arr.to_enum
ie = ProxyingEnumerator.new(self, result)
result = ie.to_enum
end
end
result
end
end
|
Instance Method Details
#empty? ⇒ Boolean
115
116
117
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 115
def empty?
self.size == 0
end
|
#first(n = nil) ⇒ Object
81
82
83
84
85
86
87
88
89
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 81
def first(n=nil)
if n.nil?
return self[0]
elsif n < 0
raise ArgumentError, "negative array size"
else
return self[0...n]
end
end
|
#last(n = nil) ⇒ Object
92
93
94
95
96
97
98
99
100
101
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 92
def last(n=nil)
if n.nil?
return self[-1]
elsif n < 0
raise ArgumentError, "negative array size"
else
start = [self.size-n, 0].max
return self[start...self.size]
end
end
|
#pop(n = nil) ⇒ Object
104
105
106
107
108
109
110
111
112
|
# File 'lib/rubypitaya/app-template/vendor/bundle/ruby/3.1.0/gems/google-protobuf-3.21.12-x86_64-linux/lib/google/protobuf/repeated_field.rb', line 104
def pop(n=nil)
if n
results = []
n.times{ results << pop_one }
return results
else
return pop_one
end
end
|