Sha256: 2fafa9fdb99a5c34be6e126b439073889fda2798e5d553f20b8ccec31c0b19fd
Contents?: true
Size: 1.52 KB
Versions: 1
Compression:
Stored size: 1.52 KB
Contents
module Nanoc class ItemRepCollectionView include Enumerable # @api private def initialize(item_reps) @item_reps = item_reps end # @api private def unwrap @item_reps end def to_ary @item_reps.map { |ir| Nanoc::ItemRepView.new(ir) } end # Calls the given block once for each item rep, passing that item rep as a parameter. # # @yieldparam [Nanoc::ItemRepView] item rep # # @yieldreturn [void] # # @return [self] def each @item_reps.each { |ir| yield Nanoc::ItemRepView.new(ir) } self end # @return [Integer] def size @item_reps.size end # Return the item rep with the given name, or nil if no item rep exists. # # @param [Symbol] rep_name # # @return [nil] if no item rep with the given name was found # # @return [Nanoc::ItemRepView] if an item rep with the given name was found def [](rep_name) res = @item_reps.find { |ir| ir.name == rep_name } res && Nanoc::ItemRepView.new(res) end # Return the item rep with the given name, or raises an exception if there # is no rep with the given name. # # @param [Symbol] rep_name # # @return [Nanoc::ItemRepView] # # @raise if no rep was found def fetch(rep_name) res = @item_reps.find { |ir| ir.name == rep_name } if res Nanoc::ItemRepView.new(res) else raise Nanoc::Int::Errors::Generic, "No rep named #{rep_name.inspect} was found." end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
nanoc-4.0.0b4 | lib/nanoc/base/views/item_rep_collection.rb |