puppet-repl 0.0.6 → 0.0.7
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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +6 -0
- data/Gemfile +1 -2
- data/Gemfile.lock +5 -0
- data/README.md +29 -0
- data/VERSION +1 -1
- data/lib/awesome_print/ext/awesome_puppet.rb +29 -0
- data/lib/puppet-repl.rb +2 -0
- data/lib/puppet-repl/cli.rb +8 -2
- data/lib/version.rb +1 -1
- data/puppet-repl.gemspec +7 -2
- data/spec/puppet-repl_spec.rb +16 -2
- metadata +18 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: efa15e795af4973b078852664154fe9e60d9b908
|
4
|
+
data.tar.gz: a59f074150a899b9e67c59ca9b6874651541b7c4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 174bc1f05d44735c39e55417eb05cd54bb19a6a666572afc46bc025868c3a26f3624ba4d5d691d15e7b4360ac743e0cfb24e53bcf8f77548ea9dd16e0ce4234f
|
7
|
+
data.tar.gz: d3b20b61ea361187b5cf646b5336a3f58207f54ed40c39b3dde5582dddeefca7e87a925f0e04f99b2046e6c5aea50e056dedb23ed5545f43968092e40e52befc
|
data/CHANGELOG.md
ADDED
data/Gemfile
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
source "http://rubygems.org"
|
2
2
|
gem 'puppet', ENV['PUPPET_GEM_VERSION'] || ">= 3.8"
|
3
3
|
gem 'facterdb'
|
4
|
-
|
5
|
-
# Include everything needed to run rake, tests, features, etc.
|
4
|
+
gem 'awesome_print'
|
6
5
|
|
7
6
|
group :test do
|
8
7
|
gem "rspec"
|
data/Gemfile.lock
CHANGED
@@ -3,6 +3,7 @@ GEM
|
|
3
3
|
specs:
|
4
4
|
CFPropertyList (2.2.8)
|
5
5
|
addressable (2.4.0)
|
6
|
+
awesome_print (1.6.1)
|
6
7
|
builder (3.2.2)
|
7
8
|
coderay (1.1.0)
|
8
9
|
descendants_tracker (0.0.4)
|
@@ -93,6 +94,7 @@ PLATFORMS
|
|
93
94
|
ruby
|
94
95
|
|
95
96
|
DEPENDENCIES
|
97
|
+
awesome_print
|
96
98
|
bundler
|
97
99
|
facterdb
|
98
100
|
jeweler (~> 2.0.1)
|
@@ -102,3 +104,6 @@ DEPENDENCIES
|
|
102
104
|
rdoc (~> 3.12)
|
103
105
|
rspec
|
104
106
|
simplecov
|
107
|
+
|
108
|
+
BUNDLED WITH
|
109
|
+
1.11.2
|
data/README.md
CHANGED
@@ -75,7 +75,36 @@ Type "exit", "functions", "types", "reset", "help" for more information.
|
|
75
75
|
=> File['/etc/httpd/httpd.conf']
|
76
76
|
>>
|
77
77
|
```
|
78
|
+
### Listing variables
|
79
|
+
To see the current variables in the scope use the `vars` keyword.
|
78
80
|
|
81
|
+
```
|
82
|
+
>> $var1 = 'value'
|
83
|
+
=> value
|
84
|
+
>> $var2 = {'key1' => 'value1'}
|
85
|
+
=> {"key1"=>"value1"}
|
86
|
+
>> vars
|
87
|
+
"Facts were removed for easier viewing"
|
88
|
+
{
|
89
|
+
"datacenter" => "datacenter1",
|
90
|
+
"facts" => "removed by the puppet-repl",
|
91
|
+
"module_name" => "",
|
92
|
+
"name" => "main",
|
93
|
+
"title" => "main",
|
94
|
+
"trusted" => {
|
95
|
+
"authenticated" => "local",
|
96
|
+
"certname" => nil,
|
97
|
+
"domain" => nil,
|
98
|
+
"extensions" => {},
|
99
|
+
"hostname" => nil
|
100
|
+
},
|
101
|
+
"var1" => "value",
|
102
|
+
"var2" => {
|
103
|
+
"key1" => "value1"
|
104
|
+
}
|
105
|
+
}
|
106
|
+
|
107
|
+
```
|
79
108
|
## Using functions
|
80
109
|
Functions will run and produce the desired output. If you type the word `functions`
|
81
110
|
a list of available functions will be displayed on the screen.
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.0.
|
1
|
+
0.0.7
|
@@ -0,0 +1,29 @@
|
|
1
|
+
module AwesomePrint
|
2
|
+
module Puppet
|
3
|
+
def self.included(base)
|
4
|
+
base.send :alias_method, :cast_without_puppet_resource, :cast
|
5
|
+
base.send :alias_method, :cast, :cast_with_puppet_resource
|
6
|
+
end
|
7
|
+
|
8
|
+
# this tells ap how to cast our object so we can be specific
|
9
|
+
# about printing different puppet objects
|
10
|
+
def cast_with_puppet_resource(object, type)
|
11
|
+
cast = cast_without_puppet_resource(object, type)
|
12
|
+
if (defined?(::Puppet::Type)) && (object.is_a?(::Puppet::Type))
|
13
|
+
cast = :puppet_resource_instance
|
14
|
+
end
|
15
|
+
cast
|
16
|
+
end
|
17
|
+
|
18
|
+
def awesome_puppet_resource_instance(object)
|
19
|
+
'' if object.nil?
|
20
|
+
title = object.title
|
21
|
+
name = object.name
|
22
|
+
h = object.to_hash.merge(:name => object.name, :title => object.title)
|
23
|
+
res_str = awesome_hash(h)
|
24
|
+
"#{object.class} #{res_str.gsub(':', '')}"
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
AwesomePrint::Formatter.send(:include, AwesomePrint::Puppet)
|
data/lib/puppet-repl.rb
CHANGED
data/lib/puppet-repl/cli.rb
CHANGED
@@ -49,9 +49,15 @@ module PuppetRepl
|
|
49
49
|
when /^:set/
|
50
50
|
handle_set(input)
|
51
51
|
when 'facts'
|
52
|
-
|
52
|
+
vars = Hash[ node.facts.map { |k, v| [k.to_s, v] } ]
|
53
|
+
ap(vars, {:sort_keys => true, :indent => -1})
|
53
54
|
when '_'
|
54
55
|
puts(" => #{@last_item}")
|
56
|
+
when 'vars'
|
57
|
+
vars = scope.to_hash.delete_if {| key, value | node.facts.key?(key.to_sym) }
|
58
|
+
vars['facts'] = 'removed by the puppet-repl'
|
59
|
+
ap 'Facts were removed for easier viewing'
|
60
|
+
ap(vars, {:sort_keys => true, :indent => -1})
|
55
61
|
when 'environment'
|
56
62
|
puts "Puppet Environment: #{puppet_env_name}"
|
57
63
|
when 'exit'
|
@@ -73,7 +79,7 @@ Ruby Version: #{RUBY_VERSION}
|
|
73
79
|
Puppet Version: #{Puppet.version}
|
74
80
|
Puppet Repl Version: #{PuppetRepl::VERSION}
|
75
81
|
Created by: NWOps <corey@nwops.io>
|
76
|
-
Type "exit", "functions", "facts", "reset", "help" for more information.
|
82
|
+
Type "exit", "functions", "vars", "facts", "reset", "help" for more information.
|
77
83
|
|
78
84
|
EOT
|
79
85
|
end
|
data/lib/version.rb
CHANGED
data/puppet-repl.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = "puppet-repl"
|
8
|
-
s.version = "0.0.
|
8
|
+
s.version = "0.0.7"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Corey Osman"]
|
12
|
-
s.date = "2016-
|
12
|
+
s.date = "2016-04-02"
|
13
13
|
s.description = "A interactive command line tool for evaluating the puppet language"
|
14
14
|
s.email = "corey@nwops.io"
|
15
15
|
s.executables = ["prepl"]
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |s|
|
|
21
21
|
".document",
|
22
22
|
".rspec",
|
23
23
|
".travis.yml",
|
24
|
+
"CHANGELOG.md",
|
24
25
|
"Gemfile",
|
25
26
|
"Gemfile.lock",
|
26
27
|
"LICENSE.txt",
|
@@ -28,6 +29,7 @@ Gem::Specification.new do |s|
|
|
28
29
|
"Rakefile",
|
29
30
|
"VERSION",
|
30
31
|
"bin/prepl",
|
32
|
+
"lib/awesome_print/ext/awesome_puppet.rb",
|
31
33
|
"lib/puppet-repl.rb",
|
32
34
|
"lib/puppet-repl/cli.rb",
|
33
35
|
"lib/puppet-repl/support.rb",
|
@@ -49,17 +51,20 @@ Gem::Specification.new do |s|
|
|
49
51
|
if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
|
50
52
|
s.add_runtime_dependency(%q<puppet>, [">= 3.8"])
|
51
53
|
s.add_runtime_dependency(%q<facterdb>, [">= 0"])
|
54
|
+
s.add_runtime_dependency(%q<awesome_print>, [">= 0"])
|
52
55
|
s.add_development_dependency(%q<pry>, [">= 0"])
|
53
56
|
s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
|
54
57
|
else
|
55
58
|
s.add_dependency(%q<puppet>, [">= 3.8"])
|
56
59
|
s.add_dependency(%q<facterdb>, [">= 0"])
|
60
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
57
61
|
s.add_dependency(%q<pry>, [">= 0"])
|
58
62
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
59
63
|
end
|
60
64
|
else
|
61
65
|
s.add_dependency(%q<puppet>, [">= 3.8"])
|
62
66
|
s.add_dependency(%q<facterdb>, [">= 0"])
|
67
|
+
s.add_dependency(%q<awesome_print>, [">= 0"])
|
63
68
|
s.add_dependency(%q<pry>, [">= 0"])
|
64
69
|
s.add_dependency(%q<rdoc>, ["~> 3.12"])
|
65
70
|
end
|
data/spec/puppet-repl_spec.rb
CHANGED
@@ -15,7 +15,7 @@ describe "PuppetRepl" do
|
|
15
15
|
'help'
|
16
16
|
end
|
17
17
|
it 'can show the help screen' do
|
18
|
-
repl_output = /Ruby Version: #{RUBY_VERSION}\nPuppet Version: \d.\d.\d\nPuppet Repl Version: \d.\d.\d\nCreated by: NWOps <corey@nwops.io>\nType \"exit\", \"functions\", \"facts\", \"reset\", \"help\" for more information.\n\n/
|
18
|
+
repl_output = /Ruby Version: #{RUBY_VERSION}\nPuppet Version: \d.\d.\d\nPuppet Repl Version: \d.\d.\d\nCreated by: NWOps <corey@nwops.io>\nType \"exit\", \"functions\", \"vars\", \"facts\", \"reset\", \"help\" for more information.\n\n/
|
19
19
|
expect{repl.handle_input(input)}.to output(repl_output).to_stdout
|
20
20
|
end
|
21
21
|
end
|
@@ -90,7 +90,7 @@ describe "PuppetRepl" do
|
|
90
90
|
"facts"
|
91
91
|
end
|
92
92
|
it 'should be able to print facts' do
|
93
|
-
expect{repl.handle_input(input)}.to output(/
|
93
|
+
expect{repl.handle_input(input)}.to output(/kernel/).to_stdout
|
94
94
|
end
|
95
95
|
end
|
96
96
|
|
@@ -106,6 +106,20 @@ describe "PuppetRepl" do
|
|
106
106
|
end
|
107
107
|
end
|
108
108
|
|
109
|
+
describe 'vars' do
|
110
|
+
let(:input) do
|
111
|
+
"vars"
|
112
|
+
end
|
113
|
+
it 'display facts variable' do
|
114
|
+
output = /facts/
|
115
|
+
expect{repl.handle_input(input)}.to output(output).to_stdout
|
116
|
+
end
|
117
|
+
it 'dispaly local variable' do
|
118
|
+
repl.handle_input("$var1 = 'value1'")
|
119
|
+
expect{repl.handle_input(input)}.to output(/var1/).to_stdout
|
120
|
+
end
|
121
|
+
end
|
122
|
+
|
109
123
|
describe 'execute functions' do
|
110
124
|
let(:input) do
|
111
125
|
"md5('hello')"
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: puppet-repl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Corey Osman
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-
|
11
|
+
date: 2016-04-02 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: puppet
|
@@ -38,6 +38,20 @@ dependencies:
|
|
38
38
|
- - '>='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: awesome_print
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '>='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
41
55
|
- !ruby/object:Gem::Dependency
|
42
56
|
name: pry
|
43
57
|
requirement: !ruby/object:Gem::Requirement
|
@@ -78,6 +92,7 @@ files:
|
|
78
92
|
- .document
|
79
93
|
- .rspec
|
80
94
|
- .travis.yml
|
95
|
+
- CHANGELOG.md
|
81
96
|
- Gemfile
|
82
97
|
- Gemfile.lock
|
83
98
|
- LICENSE.txt
|
@@ -85,6 +100,7 @@ files:
|
|
85
100
|
- Rakefile
|
86
101
|
- VERSION
|
87
102
|
- bin/prepl
|
103
|
+
- lib/awesome_print/ext/awesome_puppet.rb
|
88
104
|
- lib/puppet-repl.rb
|
89
105
|
- lib/puppet-repl/cli.rb
|
90
106
|
- lib/puppet-repl/support.rb
|