Class: Redminerb::Cli::Users

Inherits:
Thor
  • Object
show all
Defined in:
lib/redminerb/cli/users.rb

Overview

‘users’ Thor subcommand definition

Instance Method Summary collapse

Instance Method Details

#createObject



44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# File 'lib/redminerb/cli/users.rb', line 44

def create
  Redminerb.init!
  if options[:ask]
    loop do
      initializer_data = @_initializer.detect do |internal|
        internal.is_a?(Hash) && internal.keys.include?(:current_command)
      end
      initializer_data[:current_command].options.keys.each do |option|
        next if option == :ask
        value = ask("#{option.capitalize} [#{options[option]}]:",
                    Thor::Shell::Color::GREEN)
        options[option] = value unless value.empty?
      end
      break if yes?('Is everything OK? (NO/yes)')
    end
  end
  puts Redminerb::Users.create(options).green
end

#list(user_id = nil) ⇒ Object



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/redminerb/cli/users.rb', line 23

def list(user_id = nil)
  if user_id
    show user_id
  else
    Redminerb.init!
    fields = options.delete(:fields) || 'id:login:mail'
    Redminerb::Users.list(options).each do |user|
      puts fields.split(':').map {|f| user.send(f)}.join("\t").green
    end
  end
end

#meObject



65
66
67
68
69
70
# File 'lib/redminerb/cli/users.rb', line 65

def me
  Redminerb.init!
  Redminerb::Users.me.each do |field, value|
    puts "#{field}: ".blue + value.to_s.green
  end
end

#show(user_id) ⇒ Object



74
75
76
77
# File 'lib/redminerb/cli/users.rb', line 74

def show(user_id)
  Redminerb.init!
  puts Redminerb::Template.render(:user, Redminerb::Users.read(user_id), options)
end