Class: Judges::Push
Overview
The push
command.
This class is instantiated by the bin/judge
command line interface. You are not supposed to instantiate it yourself.
- Author
-
Yegor Bugayenko ([email protected])
- Copyright
-
Copyright © 2024 Yegor Bugayenko
- License
-
MIT
Instance Method Summary collapse
-
#initialize(loog) ⇒ Push
constructor
A new instance of Push.
-
#run(opts, args) ⇒ Object
Run it (it is supposed to be called by the
bin/judges
script..
Constructor Details
#initialize(loog) ⇒ Push
Returns a new instance of Push.
39 40 41 |
# File 'lib/judges/commands/push.rb', line 39 def initialize(loog) @loog = loog end |
Instance Method Details
#run(opts, args) ⇒ Object
Run it (it is supposed to be called by the bin/judges
script.
46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 |
# File 'lib/judges/commands/push.rb', line 46 def run(opts, args) raise 'Exactly two arguments required' unless args.size == 2 name = args[0] fb = Judges::Impex.new(@loog, args[1]).import baza = BazaRb.new( opts['host'], opts['port'].to_i, opts['token'], ssl: opts['ssl'], timeout: (opts['timeout'] || 30).to_i, loog: @loog, retries: (opts['retries'] || 3).to_i, compress: opts.fetch('zip', true) ) elapsed(@loog, level: Logger::INFO) do baza.lock(name, opts['owner']) begin id = baza.push(name, fb.export, opts['meta'] || []) throw :"Pushed #{fb.size} facts, job ID is #{id}" ensure baza.unlock(name, opts['owner']) end end end |