Module: Wikimelon

Extended by:
Configuration
Defined in:
lib/wikimelon.rb,
lib/wikimelon/error.rb,
lib/wikimelon/request.rb,
lib/wikimelon/version.rb

Defined Under Namespace

Classes: BadGateway, BadRequest, Error, GatewayTimeout, InternalServerError, NotFound, Request, ServiceUnavailable

Constant Summary collapse

VERSION =
"0.0.2"

Class Method Summary collapse

Methods included from Configuration

configuration, define_setting

Class Method Details

.entity(entity_id, revision_id: nil, verbose: false) ⇒ Array, Boolean

Get Wikidata entity data

Parameters:

  • entity_id (String)

    a Wikidata entity ID

  • revision_id (int) (defaults to: nil)

    a revision ID

  • verbose (Boolean) (defaults to: false)

    Print headers to STDOUT

Returns:

  • (Array, Boolean)

    An array of hashes



38
39
40
41
42
43
44
45
# File 'lib/wikimelon.rb', line 38

def self.entity(entity_id, revision_id: nil, verbose: false)
  url = "https://www.wikidata.org/wiki/Special:EntityData/#{entity_id}.json"
  url = "#{url}?revision=#{revision_id}" unless revision_id.nil?
  Request.new(
    url: url,
    verbose: verbose
  ).perform
end

.query(query, verbose: false) ⇒ Array, Boolean

Run a Wikidata SPARQL query

Parameters:

  • query (String)

    a Wikidata query

  • verbose (Boolean) (defaults to: false)

    Print headers to STDOUT

Returns:

  • (Array, Boolean)

    An array of hashes



21
22
23
24
25
26
27
# File 'lib/wikimelon.rb', line 21

def self.query(query, verbose: false)
  Request.new(
    url: "https://query.wikidata.org/sparql",
    query: query,
    verbose: verbose
  ).perform
end