bebox 0.1.3 → 0.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (42) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +3 -18
  3. data/bebox.gemspec +1 -1
  4. data/lib/bebox.rb +1 -0
  5. data/lib/bebox/cli.rb +7 -1
  6. data/lib/bebox/commands/commands_helper.rb +2 -2
  7. data/lib/bebox/commands/environment_commands.rb +6 -6
  8. data/lib/bebox/commands/general_commands.rb +2 -2
  9. data/lib/bebox/commands/node_commands.rb +18 -14
  10. data/lib/bebox/commands/prepare_commands.rb +17 -14
  11. data/lib/bebox/commands/profile_commands.rb +8 -8
  12. data/lib/bebox/commands/provision_commands.rb +7 -7
  13. data/lib/bebox/commands/role_commands.rb +14 -14
  14. data/lib/bebox/logger.rb +2 -0
  15. data/lib/bebox/node.rb +0 -1
  16. data/lib/bebox/profile.rb +1 -1
  17. data/lib/bebox/project.rb +1 -1
  18. data/lib/bebox/vagrant_helper.rb +5 -3
  19. data/lib/bebox/version.rb +1 -1
  20. data/lib/bebox/wizards/environment_wizard.rb +5 -5
  21. data/lib/bebox/wizards/node_wizard.rb +23 -22
  22. data/lib/bebox/wizards/profile_wizard.rb +24 -25
  23. data/lib/bebox/wizards/project_wizard.rb +34 -28
  24. data/lib/bebox/wizards/provision_wizard.rb +13 -12
  25. data/lib/bebox/wizards/role_wizard.rb +15 -21
  26. data/lib/i18n/en.yml +198 -0
  27. data/spec/cli_spec.rb +66 -26
  28. data/spec/fixtures/commands/environment_help.erb.test +1 -0
  29. data/spec/fixtures/commands/general_help.erb.test +1 -0
  30. data/spec/fixtures/commands/in_project_help.erb.test +1 -0
  31. data/spec/fixtures/commands/node_help.erb.test +1 -0
  32. data/spec/fixtures/commands/profile_help.erb.test +1 -0
  33. data/spec/fixtures/commands/role_help.erb.test +1 -0
  34. data/spec/spec_helper.rb +7 -1
  35. data/spec/wizards/profile_wizard_spec.rb +12 -0
  36. metadata +23 -22
  37. data/spec/fixtures/commands/environment_help.test +0 -1
  38. data/spec/fixtures/commands/general_help.test +0 -1
  39. data/spec/fixtures/commands/in_project_help.test +0 -1
  40. data/spec/fixtures/commands/node_help.test +0 -1
  41. data/spec/fixtures/commands/profile_help.test +0 -1
  42. data/spec/fixtures/commands/role_help.test +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 886423855b71a864742480b34b9a13809cebd033
4
- data.tar.gz: fef0a3dbcc6cf4122f83514933e044edf0510227
3
+ metadata.gz: 7dbcd794821165fbd1d616c747b8ba8125fd255b
4
+ data.tar.gz: 36cf6cbe8f4c35d2b21e49e61ceb648ada9b903a
5
5
  SHA512:
6
- metadata.gz: 4f493c919fba06dce468d5b0ca50af84404f45e00d3e8f5cb7b5f24990e3a8316cf8d97ea8221a514a09db34218e0e2e32ee8b405a740d1ea7a7324fed1f6e69
7
- data.tar.gz: 1ec1b8514c512cc454900568885381874626951ad437be9f945da7cbe926a581ea386eed987e4c2001e68d659a9aa8f78ff2922c9de62fc308fba72286a6a4f0
6
+ metadata.gz: 2eb096841311aa6c652aeabfe79eda7faac54f091a7b615d0cf4af72d5b31b973631b0fc8e4b08a04c3de65a5dce76b215067051833f125fba5b7b9ab4a518ea
7
+ data.tar.gz: 0aeaf4a6e8cc853373856e4011f6f256555a961133c55917b8b83a7474749d6412ec25f79272c039ee483d79ad19bdefd28a28f073096a163f47fd2bb755a674
data/Gemfile.lock CHANGED
@@ -1,8 +1,9 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- bebox (0.1.3)
4
+ bebox (0.1.4)
5
5
  colorize (= 0.6.0)
6
+ fast_gettext (= 0.9.0)
6
7
  gli (= 2.10.0)
7
8
  highline (= 1.6.21)
8
9
  progressbar (= 0.21.0)
@@ -26,28 +27,16 @@ GEM
26
27
  minitest (~> 5.1)
27
28
  thread_safe (~> 0.1)
28
29
  tzinfo (~> 1.1)
29
- aruba (0.5.4)
30
- childprocess (>= 0.3.6)
31
- cucumber (>= 1.1.1)
32
- rspec-expectations (>= 2.7.0)
33
30
  awesome_print (1.2.0)
34
31
  binding_of_caller (0.7.2)
35
32
  debug_inspector (>= 0.0.1)
36
33
  builder (3.2.2)
37
- childprocess (0.5.3)
38
- ffi (~> 1.0, >= 1.0.11)
39
34
  codeclimate-test-reporter (0.4.0)
40
35
  simplecov (>= 0.7.1, < 1.0.0)
41
36
  coderay (1.1.0)
42
37
  colorize (0.6.0)
43
38
  columnize (0.8.9)
44
39
  coolline (0.4.3)
45
- cucumber (1.3.14)
46
- builder (>= 2.1.2)
47
- diff-lcs (>= 1.1.3)
48
- gherkin (~> 2.12)
49
- multi_json (>= 1.7.5, < 2.0)
50
- multi_test (>= 0.1.1)
51
40
  debug_inspector (0.0.2)
52
41
  debugger (1.6.6)
53
42
  columnize (>= 0.3.1)
@@ -61,9 +50,7 @@ GEM
61
50
  erubis (2.7.0)
62
51
  factory_girl (4.3.0)
63
52
  activesupport (>= 3.0.0)
64
- ffi (1.9.3)
65
- gherkin (2.12.2)
66
- multi_json (~> 1.3)
53
+ fast_gettext (0.9.0)
67
54
  gli (2.10.0)
68
55
  grit (2.5.0)
69
56
  diff-lcs (~> 1.1)
@@ -89,7 +76,6 @@ GEM
89
76
  mime-types (1.25.1)
90
77
  minitest (5.3.3)
91
78
  multi_json (1.9.2)
92
- multi_test (0.1.1)
93
79
  net-ssh (2.9.1)
94
80
  posix-spawn (0.3.8)
95
81
  progressbar (0.21.0)
@@ -155,7 +141,6 @@ PLATFORMS
155
141
  ruby
156
142
 
157
143
  DEPENDENCIES
158
- aruba (= 0.5.4)
159
144
  bebox!
160
145
  codeclimate-test-reporter (= 0.4.0)
161
146
  factory_girl (= 4.3.0)
data/bebox.gemspec CHANGED
@@ -26,7 +26,6 @@ spec = Gem::Specification.new do |s|
26
26
  s.executables << 'bebox'
27
27
  s.required_ruby_version = '>= 1.9.2'
28
28
  s.add_development_dependency('rake', '10.3.1')
29
- s.add_development_dependency('aruba', '0.5.4')
30
29
  s.add_development_dependency('rspec', '2.14.1')
31
30
  s.add_development_dependency('jazz_hands', '0.5.2')
32
31
  s.add_development_dependency('serverspec', '1.6.0')
@@ -38,4 +37,5 @@ spec = Gem::Specification.new do |s|
38
37
  s.add_runtime_dependency('highline', '1.6.21')
39
38
  s.add_runtime_dependency('progressbar', '0.21.0')
40
39
  s.add_runtime_dependency('colorize', '0.6.0')
40
+ s.add_runtime_dependency('fast_gettext', '0.9.0')
41
41
  end
data/lib/bebox.rb CHANGED
@@ -1,3 +1,4 @@
1
+ require 'fast_gettext'
1
2
  require 'progressbar'
2
3
  require 'colorize'
3
4
  require 'gli'
data/lib/bebox/cli.rb CHANGED
@@ -6,10 +6,16 @@ module Bebox
6
6
  attr_accessor :project_root
7
7
 
8
8
  def initialize(*args)
9
+
10
+ # Configure the i18n directory and locale
11
+ FastGettext.add_text_domain('bebox', path: File.join((File.expand_path '..', File.dirname(__FILE__)), 'i18n'), type: :yaml)
12
+ FastGettext.set_locale('en')
13
+ FastGettext.text_domain = 'bebox'
14
+
9
15
  # add the GLI magic on to the Bebox::Cli instance
10
16
  self.extend GLI::App
11
17
 
12
- program_desc 'Create basic provisioning of remote servers.'
18
+ program_desc _('cli.desc')
13
19
  version Bebox::VERSION
14
20
 
15
21
  if inside_project?
@@ -8,9 +8,9 @@ module Bebox
8
8
  def get_environment(options)
9
9
  environment = options[:environment]
10
10
  # Ask for environment of node if flag environment not set
11
- environment ||= choose_option(Environment.list(project_root), 'Choose an existing environment:')
11
+ environment ||= choose_option(Environment.list(project_root), _('cli.choose_environment'))
12
12
  # Check environment existence
13
- Bebox::Environment.environment_exists?(project_root, environment) ? (return environment) : exit_now!(error("The '#{environment}' environment does not exist."))
13
+ Bebox::Environment.environment_exists?(project_root, environment) ? (return environment) : exit_now!(error(_('cli.not_exist_environment')%{environment: environment}))
14
14
  end
15
15
 
16
16
  # Obtain the default environment for a project
@@ -8,11 +8,11 @@ module Bebox
8
8
 
9
9
  def load_commands
10
10
  # Environment management phase commands
11
- desc 'Manage environments for the project. The \'vagrant\', \'production\' and \'staging\' environments are present by default.'
11
+ desc _('cli.environment.desc')
12
12
  command :environment do |environment_command|
13
13
  environment_list_command(environment_command)
14
- generate_environment_command(environment_command, :new, :create_new_environment, 'Add a remote environment to the project')
15
- generate_environment_command(environment_command, :remove, :remove_environment, 'Remove a remote environment in the project')
14
+ generate_environment_command(environment_command, :new, :create_new_environment, _('cli.environment.new.desc'))
15
+ generate_environment_command(environment_command, :remove, :remove_environment, _('cli.environment.remove.desc'))
16
16
  end
17
17
  end
18
18
 
@@ -21,7 +21,7 @@ module Bebox
21
21
  environment_command.arg_name "[environment]"
22
22
  environment_command.command command do |generated_command|
23
23
  generated_command.action do |global_options,options,args|
24
- help_now!(error('You did not supply an environment')) if args.count == 0
24
+ help_now!(error(_('cli.environment.name_arg_missing'))) if args.count == 0
25
25
  Bebox::EnvironmentWizard.new.send(send_command, project_root, args.first)
26
26
  end
27
27
  end
@@ -33,9 +33,9 @@ module Bebox
33
33
  environment_command.command :list do |environment_list_command|
34
34
  environment_list_command.action do |global_options,options,args|
35
35
  environments = Bebox::Environment.list(project_root)
36
- title 'Current environments:'
36
+ title _('cli.environment.list.current_envs')
37
37
  environments.map{|environment| msg(environment)}
38
- warn('There are not environments yet. You can create a new one with: \'bebox environment new\' command.') if environments.empty?
38
+ warn(_('cli.environment.list.no_envs')) if environments.empty?
39
39
  end
40
40
  end
41
41
  end
@@ -7,14 +7,14 @@ module Bebox
7
7
 
8
8
  def load_commands
9
9
  # Project creation phase command
10
- desc 'Create a new bebox project through a simple wizard'
10
+ desc _('cli.project.new.desc')
11
11
  arg_name '[project_name]'
12
12
  command :new do |project_command|
13
13
  project_command.action do |global_options,options,args|
14
14
  if args.count > 0
15
15
  Bebox::ProjectWizard.new.create_new_project("bebox-#{args.first}")
16
16
  else
17
- help_now!(error('You did not supply a project name'))
17
+ help_now!(error(_('cli.project.new.name_arg_missing')))
18
18
  end
19
19
  end
20
20
  end
@@ -8,31 +8,26 @@ module Bebox
8
8
 
9
9
  def load_commands
10
10
  # Nodes management phase commands
11
- desc 'Manage nodes for a environment in the project.'
11
+ desc _('cli.node.desc')
12
12
  command :node do |node_command|
13
13
  node_list_command(node_command)
14
- generate_node_command(node_command, :new, :create_new_node, 'Add a node to a environment')
14
+ generate_node_command(node_command, :new, :create_new_node, _('cli.node.new.desc'))
15
15
  node_remove_command(node_command)
16
16
  # These commands are available if there is at least one role and one node
17
- generate_node_command(node_command, :set_role, :set_role, 'Associate a node with a role in a environment') if (Bebox::Role.roles_count(project_root) > 0 && Bebox::Node.count_all_nodes_by_type(project_root, 'nodes') > 0)
17
+ generate_node_command(node_command, :set_role, :set_role, _('cli.node.set_role.desc')) if (Bebox::Role.roles_count(project_root) > 0 && Bebox::Node.count_all_nodes_by_type(project_root, 'nodes') > 0)
18
18
  end
19
19
  end
20
20
 
21
21
  def node_list_command(node_command)
22
22
  # Node list command
23
- node_command.flag :environment, desc: 'Set the environment for nodes', default_value: default_environment
24
- node_command.desc 'list the nodes in a environment'
23
+ node_command.flag :environment, desc: _('cli.node.list.env_flag_desc'), default_value: default_environment
24
+ node_command.desc _('cli.node.list.desc')
25
25
  node_command.command :list do |node_list_command|
26
26
  node_list_command.switch :all
27
27
  node_list_command.action do |global_options,options,args|
28
28
  # Call to list nodes
29
29
  environments = options[:all] ? Bebox::Environment.list(project_root) : [get_environment(options)]
30
- environments.each do |environment|
31
- nodes = Node.list(project_root, environment, 'nodes')
32
- title "Nodes for '#{environment}' environment:"
33
- nodes.map{|node| msg("#{node} (#{Bebox::Node.node_provision_state(project_root, environment, node)})")}
34
- warn('There are not nodes yet in the environment. You can create a new one with: \'bebox node new\' command.') if nodes.empty?
35
- end
30
+ list_environments(environments)
36
31
  linebreak
37
32
  end
38
33
  end
@@ -44,21 +39,30 @@ module Bebox
44
39
  node_command.command command do |generated_command|
45
40
  generated_command.action do |global_options,options,args|
46
41
  environment = get_environment(options)
47
- info "Environment: #{environment}"
42
+ info _('cli.current_environment')%{environment: environment}
48
43
  Bebox::NodeWizard.new.send(send_command, project_root, environment)
49
44
  end
50
45
  end
51
46
  end
52
47
 
53
48
  def node_remove_command(node_command)
54
- node_command.desc "Remove a node in a environment"
49
+ node_command.desc _('cli.node.remove.desc')
55
50
  node_command.command :remove do |node_remove_command|
56
51
  node_remove_command.action do |global_options,options,args|
57
52
  environment = get_environment(options)
58
- info "Environment: #{environment}"
53
+ info _('cli.current_environment')%{environment: environment}
59
54
  Bebox::NodeWizard.new.remove_node(project_root, environment, args.first)
60
55
  end
61
56
  end
62
57
  end
58
+
59
+ def list_environments(environments)
60
+ environments.each do |environment|
61
+ nodes = Node.list(project_root, environment, 'nodes')
62
+ title _('cli.node.list.env_nodes_title')%{environment: environment}
63
+ nodes.map{|node| msg("#{node} (#{Bebox::Node.node_provision_state(project_root, environment, node)})")}
64
+ warn(_('cli.node.list.no_nodes')) if nodes.empty?
65
+ end
66
+ end
63
67
  end
64
68
  end
@@ -7,43 +7,46 @@ module Bebox
7
7
  end
8
8
 
9
9
  def load_commands
10
- # Prepare nodes phase commands
11
- desc 'Prepare the nodes for the environment.'
10
+ load_prepare_command
11
+ # These commands are available if there are at least one node in the vagrant environment
12
+ (Bebox::Node.list(project_root, 'vagrant', 'prepared_nodes').count > 0) ? load_vagrant_commands : return
13
+ end
14
+
15
+ def load_prepare_command
16
+ desc _('cli.prepare.desc')
12
17
  command :prepare do |prepare_command|
13
- prepare_command.flag :environment, :desc => 'Set the environment of node', default_value: default_environment
18
+ prepare_command.flag :environment, :desc => _('cli.prepare.env_flag_desc'), default_value: default_environment
14
19
  prepare_command.action do |global_options,options,args|
15
20
  environment = get_environment(options)
16
21
  # Check if vagrant is installed
17
- return error('Vagrant is not installed in the system. No changes were made.') unless Bebox::CommandsHelper.vagrant_installed?
18
- title "Environment: #{environment}"
22
+ return error(_('cli.prepare.not_vagrant')) unless Bebox::CommandsHelper.vagrant_installed?
23
+ title _('cli.current_environment')%{environment: environment}
19
24
  Bebox::NodeWizard.new.prepare(project_root, environment)
20
25
  end
21
26
  end
22
- # These commands are available if there are at least one node in the vagrant environment
23
- (Bebox::Node.list(project_root, 'vagrant', 'prepared_nodes').count > 0) ? load_vagrant_commands : return
24
27
  end
25
28
 
26
29
  def load_vagrant_commands
27
- desc 'Halt the nodes for vagrant environment.'
30
+ desc _('cli.prepare.vagrant_halt.desc')
28
31
  command :vagrant_halt do |vagrant_halt_command|
29
32
  vagrant_halt_command.action do |global_options,options,args|
30
- vagrant_command(:halt_vagrant_nodes, 'Halting nodes:')
33
+ vagrant_command(:halt_vagrant_nodes, _('cli.prepare.vagrant_halt.halt_title'))
31
34
  end
32
35
  end
33
- desc 'Up the nodes for vagrant environment.'
36
+ desc _('cli.prepare.vagrant_up.desc')
34
37
  command :vagrant_up do |vagrant_up_command|
35
38
  vagrant_up_command.action do |global_options,options,args|
36
- vagrant_command(:up_vagrant_nodes, 'Running up nodes:')
39
+ vagrant_command(:up_vagrant_nodes, _('cli.prepare.vagrant_up.up_title'))
37
40
  end
38
41
  end
39
42
  end
40
43
 
41
44
  def vagrant_command(command, message)
42
45
  # Check if vagrant is installed
43
- return error('Vagrant is not installed in the system. No changes were made.') unless Bebox::CommandsHelper.vagrant_installed?
46
+ return error(_('cli.prepare.not_vagrant')) unless Bebox::CommandsHelper.vagrant_installed?
44
47
  nodes = Bebox::Node.nodes_in_environment(project_root, 'vagrant', 'nodes')
45
- environment = 'vagrant'
46
- title "Environment: #{environment}\n#{message}"
48
+ title _('cli.current_environment')%{environment: 'vagrant'}
49
+ title message
47
50
  nodes.each{|node| msg(node.hostname)}
48
51
  linebreak
49
52
  Bebox::VagrantHelper.send(command, project_root)
@@ -7,7 +7,7 @@ module Bebox
7
7
  end
8
8
 
9
9
  def load_commands
10
- desc 'Manage profiles for the node provisioning phase.'
10
+ desc _('cli.profile.desc')
11
11
  command :profile do |profile_command|
12
12
  profile_new_command(profile_command)
13
13
  profile_remove_command(profile_command)
@@ -17,13 +17,13 @@ module Bebox
17
17
 
18
18
  # Profile new command
19
19
  def profile_new_command(profile_command)
20
- profile_command.desc 'Add a profile to the project'
20
+ profile_command.desc _('cli.profile.new.desc')
21
21
  profile_command.arg_name "[name]"
22
22
  profile_command.command :new do |profile_new_command|
23
- profile_new_command.flag :p, :arg_name => 'path', :desc => 'A relative path of the category folders tree to store the profile. Ex. basic/security/iptables'
23
+ profile_new_command.flag :p, :arg_name => 'path', :desc => _('cli.profile.new.path_flag_desc')
24
24
  profile_new_command.action do |global_options,options,args|
25
25
  path = options[:p] || ''
26
- help_now!(error('You did not supply a name')) if args.count == 0
26
+ help_now!(error(_('cli.profile.new.name_arg_missing'))) if args.count == 0
27
27
  Bebox::ProfileWizard.new.create_new_profile(project_root, args.first, path)
28
28
  end
29
29
  end
@@ -31,7 +31,7 @@ module Bebox
31
31
 
32
32
  # Profile remove command
33
33
  def profile_remove_command(profile_command)
34
- profile_command.desc "Remove a profile from the project"
34
+ profile_command.desc _('cli.profile.remove.desc')
35
35
  profile_command.command :remove do |profile_remove_command|
36
36
  profile_remove_command.action do |global_options,options,args|
37
37
  Bebox::ProfileWizard.new.remove_profile(project_root)
@@ -41,13 +41,13 @@ module Bebox
41
41
 
42
42
  # Profile list command
43
43
  def profile_list_command(profile_command)
44
- profile_command.desc 'List the profiles in the project'
44
+ profile_command.desc _('cli.profile.list.desc')
45
45
  profile_command.command :list do |profile_list_command|
46
46
  profile_list_command.action do |global_options,options,args|
47
47
  profiles = Bebox::ProfileWizard.new.list_profiles(project_root)
48
- title 'Current profiles:'
48
+ title _('cli.profile.list.current_profiles')
49
49
  profiles.map{|profile| msg(profile)}
50
- warn('There are not profiles yet. You can create a new one with: \'bebox profile new\' command.') if profiles.empty?
50
+ warn(_('cli.profile.list.no_profiles')) if profiles.empty?
51
51
  linebreak
52
52
  end
53
53
  end
@@ -11,21 +11,21 @@ module Bebox
11
11
  end
12
12
 
13
13
  def load_provision_commands
14
- desc 'Apply the Puppet step for the nodes in a environment. (step-0: Fundamental, step-1: User layer, step-2: Service layer, step-3: Security layer)'
14
+ desc _('cli.provision.desc')
15
15
  arg_name "[step]"
16
16
  command :apply do |apply_command|
17
- apply_command.switch :all, :desc => 'Apply all steps in sequence.', :negatable => false
18
- apply_command.flag :environment, :desc => 'Set the environment of nodes', default_value: default_environment
17
+ apply_command.switch :all, :desc => _('cli.provision.all_switch_desc'), :negatable => false
18
+ apply_command.flag :environment, :desc => _('cli.provision.env_flag_desc'), default_value: default_environment
19
19
  apply_command.action do |global_options,options,args|
20
20
  environment = get_environment(options)
21
- title "Environment: #{environment}"
21
+ title _('cli.current_environment')%{environment: environment}
22
22
  options[:all] ? apply_all(environment) : apply(environment, args)
23
23
  end
24
24
  end
25
25
  end
26
26
 
27
27
  def apply_all(environment)
28
- title "Provisioning all steps..."
28
+ title _('cli.provision.title')
29
29
  Bebox::PROVISION_STEPS.each do |step|
30
30
  Bebox::ProvisionWizard.new.apply_step(project_root, environment, step)
31
31
  end
@@ -33,8 +33,8 @@ module Bebox
33
33
 
34
34
  def apply(environment, args)
35
35
  step = args.first
36
- help_now!(error('You did not specify an step')) if args.count == 0
37
- help_now!(error('You did not specify a valid step')) unless Bebox::CommandsHelper.valid_step?(step)
36
+ help_now!(error(_('cli.provision.name_missing'))) if args.count == 0
37
+ help_now!(error(_('cli.provision.name_invalid'))) unless Bebox::CommandsHelper.valid_step?(step)
38
38
  Bebox::ProvisionWizard.new.apply_step(project_root, environment, step)
39
39
  end
40
40
  end
@@ -7,10 +7,10 @@ module Bebox
7
7
  end
8
8
 
9
9
  def load_commands
10
- desc 'Manage roles for the node provisioning phase.'
10
+ desc _('cli.role.desc')
11
11
  command :role do |role_command|
12
12
  role_new_command(role_command)
13
- generate_role_command(role_command, :remove, :remove_role, 'Remove a role from the project')
13
+ generate_role_command(role_command, :remove, :remove_role, _('cli.role.remove.desc'))
14
14
  role_list_command(role_command)
15
15
  # These commands are available if there are at least one role and one profile
16
16
  load_role_profile_commands(role_command) if (Bebox::Role.roles_count(project_root) > 0 && Bebox::Profile.profiles_count(project_root) > 0)
@@ -19,13 +19,13 @@ module Bebox
19
19
 
20
20
  # Role list command
21
21
  def role_list_command(role_command)
22
- role_command.desc 'List the roles in the project'
22
+ role_command.desc _('cli.role.list.desc')
23
23
  role_command.command :list do |role_list_command|
24
24
  role_list_command.action do |global_options,options,args|
25
25
  roles = Bebox::Role.list(project_root)
26
- title 'Current roles:'
26
+ title _('cli.role.list.current_roles')
27
27
  roles.map{|role| msg(role)}
28
- warn('There are not roles yet. You can create a new one with: \'bebox role new\' command.') if roles.empty?
28
+ warn(_('cli.role.list.no_roles')) if roles.empty?
29
29
  linebreak
30
30
  end
31
31
  end
@@ -33,19 +33,19 @@ module Bebox
33
33
 
34
34
  # Role new command
35
35
  def role_new_command(role_command)
36
- role_command.desc 'Add a role to the project'
36
+ role_command.desc _('cli.role.new.desc')
37
37
  role_command.arg_name "[name]"
38
38
  role_command.command :new do |role_new_command|
39
39
  role_new_command.action do |global_options,options,args|
40
- help_now!(error('You did not supply a name')) if args.count == 0
40
+ help_now!(error(_('cli.role.new.name_arg_missing'))) if args.count == 0
41
41
  Bebox::RoleWizard.new.create_new_role(project_root, args.first)
42
42
  end
43
43
  end
44
44
  end
45
45
 
46
46
  def load_role_profile_commands(role_command)
47
- generate_role_command(role_command, :add_profile, :add_profile, 'Add a profile to a role')
48
- generate_role_command(role_command, :remove_profile, :remove_profile, 'Remove a profile from a role')
47
+ generate_role_command(role_command, :add_profile, :add_profile, _('cli.role.add_profile.desc'))
48
+ generate_role_command(role_command, :remove_profile, :remove_profile, _('cli.role.remove_profile.desc'))
49
49
  role_list_profiles_command(role_command)
50
50
  end
51
51
 
@@ -61,22 +61,22 @@ module Bebox
61
61
 
62
62
  # Role list profiles command
63
63
  def role_list_profiles_command(role_command)
64
- role_command.desc 'List the profiles in a role'
64
+ role_command.desc _('cli.role.list_profiles.desc')
65
65
  role_command.arg_name "[role_name]"
66
66
  role_command.command :list_profiles do |list_profiles_command|
67
67
  list_profiles_command.action do |global_options,options,args|
68
- help_now!(error('You did not supply a role name.')) if args.count == 0
68
+ help_now!(error(_('cli.role.list_profiles.name_arg_missing'))) if args.count == 0
69
69
  role = args.first
70
- exit_now!(error("The '#{role}' role does not exist.")) unless Bebox::RoleWizard.new.role_exists?(project_root, role)
71
70
  print_profiles(role, Bebox::Role.list_profiles(project_root, role))
72
71
  end
73
72
  end
74
73
  end
75
74
 
76
75
  def print_profiles(role, profiles)
77
- title "Current profiles in '#{role}' role:"
76
+ exit_now!(error(_('cli.role.list_profiles.name_not_exist')%{role: role})) unless Bebox::RoleWizard.new.role_exists?(project_root, role)
77
+ title _('cli.role.list_profiles.current_profiles')%{role: role}
78
78
  profiles.map{|profile| msg(profile)}
79
- warn("There are not profiles in role '#{role}'. You can add a new one with: 'bebox role add_profile' command.") if profiles.empty?
79
+ warn(_('cli.role.list_profiles.no_profiles')%{role: role}) if profiles.empty?
80
80
  linebreak
81
81
  end
82
82
  end