Skip to content

Commit

Permalink
Refactor: Create CompilationItemRepCollectionView
Browse files Browse the repository at this point in the history
  • Loading branch information
denisdefreyne committed Oct 8, 2017
1 parent a4738cc commit 43ffcf1
Show file tree
Hide file tree
Showing 7 changed files with 23 additions and 7 deletions.
1 change: 1 addition & 0 deletions lib/nanoc/base/views.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
require_relative 'views/basic_item_rep_collection_view'

require_relative 'views/compilation_item_rep_view'
require_relative 'views/compilation_item_rep_collection_view'

require_relative 'views/config_view'
require_relative 'views/identifiable_collection_view'
Expand Down
3 changes: 1 addition & 2 deletions lib/nanoc/base/views/basic_item_rep_collection_view.rb
Original file line number Diff line number Diff line change
Expand Up @@ -23,8 +23,7 @@ def unwrap

# @api private
def view_class
# FIXME: Return Basic/CompilationItemRepView depending on case
Nanoc::CompilationItemRepView
Nanoc::BasicItemRepView
end

def to_ary
Expand Down
10 changes: 10 additions & 0 deletions lib/nanoc/base/views/compilation_item_rep_collection_view.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# frozen_string_literal: true

module Nanoc
class CompilationItemRepCollectionView < ::Nanoc::BasicItemRepCollectionView
# @api private
def view_class
Nanoc::CompilationItemRepView
end
end
end
4 changes: 3 additions & 1 deletion lib/nanoc/base/views/item_with_reps_view.rb
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,9 @@ def path(rep: :default, snapshot: :last)
#
# @return [Nanoc::BasicItemRepCollectionView]
def reps
Nanoc::BasicItemRepCollectionView.new(@context.reps[unwrap], @context)
# FIXME: dedup into BasicItemWithRepsView and CompilationItemWithRepsView

Nanoc::CompilationItemRepCollectionView.new(@context.reps[unwrap], @context)
end
end
end
4 changes: 1 addition & 3 deletions spec/nanoc/base/views/basic_item_rep_collection_view_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -141,7 +141,5 @@

describe Nanoc::BasicItemRepCollectionView do
it_behaves_like 'an item rep collection view'
let(:expected_view_class) { Nanoc::CompilationItemRepView }

# FIXME: dedup into BasicBasicItemRepCollectionView and CompilationBasicItemRepCollectionView
let(:expected_view_class) { Nanoc::BasicItemRepView }
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
# frozen_string_literal: true

describe Nanoc::CompilationItemRepCollectionView do
it_behaves_like 'an item rep collection view'
let(:expected_view_class) { Nanoc::CompilationItemRepView }
end
2 changes: 1 addition & 1 deletion spec/nanoc/base/views/item_view_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -203,7 +203,7 @@

it 'returns a proper item rep collection' do
expect(subject.size).to eq(2)
expect(subject.class).to eql(Nanoc::BasicItemRepCollectionView)
expect(subject.class).to eql(Nanoc::CompilationItemRepCollectionView)
end

it 'returns a view with the right context' do
Expand Down

0 comments on commit 43ffcf1

Please sign in to comment.