Class: Pageboy::PageTurner::Base

Inherits:
Object
  • Object
show all
Defined in:
lib/pageboy/page_turner/base.rb

Direct Known Subclasses

Array, LinkHeader

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(resource, opts = {}) ⇒ Base

Returns a new instance of Base.



9
10
11
12
# File 'lib/pageboy/page_turner/base.rb', line 9

def initialize(resource, opts={})
  @resource = resource
  @opts = opts
end

Instance Attribute Details

#resourceObject

Returns the value of attribute resource.



7
8
9
# File 'lib/pageboy/page_turner/base.rb', line 7

def resource
  @resource
end

Instance Method Details

#first(opts = {}) ⇒ Object



27
28
29
# File 'lib/pageboy/page_turner/base.rb', line 27

def first(opts={})
  page(first_page_id, opts)
end

#first_page_idObject

Can be overridden in subclasses



15
16
17
18
19
# File 'lib/pageboy/page_turner/base.rb', line 15

def first_page_id
  # Some PageTurners use integers, others use GUIDs etc., 
  # but page numbers are most common, so default to 1.
  1
end

#page(page_id, opts = {}) ⇒ Object

Should return a Pageboy::Page object

Raises:

  • (NotImplementedError)


22
23
24
25
# File 'lib/pageboy/page_turner/base.rb', line 22

def page(page_id, opts={})
  raise NotImplementedError,
        "'page' should be implemented in subclasses"
end

#with_merged_options(opts = {}) {|Pageboy::Config.config.merge(@opts).merge(opts)| ... } ⇒ Object

Yields:



31
32
33
# File 'lib/pageboy/page_turner/base.rb', line 31

def with_merged_options(opts={})
  yield Pageboy::Config.config.merge(@opts).merge(opts)
end