Class: GnCrossmap::Resolver

Inherits:
Object
  • Object
show all
Defined in:
lib/gn_crossmap/resolver.rb

Overview

Sends data to GN Resolver and collects results

Constant Summary collapse

URL =
"http://resolver.globalnames.org/name_resolvers.json".freeze

Instance Method Summary collapse

Constructor Details

#initialize(writer, data_source_id, stats) ⇒ Resolver

Returns a new instance of Resolver.



6
7
8
9
10
11
12
13
# File 'lib/gn_crossmap/resolver.rb', line 6

def initialize(writer, data_source_id, stats)
  @stats = stats
  @processor = GnCrossmap::ResultProcessor.new(writer, @stats)
  @ds_id = data_source_id
  @count = 0
  @current_data = {}
  @batch = 200
end

Instance Method Details

#resolve(data) {|@stats.stats| ... } ⇒ Object

Yields:

  • (@stats.stats)


15
16
17
18
19
20
21
22
23
24
25
26
# File 'lib/gn_crossmap/resolver.rb', line 15

def resolve(data)
  update_stats(data.size)
  data.each_slice(@batch) do |slice|
    with_log do
      names = collect_names(slice)
      remote_resolve(names)
      yield(@stats.stats) if block_given?
    end
  end
  wrap_up
  yield(@stats.stats) if block_given?
end