Class: QualtricsAPI::BaseCollection

Inherits:
Object
  • Object
show all
Extended by:
Forwardable
Includes:
Enumerable, Connectable, Extensions::SerializableCollection
Defined in:
lib/qualtrics_api/base_collection.rb

Instance Attribute Summary

Attributes included from Connectable

#connection

Instance Method Summary collapse

Methods included from Connectable

#propagate_connection

Methods included from Extensions::SerializableCollection

#as_json, #to_json

Instance Method Details

#allObject



27
28
29
# File 'lib/qualtrics_api/base_collection.rb', line 27

def all
  map {|element| element}
end

#eachObject



9
10
11
12
13
14
15
# File 'lib/qualtrics_api/base_collection.rb', line 9

def each
  each_page do |page|
    page.each do |element|
      yield element
    end
  end
end

#each_pageObject



31
32
33
34
35
36
37
38
39
# File 'lib/qualtrics_api/base_collection.rb', line 31

def each_page
  endpoint = list_endpoint
  loop do
    response = QualtricsAPI.connection(self).get(endpoint)
    endpoint = response.body["result"]["nextPage"]
    yield parse_page(response)
    break unless endpoint
  end
end

#find(id) ⇒ Object



41
42
43
44
45
# File 'lib/qualtrics_api/base_collection.rb', line 41

def find(id)
  response = QualtricsAPI.connection(self).get(endpoint(id))
  return nil unless response.status == 200
  build_result(response.body['result']).propagate_connection(self)
end

#mapObject



17
18
19
20
21
22
23
24
25
# File 'lib/qualtrics_api/base_collection.rb', line 17

def map
  res = []
  each_page do |page|
    page.each do |element|
      res.push(yield element)
    end
  end
  res
end