Class: Judges::Join
Overview
Join.
- Author
-
Yegor Bugayenko (yegor256@gmail.com)
- Copyright
-
Copyright © 2024 Yegor Bugayenko
- License
-
MIT
Instance Method Summary collapse
-
#initialize(loog) ⇒ Join
constructor
A new instance of Join.
- #run(_opts, args) ⇒ Object
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.binread(master)) @loog.info("Master factbase imported from #{master.to_rel} (#{File.size(master)} bytes)") fb.import(File.binread(slave)) @loog.info("Slave factbase imported from #{slave.to_rel} (#{File.size(slave)} bytes)") File.binwrite(master, fb.export) @loog.info("Master factbase exported to #{master.to_rel} (#{File.size(master)} bytes)") end |