class HammerCLICsv::CsvCommand::SettingsCommand

Constants

VALUE

Public Class Methods

supported?() click to toggle source
# File lib/hammer_cli_csv/settings.rb, line 9
def self.supported?
  true
end

Public Instance Methods

create_settings_from_csv(line) click to toggle source
# File lib/hammer_cli_csv/settings.rb, line 31
def create_settings_from_csv(line)
  count(line[COUNT]).times do |number|
    name = namify(line[NAME], number)
    params =  { 'id' => get_setting_id(name),
                'setting' => {
                  'value' => line[VALUE]
                }
              }
    print "Updating setting '#{name}'..." if option_verbose?
    @api.resource(:settings).call(:update, params)
  end
  print "done\n" if option_verbose?
end
export(csv) click to toggle source
# File lib/hammer_cli_csv/settings.rb, line 13
def export(csv)
  csv << [NAME, VALUE]
  @api.resource(:settings).call(:index, {
      'per_page' => 999999,
      'search' => option_search
  })['results'].each do |setting|
    csv << [setting['name'], setting['value']]
  end
end
import() click to toggle source
# File lib/hammer_cli_csv/settings.rb, line 23
def import
  @existing = {}

  thread_import do |line|
    create_settings_from_csv(line)
  end
end

Private Instance Methods

get_setting_id(name) click to toggle source
# File lib/hammer_cli_csv/settings.rb, line 47
def get_setting_id(name)
  results = @api.resource(:settings).call(:index, { :search => "name=\"#{name}\"" })['results']
  raise "Setting '#{name}' not found" if !results || results.empty?
  results[0]['id']
end