reality 0.0.4 → 0.0.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 83f98ac0ff14263d69ba4a5b081f819c9f354d44
4
- data.tar.gz: d1d195e02fcd9399846dd7f0294d29d5839cdfc9
3
+ metadata.gz: 725f78139506531415afc4cdd24927ae8845eecf
4
+ data.tar.gz: 1260575c3e637ec2e1c032dd894b4985dad78450
5
5
  SHA512:
6
- metadata.gz: 070c509c6bd1bdb255a076e3cc14d6b19b757c0dfccd9350e75eab1e3a24ad4708f5a62b31fc178dd6303fdb39b447c0eb799102e528e9bb78eea0dbcf8b7646
7
- data.tar.gz: d36906f1e461d19072ed1b07fd4ea7f476b0559a4788880e306b5a849cd6c898abe6b0af55342377235cc17cb0419ad20fbdcd3958feb0e5f7e95d8c7cdb6680
6
+ metadata.gz: a25e4eb32e02b862a5667e08493fe7a5128bfa97a0b69436f37040a27ff5752ed47417ec3588e7659ebf189ebb1a658016bd9f8e5815ad8f40ebb95a365752fe
7
+ data.tar.gz: c52eebc26b43a1cc2c4e885920138fcd9841a3bedb747f1ec9e04a45bf895d0cc5869d8e3d4eb620399cc3e8618299c0219b97b6f4101ff7c1d8cc414f9582eb
data/README.md CHANGED
@@ -231,7 +231,7 @@ to Wikipedia API. _TODO: explain the problem and point to recipes._
231
231
  ## Credits
232
232
 
233
233
  * [Victor Shepelev](https://zverok.github.io) [@zverok](https://github.com/zverok);
234
- * Sergey Mostovoy [@smostovoy](https://github.com/smostovoy);
234
+ * Sergii Mostovyi [@smostovoy](https://github.com/smostovoy);
235
235
  * [Valentino Stoll](http://www.awesomevibe.com/) [@codenamev](https://github.com/codenamev);
236
236
  * [Several great contributors](https://github.com/molybdenum-99/reality/graphs/contributors).
237
237
 
@@ -3,7 +3,7 @@ module Reality
3
3
  module Person
4
4
  extend Entity::WikipediaType
5
5
 
6
- infobox_name 'Infobox person'
6
+ infobox_name 'Infobox person', 'Infobox person ii'
7
7
 
8
8
  # Singular artists, like Bjork or David Bowie
9
9
  # TODO: should not repeat code from musical artist, but include it from module?
@@ -21,7 +21,7 @@ module Reality
21
21
  # call any of them by name, like `argentina.capital`.
22
22
  #
23
23
  # Or you can create not loaded entities with just {#initialize} (it
24
- # may be useful when you want to further batch-load several of them
24
+ # may be useful when you want to further batch-load several of them
25
25
  # through {List#load!}).
26
26
  #
27
27
  class Entity
@@ -48,6 +48,7 @@ module Reality
48
48
  #
49
49
  # @return [Hash<Symbol, Object>]
50
50
  attr_reader :values
51
+ alias_method :attributes, :values
51
52
 
52
53
  # @private
53
54
  attr_reader :wikipedia_type, :wikidata, :wikidata_id
@@ -173,7 +174,7 @@ module Reality
173
174
  if @wikidata_id
174
175
  @wikidata = Wikidata::Entity.one_by_id(@wikidata_id)
175
176
  if @wikidata && @wikidata.en_wikipage
176
- @wikipage = Infoboxer.wikipedia.get(@wikidata.en_wikipage)
177
+ @wikipage = Infoboxer.wikipedia.get(@wikidata.en_wikipage.tr('_', ' '))
177
178
  end
178
179
  else
179
180
  @wikipage = Infoboxer.wikipedia.get(name)
@@ -209,7 +210,7 @@ module Reality
209
210
  #
210
211
  # * loads itself if it was not loaded;
211
212
  # * returns one of {values} by method name.
212
- #
213
+ #
213
214
  # Note, that even if there's no value with required key, `method_missing`
214
215
  # will return `nil` (and not through `NoMethodError` as someone may
215
216
  # expect). That's because even supposedly homogenous entities may have different
@@ -220,7 +221,7 @@ module Reality
220
221
  def method_missing(sym, *arg, **opts, &block)
221
222
  if arg.empty? && opts.empty? && !block && sym !~ /[=?!]/ &&
222
223
  !UNSUPPORTED_METHODS.include?(sym)
223
-
224
+
224
225
  load! unless loaded?
225
226
 
226
227
  # now some new method COULD emerge while loading
@@ -276,7 +277,7 @@ module Reality
276
277
  # # :gdp_ppp=>{:amount=>964279000000.0, :unit=>"$"},
277
278
  # # :population=>{:amount=>43417000.0, :unit=>"person"},
278
279
  # # :head_of_government=>
279
- # # {:name=>"Mauricio Macri",
280
+ # # {:name=>"Mauricio Macri",
280
281
  # # :birthday=>"1959-02-08",
281
282
  # # ....},
282
283
  # # :country=>"Argentina",
@@ -298,7 +299,7 @@ module Reality
298
299
  # # :coord=>{:lat=>-34.0, :lng=>-64.0},
299
300
  # # :official_website=>"http://www.argentina.gob.ar/",
300
301
  # # :gdp_nominal=>{:amount=>537659972702.0, :unit=>"$"}}
301
- # #
302
+ # #
302
303
  # ```
303
304
  #
304
305
  # @return [Hash]
@@ -1,6 +1,6 @@
1
1
  module Reality
2
2
  MAJOR = 0
3
3
  MINOR = 0
4
- PATCH = 4
4
+ PATCH = 5
5
5
  VERSION = [MINOR, MAJOR, PATCH].join('.')
6
6
  end
@@ -97,7 +97,7 @@ module Reality
97
97
  when 'http://www.opengis.net/ont/geosparql#wktLiteral'
98
98
  # TODO: WTF
99
99
  if hash['value'] =~ /^\s*point\s*\(\s*([-\d.]+)\s+([-\d.]+)\s*\)\s*$/i
100
- lat, lng = $1, $2
100
+ lng, lat = $1, $2
101
101
  Geo::Coord.new(lat.to_f, lng.to_f)
102
102
  else
103
103
  fail ArgumentError, "Unparseable WKT: #{hash['value']}"
@@ -136,7 +136,7 @@ module Reality
136
136
 
137
137
  def en_wikipage
138
138
  return nil unless about
139
-
139
+
140
140
  name = about.first.
141
141
  scan(%r{https://en\.wikipedia\.org/wiki/(.+)$}).
142
142
  flatten.first.derp{|s| URI.unescape(s)}
@@ -3,7 +3,7 @@ module Reality
3
3
  module Query
4
4
  PREFIX = %Q{
5
5
  PREFIX wikibase: <http://wikiba.se/ontology#>
6
- PREFIX wd: <http://www.wikidata.org/entity/>
6
+ PREFIX wd: <http://www.wikidata.org/entity/>
7
7
  PREFIX wdt: <http://www.wikidata.org/prop/direct/>
8
8
  PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
9
9
  PREFIX p: <http://www.wikidata.org/prop/>
@@ -36,7 +36,7 @@ module Reality
36
36
 
37
37
  QUERY = %Q{
38
38
  #{PREFIX}
39
-
39
+
40
40
  SELECT ?s ?p ?o ?oLabel WHERE {
41
41
  %{selectors} .
42
42
  #{PREDICATES} .
@@ -58,7 +58,8 @@ module Reality
58
58
 
59
59
  def by_wikititle(*titles)
60
60
  fetch(:en_wikipage, titles.
61
- map{|t| SELECTORS[:wikipedia] % {title: URI.escape(t, UNSAFE)}}
61
+ map{|t| SELECTORS[:wikipedia] % {title: t.tr(' ', '_')}}
62
+ #map{|t| SELECTORS[:wikipedia] % {title: URI.escape(t, UNSAFE)}}
62
63
  )
63
64
  end
64
65
 
@@ -82,7 +83,7 @@ module Reality
82
83
  }.flatten(1).
83
84
  group_by(&key).
84
85
  # of several entities with same label, we always prefer first-by-id
85
- map{|key, group| group.sort_by(&:id_i).first}.
86
+ map{|key, group| group.sort_by(&:id_i).first}.
86
87
  map{|entity| [entity.send(key), entity]}.to_h
87
88
  end
88
89
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reality
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Victor Shepelev and contributors
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-04-18 00:00:00.000000000 Z
11
+ date: 2017-09-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: infoboxer
@@ -225,7 +225,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
225
225
  version: '0'
226
226
  requirements: []
227
227
  rubyforge_project:
228
- rubygems_version: 2.4.6
228
+ rubygems_version: 2.6.10
229
229
  signing_key:
230
230
  specification_version: 4
231
231
  summary: Simple and easy proxy to real-life knowledge.