Class: Pixiv::PageCollection::Enumerator
- Inherits:
-
Object
- Object
- Pixiv::PageCollection::Enumerator
- Includes:
- Enumerable
- Defined in:
- lib/pixiv/page_collection.rb
Instance Method Summary collapse
- #each_page ⇒ Object (also: #each)
- #each_slice(n = nil) ⇒ Object
-
#initialize(client, collection, include_deleted_page = false) ⇒ Enumerator
constructor
A new instance of Enumerator.
Constructor Details
#initialize(client, collection, include_deleted_page = false) ⇒ Enumerator
Returns a new instance of Enumerator.
35 36 37 38 39 |
# File 'lib/pixiv/page_collection.rb', line 35 def initialize(client, collection, include_deleted_page = false) @client = client @collection = collection @include_deleted_page = include_deleted_page end |
Instance Method Details
#each_page ⇒ Object Also known as: each
41 42 43 44 45 46 47 48 |
# File 'lib/pixiv/page_collection.rb', line 41 def each_page each_collection do |collection| pages_from_collection(collection).each do |page| next if page.nil? && !@include_deleted_page yield page end end end |
#each_slice(n = nil) ⇒ Object
52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 |
# File 'lib/pixiv/page_collection.rb', line 52 def each_slice(n = nil) if n super else if block_given? each_collection do |collection| yield pages_from_collection(collection) end else ::Enumerator.new {|y| each_slice do |slice| y << (@include_deleted_page ? slice.compact : slice) end } end end end |