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
         |