puppet-repl 0.2.3 → 0.3.0

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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6a03bd43b71008994c676b5199c458efd3e729e0
4
- data.tar.gz: 738b84539dbc265027dbd07ef2893c037395b6d9
3
+ metadata.gz: 8726c62a0923768b64cf07c7a4a020d331a6dbb4
4
+ data.tar.gz: 483b212a7d21da6bc76264b2c4efae120b72ba74
5
5
  SHA512:
6
- metadata.gz: 7fd864b5231b000b3cafc243f39af29a97c82491acc767ad0a342360dc5b96c2ab56e505ef022c0fb06a497f05b82723be8b8f450c36c01877373ab10342e2e6
7
- data.tar.gz: 8e1c79ae398c14eb95dc620b740c101a6a28bd894f651a8e3273047db37661bd51932c1bf556a5ead9bc332e4dd22f9760b480635b0a70ef711d0ba1b7a5cb29
6
+ metadata.gz: ee46f50573a316eb2f92a5bd4ff16af968ae691b3d39d1a5f26957d1a71c1f32d22a169df3a8f0511fd8e5a724290c6179484700d5b750d6b71c8e559eb11450
7
+ data.tar.gz: 61f17a2d77901d5321a996c0fb4bbb0824fd088473ca0e733990d05b0036626c4c0c30168d3becda2384f31812b82d2364bd36a92a4cea2c9a2c35b4460fa6ad
data/.gitignore ADDED
@@ -0,0 +1,53 @@
1
+ # rcov generated
2
+ local_test_results
3
+ bundle
4
+ bundler
5
+ vendor
6
+ coverage
7
+ coverage.data
8
+
9
+ # rdoc generated
10
+ rdoc
11
+
12
+ # yard generated
13
+ doc
14
+ .yardoc
15
+
16
+ # bundler
17
+ .bundle
18
+
19
+ # jeweler generated
20
+ pkg
21
+
22
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
23
+ #
24
+ # * Create a file at ~/.gitignore
25
+ # * Include files you want ignored
26
+ # * Run: git config --global core.excludesfile ~/.gitignore
27
+ #
28
+ # After doing this, these files will be ignored in all your git projects,
29
+ # saving you from having to 'pollute' every project you touch with them
30
+ #
31
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
32
+ #
33
+ # For MacOS:
34
+ #
35
+ #.DS_Store
36
+
37
+ # For TextMate
38
+ #*.tmproj
39
+ #tmtags
40
+
41
+ # For emacs:
42
+ #*~
43
+ #\#*
44
+ #.\#*
45
+
46
+ # For vim:
47
+ #*.swp
48
+
49
+ # For redcar:
50
+ #.redcar
51
+
52
+ # For rubinius:
53
+ #*.rbc
data/.gitlab-ci.yml CHANGED
@@ -3,17 +3,31 @@ stages:
3
3
  - deploy
4
4
  - web_deploy
5
5
 
6
- variables:
7
- HEROKU_STAGING_APP: murmuring-plateau-62715
8
- HEROKU_PROD_APP: still-tor-57873
9
-
10
6
  .puppet_def: &puppet_job_def
11
7
  stage: test
12
8
  script:
9
+ - gem update --system > /dev/null
10
+ - gem install bundler > /dev/null
13
11
  - bundle install --without development
14
12
  - bundle exec puppet module install puppetlabs-stdlib
15
13
  - bundle exec rake spec
16
14
 
15
+ web_trigger_staging:
16
+ type: web_deploy
17
+ variables:
18
+ REF: staging
19
+ only:
20
+ - tags
21
+ script:
22
+ - "curl -X POST -F token=$PREPL_BUILD_TRIGGER_TOKEN -F ref=$REF https://gitlab.com/api/v3/projects/1146764/trigger/builds"
23
+
24
+ web_trigger_production:
25
+ type: web_deploy
26
+ variables:
27
+ REF: production
28
+ script:
29
+ - "curl -X POST -F token=$PREPL_BUILD_TRIGGER_TOKEN -F ref=$REF https://gitlab.com/api/v3/projects/1146764/trigger/builds"
30
+
17
31
  .ruby_193: &ruby193
18
32
  image: ruby:1.9.3
19
33
 
@@ -39,80 +53,62 @@ gem_production:
39
53
  only:
40
54
  - tags
41
55
 
42
- # web_staging:
43
- # stage: web_deploy
44
- # before_script:
45
- # - gem install dpl
46
- # script:
47
- # - dpl --provider=heroku --strategy=git --app=$HEROKU_STAGING_APP --api-key=$HEROKU_API_KEY
48
- # only:
49
- # - master
50
- #
51
- # web_production:
52
- # stage: web_deploy
53
- # before_script:
54
- # - gem install dpl
55
- # script:
56
- # - dpl --provider=heroku --strategy=git --app=$HEROKU_PROD_APP --api-key=$HEROKU_API_KEY
57
- # only:
58
- # - tags
59
-
60
56
  puppet_38_ruby193:
61
57
  variables:
62
- PUPPET_GEM_VERSION: '3.8'
58
+ PUPPET_GEM_VERSION: "~> 3.8"
63
59
  <<: *puppet_job_def
64
60
  <<: *ruby193
65
61
 
66
62
  puppet_38_ruby20:
67
63
  variables:
68
- PUPPET_GEM_VERSION: '3.8'
64
+ PUPPET_GEM_VERSION: "~> 3.8"
69
65
  <<: *puppet_job_def
70
66
  <<: *ruby20
71
67
 
72
68
  puppet_38_ruby21:
73
69
  variables:
74
- PUPPET_GEM_VERSION: '3.8'
70
+ PUPPET_GEM_VERSION: "~> 3.8"
75
71
  <<: *puppet_job_def
76
72
  <<: *ruby21
77
73
 
78
74
  puppet_43_ruby20:
79
75
  variables:
80
- PUPPET_GEM_VERSION: '4.4'
76
+ PUPPET_GEM_VERSION: "~> 4.3"
81
77
  <<: *puppet_job_def
82
78
  <<: *ruby20
83
79
 
84
80
  puppet_43_ruby21:
85
81
  variables:
86
- PUPPET_GEM_VERSION: '4.4'
82
+ PUPPET_GEM_VERSION: "~> 4.3"
87
83
  <<: *puppet_job_def
88
84
  <<: *ruby21
89
85
 
90
86
  puppet_43_ruby22:
91
87
  variables:
92
- PUPPET_GEM_VERSION: '4.4'
88
+ PUPPET_GEM_VERSION: "~> 4.3"
93
89
  <<: *puppet_job_def
94
90
  <<: *ruby22
95
91
 
96
92
  puppet_44_ruby21:
97
93
  variables:
98
- PUPPET_GEM_VERSION: '4.4'
94
+ PUPPET_GEM_VERSION: "~> 4.4"
99
95
  <<: *puppet_job_def
100
96
  <<: *ruby21
101
97
 
102
98
  puppet_44_ruby22:
103
99
  variables:
104
- PUPPET_GEM_VERSION: '4.4'
100
+ PUPPET_GEM_VERSION: "~> 4.4"
105
101
  <<: *puppet_job_def
106
102
  <<: *ruby22
107
103
 
108
104
  puppet_45_ruby21:
109
105
  variables:
110
- PUPPET_GEM_VERSION: '4.5'
106
+ PUPPET_GEM_VERSION: "~> 4.5"
111
107
  <<: *puppet_job_def
112
108
  <<: *ruby21
113
109
 
114
110
  puppet_45_ruby22:
115
111
  variables:
116
- PUPPET_GEM_VERSION: '4.5'
112
+ PUPPET_GEM_VERSION: "~> 4.5"
117
113
  <<: *puppet_job_def
118
114
  <<: *ruby22
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
- --color
1
+ --no-color
2
2
  --format documentation
3
+ --tty
data/CHANGELOG.md CHANGED
@@ -1,3 +1,6 @@
1
+ ## 0.3.0
2
+ * Fixes #23 - add quiet flag to suppress banner
3
+ * Fixes #11 - cannot declare and use a class or define
1
4
  ## 0.2.3
2
5
  * fixes #21 - type display causes error
3
6
  ## 0.2.2
data/Gemfile CHANGED
@@ -2,15 +2,15 @@ source "http://rubygems.org"
2
2
  gem 'puppet', ENV['PUPPET_GEM_VERSION'] || ">= 3.8"
3
3
  gem 'facterdb', "~> 0.3"
4
4
  gem 'awesome_print', "~> 1.6"
5
+
5
6
  group :test do
7
+ gem "rdoc", "~> 3.12"
6
8
  gem "rspec"
7
9
  gem "bundler"
8
- gem "jeweler", "~> 2.0.1"
9
10
  gem "simplecov", ">= 0"
10
11
  gem 'rake'
11
- gem 'pry'
12
12
  end
13
13
 
14
14
  group :development do
15
- gem "rdoc", "~> 3.12"
15
+ gem 'pry'
16
16
  end
data/Gemfile.lock CHANGED
@@ -2,12 +2,8 @@ GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
4
  CFPropertyList (2.2.8)
5
- addressable (2.4.0)
6
5
  awesome_print (1.6.1)
7
- builder (3.2.2)
8
6
  coderay (1.1.1)
9
- descendants_tracker (0.0.4)
10
- thread_safe (~> 0.3, >= 0.3.1)
11
7
  diff-lcs (1.2.5)
12
8
  docile (1.1.5)
13
9
  facter (2.4.6)
@@ -15,57 +11,21 @@ GEM
15
11
  facterdb (0.3.5)
16
12
  facter
17
13
  jgrep
18
- faraday (0.9.2)
19
- multipart-post (>= 1.2, < 3)
20
- git (1.3.0)
21
- github_api (0.13.1)
22
- addressable (~> 2.4.0)
23
- descendants_tracker (~> 0.0.4)
24
- faraday (~> 0.8, < 0.10)
25
- hashie (>= 3.4)
26
- multi_json (>= 1.7.5, < 2.0)
27
- oauth2
28
- hashie (3.4.4)
29
- hiera (3.1.2)
14
+ hiera (3.2.0)
30
15
  json_pure
31
- highline (1.7.8)
32
- jeweler (2.0.1)
33
- builder
34
- bundler (>= 1.0)
35
- git (>= 1.2.5)
36
- github_api
37
- highline (>= 1.6.15)
38
- nokogiri (>= 1.5.10)
39
- rake
40
- rdoc
41
16
  jgrep (1.4.1)
42
17
  json
43
18
  json (1.8.3)
44
- json_pure (1.8.3)
45
- jwt (1.5.1)
19
+ json_pure (2.0.1)
46
20
  method_source (0.8.2)
47
- mini_portile2 (2.0.0)
48
- multi_json (1.12.0)
49
- multi_xml (0.5.5)
50
- multipart-post (2.0.0)
51
- nokogiri (1.6.7.2)
52
- mini_portile2 (~> 2.0.0.rc2)
53
- oauth2 (1.1.0)
54
- faraday (>= 0.8, < 0.10)
55
- jwt (~> 1.0, < 1.5.2)
56
- multi_json (~> 1.3)
57
- multi_xml (~> 0.5)
58
- rack (>= 1.2, < 3)
59
21
  pry (0.10.3)
60
22
  coderay (~> 1.1.0)
61
23
  method_source (~> 0.8.1)
62
24
  slop (~> 3.4)
63
- puppet (4.4.2)
64
- CFPropertyList (~> 2.2.6)
25
+ puppet (4.5.2)
65
26
  facter (> 2.0, < 4)
66
27
  hiera (>= 2.0, < 4)
67
28
  json_pure
68
- rack (1.6.4)
69
29
  rake (11.1.2)
70
30
  rdoc (3.12.2)
71
31
  json (~> 1.4)
@@ -88,7 +48,6 @@ GEM
88
48
  simplecov-html (~> 0.10.0)
89
49
  simplecov-html (0.10.0)
90
50
  slop (3.6.0)
91
- thread_safe (0.3.5)
92
51
 
93
52
  PLATFORMS
94
53
  ruby
@@ -97,7 +56,6 @@ DEPENDENCIES
97
56
  awesome_print (~> 1.6)
98
57
  bundler
99
58
  facterdb (~> 0.3)
100
- jeweler (~> 2.0.1)
101
59
  pry
102
60
  puppet (>= 3.8)
103
61
  rake
@@ -106,4 +64,4 @@ DEPENDENCIES
106
64
  simplecov
107
65
 
108
66
  BUNDLED WITH
109
- 1.12.3
67
+ 1.12.5
data/README.md CHANGED
@@ -31,7 +31,7 @@
31
31
  [![Gem Version](https://badge.fury.io/rb/puppet-repl.svg)](https://badge.fury.io/rb/puppet-repl)
32
32
  # puppet-repl
33
33
 
34
- A interactive command line tool for evaluating the puppet language.
34
+ A interactive command line tool for evaluating and debugging the puppet language.
35
35
 
36
36
  ## Compatibility
37
37
  Requires Puppet 3.8+ and only uses the future parser.
@@ -47,7 +47,7 @@ to install on your production puppet master. Please do not install because of th
47
47
  puppet-repl will load all functions from your basemodulepath and environmentpath.
48
48
 
49
49
  This means if you run `puppet module install puppetlabs-stdlib` and they will be available
50
- in the repl.
50
+ in the repl.
51
51
 
52
52
  ## Interactive demo
53
53
  I have put together a repo with a few setup instructions that will assist you in setting up a "mock" environment
@@ -221,6 +221,8 @@ This is also extremely useful to check classification rules and variables by you
221
221
  The puppet-repl uses readline internally. So any variable or function is also available for auto completion.
222
222
  Press the tab key to engage the auto complete functionality.
223
223
 
224
+ Currently native functions are not available in auto complete. See #24
225
+
224
226
  ## Playback support
225
227
  Puppet-repl now supports playing back files or urls and loading the content into the repl session. This means if you want to start a repl session from an existing file or url you can play the content back in the repl.
226
228
  You can also playback a file that contains puppet code and repl commands.
@@ -237,7 +239,7 @@ If using the [web based repl](https://www.puppet-repl.com) you can playback a sh
237
239
  which would start a repl session and then load the content from the url or parameter.
238
240
 
239
241
  Example:
240
- https://www.puppet-repl.com/play?url=https://gist.githubusercontent.com/logicminds/f9b1ac65a3a440d562b0.txt
242
+ https://murmuring-plateau-62715.herokuapp.com/play?url=https://gist.github.com/logicminds/64f0fe9f64339f18f097a9f42acd6276
241
243
 
242
244
  or for single commands
243
245
 
data/Rakefile CHANGED
@@ -2,8 +2,11 @@
2
2
 
3
3
  require 'rubygems'
4
4
  require 'bundler'
5
+ require "bundler/gem_tasks"
6
+ require "rake/testtask"
7
+
5
8
  begin
6
- Bundler.setup(:default, :development)
9
+ Bundler.setup(:default, :development, :test)
7
10
  rescue Bundler::BundlerError => e
8
11
  $stderr.puts e.message
9
12
  $stderr.puts "Run `bundle install` to install missing gems"
@@ -11,40 +14,17 @@ rescue Bundler::BundlerError => e
11
14
  end
12
15
  require 'rake'
13
16
 
14
- require 'jeweler'
15
- require_relative 'lib/version'
16
- Jeweler::Tasks.new do |gem|
17
- # gem is a Gem::Specification... see http://guides.rubygems.org/specification-reference/ for more options
18
- gem.name = "puppet-repl"
19
- gem.version = "#{PuppetRepl::VERSION}"
20
- gem.homepage = "http://github.com/nwops/puppet-repl"
21
- gem.license = "MIT"
22
- gem.summary = %Q{A repl for the puppet language}
23
- gem.description = %Q{A interactive command line tool for evaluating the puppet language}
24
- gem.email = "corey@nwops.io"
25
- gem.authors = ["Corey Osman"]
26
- # dependencies defined in Gemfile
27
- end
28
- Jeweler::RubygemsDotOrgTasks.new
29
-
30
17
  require 'rspec/core'
31
18
  require 'rspec/core/rake_task'
32
19
  RSpec::Core::RakeTask.new(:spec) do |spec|
33
20
  spec.pattern = FileList['spec/**/*_spec.rb']
34
21
  end
35
22
 
36
- desc "Code coverage detail"
37
- task :simplecov do
38
- ENV['COVERAGE'] = "true"
39
- Rake::Task['spec'].execute
40
- end
41
-
42
23
  task :default => :spec
43
24
 
44
25
  require 'rdoc/task'
45
26
  Rake::RDocTask.new do |rdoc|
46
27
  version = File.exist?('VERSION') ? File.read('VERSION') : ""
47
-
48
28
  rdoc.rdoc_dir = 'rdoc'
49
29
  rdoc.title = "puppet-repl #{version}"
50
30
  rdoc.rdoc_files.include('README*')
@@ -41,10 +41,6 @@ module PuppetRepl
41
41
  (scoped_vars + funcs + static_responder_list).uniq.sort
42
42
  end
43
43
 
44
- def puppet_eval(input)
45
- parser.evaluate_string(scope, input)
46
- end
47
-
48
44
  # looks up the type in the catalog by using the type and title
49
45
  # and returns the resource in ral format
50
46
  def to_resource_declaration(type)
@@ -95,6 +91,7 @@ module PuppetRepl
95
91
  #
96
92
  def handle_input(input)
97
93
  raise ArgumentError unless input.instance_of?(String)
94
+
98
95
  begin
99
96
  output = ''
100
97
  case input
@@ -134,7 +131,7 @@ module PuppetRepl
134
131
  rescue PuppetRepl::Exception::FatalError => e
135
132
  output = e.message.fatal
136
133
  out_buffer.puts output
137
- exit 1
134
+ exit 1 # this can sometimes causes tests to fail
138
135
  rescue PuppetRepl::Exception::Error => e
139
136
  output = e.message.fatal
140
137
  end
@@ -204,10 +201,11 @@ Type "exit", "functions", "vars", "krt", "facts", "resources", "classes",
204
201
  opt :play, "Url or file to load from", :required => false, :type => String
205
202
  opt :run_once, "Evaluate and quit", :required => false, :default => false
206
203
  opt :node_name, "Remote Node to grab facts from", :required => false, :type => String
204
+ opt :quiet, "Do not display banner", :required => false, :default => false
207
205
  end
208
206
  options = opts.merge(options)
209
- puts print_repl_desc
210
- repl_obj = new
207
+ puts print_repl_desc unless options[:quiet]
208
+ repl_obj = PuppetRepl::Cli.new
211
209
  repl_obj.remote_node_name = opts[:node_name] if opts[:node_name]
212
210
  repl_obj.initialize_from_scope(options[:scope])
213
211
  if options[:play]
@@ -62,6 +62,7 @@ module PuppetRepl
62
62
  set_remote_node_name(nil)
63
63
  set_node(nil)
64
64
  set_facts(nil)
65
+ set_environment(nil)
65
66
  set_log_level(log_level)
66
67
  end
67
68
 
@@ -100,12 +100,52 @@ module PuppetRepl
100
100
  def do_initialize
101
101
  begin
102
102
  Puppet.initialize_settings
103
+ Puppet[:parser] = 'future' # this is required in order to work with puppet 3.8
103
104
  Puppet[:trusted_node_data] = true
104
- rescue
105
+ rescue ArgumentError => e
106
+
107
+ rescue Puppet::DevError => e
105
108
  # do nothing otherwise calling init twice raises an error
106
109
  end
107
110
  end
108
111
 
112
+ # @param String - any valid puppet language code
113
+ # @return Hostclass - a puppet Program object which is considered the main class
114
+ def generate_ast(string = nil)
115
+ parse_result = parser.parse_string(string, '')
116
+ # the parse_result may be
117
+ # * empty / nil (no input)
118
+ # * a Model::Program
119
+ # * a Model::Expression
120
+ #
121
+ model = parse_result.nil? ? nil : parse_result.current
122
+ args = {}
123
+ ::Puppet::Pops::Model::AstTransformer.new('').merge_location(args, model)
124
+
125
+ ast_code =
126
+ if model.is_a? ::Puppet::Pops::Model::Program
127
+ ::Puppet::Parser::AST::PopsBridge::Program.new(model, args)
128
+ else
129
+ args[:value] = model
130
+ ::Puppet::Parser::AST::PopsBridge::Expression.new(args)
131
+ end
132
+ # Create the "main" class for the content - this content will get merged with all other "main" content
133
+ ::Puppet::Parser::AST::Hostclass.new('', :code => ast_code)
134
+ end
135
+
136
+ # @param String - any valid puppet language code
137
+ # @return Object - returns either a string of the result or object from puppet evaulation
138
+ def puppet_eval(input)
139
+ # in order to add functions to the scope the loaders must be created
140
+ # in order to call native functions we need to set the global_scope
141
+ ast = generate_ast(input)
142
+ Puppet.override( {:global_scope => scope, :loaders => scope.compiler.loaders } , 'For puppet-repl') do
143
+ # because the repl is not a module we leave the modname blank
144
+ scope.known_resource_types.import_ast(ast, '')
145
+ parser.evaluate_string(scope, input)
146
+ end
147
+ end
148
+
109
149
  def puppet_lib_dir
110
150
  # returns something like "/Library/Ruby/Gems/2.0.0/gems/puppet-4.2.2/lib/puppet.rb"
111
151
  # this is only useful when returning a namespace with the functions
@@ -114,7 +154,7 @@ module PuppetRepl
114
154
 
115
155
  # returns a future parser for evaluating code
116
156
  def parser
117
- @parser || ::Puppet::Pops::Parser::EvaluatingParser.new
157
+ @parser ||= ::Puppet::Pops::Parser::EvaluatingParser.new
118
158
  end
119
159
 
120
160
  def default_manifests_dir
data/lib/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module PuppetRepl
2
- VERSION = '0.2.3'
2
+ VERSION = '0.3.0'
3
3
  end
data/puppet-repl.gemspec CHANGED
@@ -1,94 +1,36 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
- # -*- encoding: utf-8 -*-
5
- # stub: puppet-repl 0.2.3 ruby lib
1
+
2
+ require './lib/version'
6
3
 
7
4
  Gem::Specification.new do |s|
8
5
  s.name = "puppet-repl"
9
- s.version = "0.2.3"
10
-
6
+ s.version = PuppetRepl::VERSION
7
+ s.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|resources|local_test_results|pec)/}) }
8
+ s.bindir = "bin"
9
+ s.executables = ["prepl"]
10
+ # Prevent pushing this gem to RubyGems.org. To allow pushes either set the 'allowed_push_host'
11
+ # to allow pushing to a single host or delete this section to allow pushing to any host.
12
+ if s.respond_to?(:metadata)
13
+ s.metadata['allowed_push_host'] = "'http://mygemserver.com'"
14
+ else
15
+ raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
16
+ end
11
17
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
18
  s.require_paths = ["lib"]
13
19
  s.authors = ["Corey Osman"]
14
- s.date = "2016-06-01"
20
+ s.date = "2016-07-03"
15
21
  s.description = "A interactive command line tool for evaluating the puppet language"
16
22
  s.email = "corey@nwops.io"
17
- s.executables = ["prepl"]
18
23
  s.extra_rdoc_files = [
19
24
  "CHANGELOG.md",
20
25
  "LICENSE.txt",
21
26
  "README.md"
22
27
  ]
23
- s.files = [
24
- ".document",
25
- ".gitlab-ci.yml",
26
- ".rspec",
27
- "CHANGELOG.md",
28
- "Gemfile",
29
- "Gemfile.lock",
30
- "LICENSE.txt",
31
- "README.md",
32
- "Rakefile",
33
- "VERSION",
34
- "bin/prepl",
35
- "lib/awesome_print/ext/awesome_puppet.rb",
36
- "lib/puppet-repl.rb",
37
- "lib/puppet-repl/cli.rb",
38
- "lib/puppet-repl/support.rb",
39
- "lib/puppet-repl/support/compiler.rb",
40
- "lib/puppet-repl/support/environment.rb",
41
- "lib/puppet-repl/support/errors.rb",
42
- "lib/puppet-repl/support/facts.rb",
43
- "lib/puppet-repl/support/functions.rb",
44
- "lib/puppet-repl/support/input_responders.rb",
45
- "lib/puppet-repl/support/node.rb",
46
- "lib/puppet-repl/support/play.rb",
47
- "lib/puppet-repl/support/scope.rb",
48
- "lib/trollop.rb",
49
- "lib/version.rb",
50
- "puppet-repl.gemspec",
51
- "resources/classes.png",
52
- "resources/classification.png",
53
- "resources/command_line_node.png",
54
- "resources/functions.png",
55
- "resources/hiera.png",
56
- "resources/set_node.png",
57
- "resources/tab_complete.png",
58
- "resources/variables.png",
59
- "spec/fixtures/environments/production/manifests/site.pp",
60
- "spec/fixtures/invalid_node_obj.yaml",
61
- "spec/fixtures/node_obj.yaml",
62
- "spec/fixtures/sample_manifest.pp",
63
- "spec/prepl_spec.rb",
64
- "spec/puppet-repl_spec.rb",
65
- "spec/spec_helper.rb",
66
- "spec/support_spec.rb"
67
- ]
68
28
  s.homepage = "http://github.com/nwops/puppet-repl"
69
29
  s.licenses = ["MIT"]
70
30
  s.rubygems_version = "2.4.5.1"
71
31
  s.summary = "A repl for the puppet language"
72
-
73
- if s.respond_to? :specification_version then
74
- s.specification_version = 4
75
-
76
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
77
- s.add_runtime_dependency(%q<puppet>, [">= 3.8"])
78
- s.add_runtime_dependency(%q<facterdb>, ["~> 0.3"])
79
- s.add_runtime_dependency(%q<awesome_print>, ["~> 1.6"])
80
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
81
- else
82
- s.add_dependency(%q<puppet>, [">= 3.8"])
83
- s.add_dependency(%q<facterdb>, ["~> 0.3"])
84
- s.add_dependency(%q<awesome_print>, ["~> 1.6"])
85
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
86
- end
87
- else
88
- s.add_dependency(%q<puppet>, [">= 3.8"])
89
- s.add_dependency(%q<facterdb>, ["~> 0.3"])
90
- s.add_dependency(%q<awesome_print>, ["~> 1.6"])
91
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
92
- end
32
+ s.add_runtime_dependency(%q<puppet>, [">= 3.8"])
33
+ s.add_runtime_dependency(%q<facterdb>, ["~> 0.3"])
34
+ s.add_runtime_dependency(%q<awesome_print>, ["~> 1.6"])
35
+ s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
93
36
  end
94
-
@@ -0,0 +1,12 @@
1
+ #!/usr/bin/env bash
2
+ export PATH=$PATH:/usr/local/bundle
3
+ gem install bundler > /dev/null
4
+ gem update --system > /dev/null
5
+ bundle install --no-color --without development
6
+ bundle exec puppet module install puppetlabs-stdlib
7
+ echo "Running tests, output to ${OUT_DIR}/results.txt"
8
+ bundle exec rspec --out "${OUT_DIR}/results.txt" --format documentation
9
+ # due to concurrency issues we can't build this in parallel
10
+ #gem build puppet-repl.gemspec
11
+
12
+ # docker run -e RUBY_VERSION='ruby:1.9.3' -e PUPPET_GEM_VERSION='~> 3.8' --rm -ti -v ${PWD}:/module --workdir /module ruby:1.9.3 /bin/bash run_container_test.sh
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Puppet::Node
2
2
  name: invalid
3
- classes:
4
- parameters:
3
+ classes: []
4
+ parameters: []
5
5
  facts:
6
6
  time: 2016-05-10 16:28:21.502653 -07:00
7
7
  environment_name: production