From 086870d52ffe29a9f59487025d561c06dfc6096e Mon Sep 17 00:00:00 2001 From: Michael Baudino Date: Wed, 23 Aug 2017 09:00:46 +0200 Subject: [PATCH] Stop overriding select behaviour in SubtitlesCollection --- lib/addic7ed/models/subtitles_collection.rb | 8 ++++---- spec/lib/addic7ed/models/subtitles_collection_spec.rb | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/addic7ed/models/subtitles_collection.rb b/lib/addic7ed/models/subtitles_collection.rb index 93bce57..c07166c 100644 --- a/lib/addic7ed/models/subtitles_collection.rb +++ b/lib/addic7ed/models/subtitles_collection.rb @@ -37,7 +37,7 @@ def initialize(subtitles = []) # #=> [#, #] def compatible_with(group) - select { |subtitle| CheckCompatibility.call(subtitle, group) } + chainable(select { |subtitle| CheckCompatibility.call(subtitle, group) }) end # Returns only completed subtitles. @@ -53,7 +53,7 @@ def compatible_with(group) # #=> [#] def completed - select(&:completed?) + chainable(select(&:completed?)) end # Returns the most downloaded subtitle. @@ -74,8 +74,8 @@ def most_popular private - def select - self.class.new(super) + def chainable(array) + self.class.new(array) end end end diff --git a/spec/lib/addic7ed/models/subtitles_collection_spec.rb b/spec/lib/addic7ed/models/subtitles_collection_spec.rb index fd5b185..5192aa5 100644 --- a/spec/lib/addic7ed/models/subtitles_collection_spec.rb +++ b/spec/lib/addic7ed/models/subtitles_collection_spec.rb @@ -23,7 +23,7 @@ subject { described_class.new([compatible_subtitle, incompatible_subtitle]) } - it "returns an Addic7ed::SubtitlesCollection" do + it "is chainable" do expect(subject.compatible_with("group")).to be_a described_class end @@ -47,7 +47,7 @@ subject { described_class.new([completed_subtitle, incomplete_subtitle]) } - it "returns an Addic7ed::SubtitlesCollection" do + it "is chainable" do expect(subject.completed).to be_a described_class end