Ben üst sınıfsahte çocuk sınıfına
class StatsPeriod::Base
def merge(data)
to_range.inject({}) do |result, date|
result[date] = data[date] || 0
result
end.to_a
end
end
gelen yöntem ve bu çocuk sınıftaki tek mevcut yöntem to_range
taklit nasıl Spec
require "rails_helper"
describe StatsPeriod::Base do
let(:data) { { "20160604" => 1, "20160601" => 2 } }
let(:range_data) do
[
"20160528",
"20160529",
"20160530",
"20160531",
"20160601",
"20160602",
"20160603",
"20160604"
]
end
describe "#merge" do
let(:stats) do
[
["20160528", 0],
["20160529", 0],
["20160530", 0],
["20160531", 0],
["20160601", 2],
["20160602", 0],
["20160603", 0],
["20160604", 1]
]
end
it "returns hash with stats" do
expect(described_class.new.merge(data)).to eq(stats)
end
end
end
ve range_data
ya da belki ben döndüren çocuk sınıfıyla alay etmeli ve ChildClass.merge (veri) gibi bir şey beklemeli ama
# uygulanmadı: to_range –