How to DRY the following code and call the first initializer from the second?
class DataStream
attr_reader :asset
attr_reader :data
def initialize(asset)
@asset = asset
@data = Array.new
end
def initialize(asset, values)
@asset = asset
@data = Array.new
values.each do |value|
add_value(value)
end
end
end
Use default arguments:
def initialize(asset, values = [])
@asset = asset
@data = Array.new
values.each do |value|
add_value(value)
end
end