Class: Theguardian::Api::Section

Inherits:
RecursiveOpenStruct
  • Object
show all
Defined in:
lib/theguardian/api/section.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.process(params = {}) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
15
# File 'lib/theguardian/api/section.rb', line 4

def self.process(params = {})
  connection = Theguardian::Connection.new(resource: params[:id] || "sections")
  response = connection.get

  if params[:id]
    self.new(response, recurse_over_arrays: true)
  else
    response["results"].map do |section_params|
      self.new(section_params, recurse_over_arrays: true)
    end
  end
end

.process_params(params) ⇒ Object



27
28
29
# File 'lib/theguardian/api/section.rb', line 27

def self.process_params(params)
  params.reject{ |_, value| value.nil? }
end

Instance Method Details

#fetchObject



23
24
25
# File 'lib/theguardian/api/section.rb', line 23

def fetch
  self.class.process(id: self.id)
end

#itemsObject



17
18
19
20
21
# File 'lib/theguardian/api/section.rb', line 17

def items
  self.results.map do |item_params|
    Theguardian::Api::Item.new(item_params, recurse_over_arrays: true)
  end
end