nugrant 0.0.14 → 1.0.0.pre1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,135 +0,0 @@
1
- require 'nugrant'
2
- require 'nugrant/helper/yaml'
3
-
4
- module Nugrant
5
- module Vagrant
6
- module Command
7
- class Parameters < ::Vagrant::Command::Base
8
- def initialize(arguments, environment)
9
- super(arguments, environment)
10
-
11
- @show_help = false
12
- @show_defaults = false
13
- @show_system = false
14
- @show_user = false
15
- @show_project = false
16
- end
17
-
18
- def create_parser()
19
- return OptionParser.new do |parser|
20
- parser.banner = "Usage: vagrant user parameters [<options>]"
21
- parser.separator ""
22
-
23
- parser.separator "Available options:"
24
- parser.separator ""
25
-
26
- parser.on("-h", "--help", "Print this help") do
27
- @show_help = true
28
- end
29
-
30
- parser.on("-d", "--defaults", "Show only defaults parameters") do
31
- @show_defaults = true
32
- end
33
-
34
- parser.on("-s", "--system", "Show only system parameters") do
35
- @show_system = true
36
- end
37
-
38
- parser.on("-u", "--user", "Show only user parameters") do
39
- @show_user = true
40
- end
41
-
42
- parser.on("-p", "--project", "Show only project parameters") do
43
- @show_project = true
44
- end
45
-
46
- parser.separator ""
47
- parser.separator "When no options is provided, the command prints the names and values \n" +
48
- "of all parameters that would be available for usage in the Vagrantfile.\n" +
49
- "The hierarchy of the parameters is respected, so the final values are\n" +
50
- "displayed."
51
- end
52
- end
53
-
54
- def execute
55
- parser = create_parser()
56
- arguments = parse_options(parser)
57
-
58
- return help(parser) if @show_help
59
-
60
- @logger.debug("'Parameters' each target VM...")
61
- with_target_vms(arguments) do |vm|
62
- parameters = vm.config.keys[:user].parameters
63
-
64
- @env.ui.info("# Vm '#{vm.name}'", :prefix => false)
65
-
66
- defaults(parameters) if @show_defaults
67
- system(parameters) if @show_system
68
- user(parameters) if @show_user
69
- project(parameters) if @show_project
70
-
71
- all(parameters) if !@show_defaults && !@show_system && !@show_user && !@show_project
72
- end
73
-
74
- return 0
75
- end
76
-
77
- def help(parser)
78
- @env.ui.info(parser.help, :prefix => false)
79
- end
80
-
81
- def defaults(parameters)
82
- print_results("Defaults", parameters.defaults)
83
- end
84
-
85
- def system(parameters)
86
- print_results("System", parameters.system)
87
- end
88
-
89
- def user(parameters)
90
- print_results("User", parameters.user)
91
- end
92
-
93
- def project(parameters)
94
- print_results("Project", parameters.project)
95
- end
96
-
97
- def all(parameters)
98
- print_results("All", parameters.all)
99
- end
100
-
101
- def print_results(kind, parameters)
102
- if !parameters || parameters.empty?()
103
- print_header(kind)
104
- @env.ui.info(" Empty", :prefix => false)
105
- @env.ui.info("", :prefix => false)
106
- return
107
- end
108
-
109
- print_parameters(kind, {
110
- 'config' => {
111
- 'user' => parameters
112
- }
113
- })
114
- end
115
-
116
- def print_parameters(kind, data)
117
- string = Nugrant::Helper::Yaml.format(data.to_yaml, :indent => 1)
118
-
119
- print_header(kind)
120
- @env.ui.info(string, :prefix => false)
121
- @env.ui.info("", :prefix => false)
122
- end
123
-
124
- def print_header(kind, length = 50)
125
- @env.ui.info(" #{kind.capitalize} Parameters", :prefix => false)
126
- @env.ui.info(" " + "-" * length, :prefix => false)
127
- end
128
-
129
- def compute_header_length(string)
130
-
131
- end
132
- end
133
- end
134
- end
135
- end
@@ -1,78 +0,0 @@
1
- require 'nugrant'
2
-
3
- module Nugrant
4
- module Vagrant
5
- module Command
6
- class Root < ::Vagrant::Command::Base
7
- def initialize(arguments, environment)
8
- super(arguments, environment)
9
-
10
- @arguments, @subcommand, @subarguments = split_main_and_subcommand(arguments)
11
-
12
- # Change super class available arguments to main ones only
13
- @argv = @arguments
14
-
15
- @subcommands = ::Vagrant::Registry.new()
16
- @subcommands.register(:parameters) do
17
- require File.expand_path("../parameters", __FILE__)
18
- Parameters
19
- end
20
-
21
- @show_help = false
22
- @show_version = false
23
- end
24
-
25
- def create_parser()
26
- return OptionParser.new do |parser|
27
- parser.banner = "Usage: vagrant user [-h] [-v] <command> [<args>]"
28
-
29
- parser.separator ""
30
- parser.on("-h", "--help", "Print this help") do
31
- @show_help = true
32
- end
33
-
34
- parser.on("-v", "--version", "Print plugin version and exit.") do
35
- @show_version = true
36
- end
37
-
38
- parser.separator ""
39
- parser.separator "Available subcommands:"
40
-
41
- keys = []
42
- @subcommands.each { |key, value| keys << key.to_s }
43
-
44
- keys.sort.each do |key|
45
- parser.separator " #{key}"
46
- end
47
-
48
- parser.separator ""
49
- parser.separator "For help on any individual command run `vagrant user COMMAND -h`"
50
- end
51
- end
52
-
53
- def execute
54
- parser = create_parser()
55
- arguments = parse_options(parser)
56
-
57
- return version() if @show_version
58
- return help(parser) if @show_help
59
-
60
- command_class = @subcommands.get(@subcommand.to_sym) if @subcommand
61
- return help(parser) if !command_class || !@subcommand
62
-
63
- @logger.debug("Invoking nugrant command class: #{command_class} #{@subarguments.inspect}")
64
-
65
- command_class.new(@subarguments, @env).execute
66
- end
67
-
68
- def help(parser)
69
- @env.ui.info(parser.help, :prefix => false)
70
- end
71
-
72
- def version()
73
- @env.ui.info("Nugrant version #{Nugrant::VERSION}", :prefix => false)
74
- end
75
- end
76
- end
77
- end
78
- end
@@ -1,31 +0,0 @@
1
- require 'nugrant'
2
-
3
- module Nugrant
4
- module Vagrant
5
- module Config
6
- class User < ::Vagrant::Config::Base
7
- attr_reader :parameters
8
-
9
- def initialize()
10
- @parameters = Nugrant::Parameters.new()
11
- end
12
-
13
- def [](param_name)
14
- return @parameters[param_name]
15
- end
16
-
17
- def method_missing(method, *args, &block)
18
- return @parameters.method_missing(method, *args, &block)
19
- end
20
-
21
- def defaults(parameters)
22
- @parameters.defaults(parameters)
23
- end
24
-
25
- def defaults=(parameters)
26
- @parameters.defaults=(parameters)
27
- end
28
- end
29
- end
30
- end
31
- end
@@ -1,8 +0,0 @@
1
- Vagrant::Config.run do |config|
2
- config.user.defaults = {
3
- "test" => "value"
4
- }
5
-
6
- puts config.user.repository.personal
7
- puts config.user.test
8
- end