Sha256: f9f279b954ef5eb2eebba99a1f2cbd2df4286fd2f74d3e2330d953e7efa53312
Contents?: true
Size: 950 Bytes
Versions: 13
Compression:
Stored size: 950 Bytes
Contents
module Wikidata class Item < Entity DEFAULT_QUERIES = { search: { action: 'query', list: 'search', sroffset: 0, srlimit: 10 }, find: { action: 'wbgetentities', sites: 'enwiki' } }.freeze class << self def find ids, query = {} _find :ids, ids, query end def find_by_title titles, query = {} _find :titles, titles, query end def _find finder = :ids, list = '', query = {} q = DEFAULT_QUERIES[:find] .merge( query ) .merge( finder => Array(list).join('|') ) Wikidata::Client.new( q ).response.tap do |resp| return resp.results.first unless list.is_a?(Array) end end def search search, query = {} q = DEFAULT_QUERIES[:search].merge( srsearch: search ).merge(query) Wikidata::Client.new( q ).response end end end end
Version data entries
13 entries across 13 versions & 1 rubygems