Sha256: 631acef45fe53fd42819bb7995ae33145428172d604c03a085d2b7b04c0922c9
Contents?: true
Size: 1.44 KB
Versions: 1
Compression:
Stored size: 1.44 KB
Contents
module WorldBank class DataQuery < Query def initialize(name, id, model) super @param_dir = [] @params_filled = false end def lending_type(lending_type) ensure_unconflicting_qualifiers parsed = indifferent_number lending_type @param_dir = ['lendingTypes', parsed] self end def income_level(income_level) ensure_unconflicting_qualifiers parsed = indifferent_number income_level @param_dir = ['incomeLevels', parsed] self end def region(regions) ensure_unconflicting_qualifiers parsed = indifferent_number regions @param_dir = ['countries', parsed] self end def country(country) ensure_unconflicting_qualifiers parsed = indifferent_type country parsed = ensure_country_id parsed @param_dir = ['countries', parsed] self end def indicator(indicators) parsed = indifferent_number indicators @id = parsed self end alias_method(:find, :indicator) def source(sources) ensure_unconflicting_qualifiers parsed = indifferent_number sources @param_dir = ['sources', parsed] self end private def ensure_unconflicting_qualifiers if @params_filled raise ArgumentError, "Only one of 'income_level', 'lending_type', 'country', or 'source' can be called on the same query" end @params_filled = true end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
world_bank-0.9.0 | lib/world_bank/data_query.rb |