Class: Judges::Join

Inherits:
Object show all
Defined in:
lib/judges/commands/join.rb

Overview

Join.

Author

Yegor Bugayenko (yegor256@gmail.com)

Copyright

Copyright © 2024 Yegor Bugayenko

License

MIT

Instance Method Summary collapse

Constructor Details

#initialize(loog) ⇒ Join

Returns a new instance of Join.



35
36
37
# File 'lib/judges/commands/join.rb', line 35

def initialize(loog)
  @loog = loog
end

Instance Method Details

#run(_opts, args) ⇒ Object



39
40
41
42
43
44
45
46
47
48
49
50
51
52
# File 'lib/judges/commands/join.rb', line 39

def run(_opts, args)
  raise 'Exactly two arguments required' unless args.size == 2
  master = args[0]
  raise "The master factbase is absent: #{master.to_rel}" unless File.exist?(master)
  slave = args[1]
  raise "The slave factbase is absent: #{slave.to_rel}" unless File.exist?(slave)
  fb = Factbase.new
  fb.import(File.read(master))
  @loog.info("Master factbase imported from #{master.to_rel} (#{File.size(master)} bytes)")
  fb.import(File.read(slave))
  @loog.info("Slave factbase imported from #{slave.to_rel} (#{File.size(slave)} bytes)")
  File.write(master, fb.export)
  @loog.info("Master factbase exported to #{master.to_rel} (#{File.size(master)} bytes)")
end