module Legion::Extensions::Lex::Runners::Runner
Public Instance Methods
create(extension_id:, name:, active: 1, **opts)
click to toggle source
# File lib/legion/extensions/lex/runners/runner.rb, line 6 def create(extension_id:, name:, active: 1, **opts) exist = Legion::Data::Model::Runner.where(name: name.to_s).where(extension_id: extension_id).first unless exist.nil? update_hash = { runner_id: exist.values[:id], name: name, active: active, **opts } return Legion::Runner.run(runner_class: 'Legion::Extensions::Lex::Runners::Runner', function: 'update', args: update_hash, parent_id: opts[:task_id], master_id: opts[:master_id]) end insert = { extension_id: extension_id, name: name.to_s, active: active, namespace: opts[:namespace] } insert[:queue] = opts.key?(:queue) ? opts[:queue] : name.to_s insert[:uri] = opts.key?(:uri) ? opts[:uri] : name.to_s { success: true, runner_id: Legion::Data::Model::Runner.insert(insert) } end
delete(runner_id:, **_opts)
click to toggle source
# File lib/legion/extensions/lex/runners/runner.rb, line 41 def delete(runner_id:, **_opts) { runner_id: runner_id, result: Legion::Data::Model::Runner[runner_id].delete } end
get(runner_id:, **_opts)
click to toggle source
# File lib/legion/extensions/lex/runners/runner.rb, line 37 def get(runner_id:, **_opts) Legion::Data::Model::Runner[runner_id].values end
update(runner_id:, **opts)
click to toggle source
# File lib/legion/extensions/lex/runners/runner.rb, line 22 def update(runner_id:, **opts) runner = Legion::Data::Model::Runner[runner_id] update = {} %i[name namespace active queue uri].each do |column| next unless opts.key? column next if runner.values[column] == opts[column] update[column] = opts[column] end { success: true, changed: false, runner_id: runner_id } if update.count.zero? runner.update(update) { success: true, changed: true, updates: update, runner_id: runner_id } end