Class: WorldbankAsDataframe::DataQuery

Inherits:
Query
  • Object
show all
Defined in:
lib/worldbank_as_dataframe/data_query.rb

Instance Attribute Summary

Attributes inherited from Query

#pages, #total

Instance Method Summary collapse

Methods inherited from Query

#cycle, #dates, #format, #id, #language, #most_recent_values, #next, #page, #per_page, #raw

Constructor Details

#initialize(name, id, model) ⇒ DataQuery

Returns a new instance of DataQuery.



5
6
7
8
# File 'lib/worldbank_as_dataframe/data_query.rb', line 5

def initialize(name, id, model)
  super
  clear_params!
end

Instance Method Details

#country(country) ⇒ Object



45
46
47
48
49
50
51
# File 'lib/worldbank_as_dataframe/data_query.rb', line 45

def country(country)
  ensure_unconflicting_qualifiers
  parsed = indifferent_type country
  parsed = ensure_country_id parsed
  @param_dir = ['country', parsed]
  self
end

#fetchObject



16
17
18
19
20
21
22
# File 'lib/worldbank_as_dataframe/data_query.rb', line 16

def fetch
  require 'polars-df'

  results = super
  clear_params!
  Polars::DataFrame.new(results.map(&:to_h))
end

#fetch_as_hshObject



10
11
12
13
14
# File 'lib/worldbank_as_dataframe/data_query.rb', line 10

def fetch_as_hsh
  results = super
  clear_params!
  results
end

#income_level(income_level) ⇒ Object



31
32
33
34
35
36
# File 'lib/worldbank_as_dataframe/data_query.rb', line 31

def income_level(income_level)
  ensure_unconflicting_qualifiers
  parsed = indifferent_number income_level
  @param_dir = ['incomeLevels', parsed]
  self
end

#indicator(indicators) ⇒ Object Also known as: find



53
54
55
56
57
# File 'lib/worldbank_as_dataframe/data_query.rb', line 53

def indicator(indicators)
  parsed = indifferent_number indicators
  @id = parsed
  self
end

#lending_type(lending_type) ⇒ Object



24
25
26
27
28
29
# File 'lib/worldbank_as_dataframe/data_query.rb', line 24

def lending_type(lending_type)
  ensure_unconflicting_qualifiers
  parsed = indifferent_number lending_type
  @param_dir = ['lendingTypes', parsed]
  self
end

#region(regions) ⇒ Object



38
39
40
41
42
43
# File 'lib/worldbank_as_dataframe/data_query.rb', line 38

def region(regions)
  ensure_unconflicting_qualifiers
  parsed = indifferent_number regions
  @param_dir = ['country', parsed]
  self
end

#source(sources) ⇒ Object



60
61
62
63
64
65
# File 'lib/worldbank_as_dataframe/data_query.rb', line 60

def source(sources)
  ensure_unconflicting_qualifiers
  parsed = indifferent_number sources
  @param_dir = ['sources', parsed]
  self
end