Class: AMEE::Limiter

Inherits:
Object
  • Object
show all
Extended by:
ParseHelper
Defined in:
lib/amee/pager.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ParseHelper

load_xml_doc, node_value, xmlpathpreamble

Constructor Details

#initialize(data) ⇒ Limiter

Returns a new instance of Limiter.



77
78
79
80
81
# File 'lib/amee/pager.rb', line 77

def initialize(data)
  @offset=data[:resultStart] || 0
  @limit=data[:resultLimit] || 10
  @truncated=data[:truncated] || false
end

Instance Attribute Details

#limitObject (readonly)

Returns the value of attribute limit.



82
83
84
# File 'lib/amee/pager.rb', line 82

def limit
  @limit
end

#offsetObject (readonly)

Returns the value of attribute offset.



82
83
84
# File 'lib/amee/pager.rb', line 82

def offset
  @offset
end

#truncatedObject (readonly)

Returns the value of attribute truncated.



82
83
84
# File 'lib/amee/pager.rb', line 82

def truncated
  @truncated
end

Class Method Details

.from_json(doc, options = {}) ⇒ Object

Raises:



96
97
98
# File 'lib/amee/pager.rb', line 96

def self.from_json(doc,options={})
  raise AMEE::NotSupported
end

.from_xml(node, options = {}) ⇒ Object



99
100
101
102
103
# File 'lib/amee/pager.rb', line 99

def self.from_xml(node,options={})
  t=x('@truncated',:doc=>node)
  options[:truncated] = (t=='true') if t
  Limiter.new options
end

Instance Method Details

#more?Boolean

Returns:

  • (Boolean)


83
84
85
# File 'lib/amee/pager.rb', line 83

def more?
  truncated
end

#next!Object



86
87
88
89
# File 'lib/amee/pager.rb', line 86

def next!
  @offset+=limit
  more?
end

#optionsObject



93
94
95
# File 'lib/amee/pager.rb', line 93

def options
  {:resultStart=>offset,:resultLimit=>limit}
end

#page_fragmentObject



90
91
92
# File 'lib/amee/pager.rb', line 90

def page_fragment
  "?resultStart=#{offset}&resultLimit=#{limit}"
end