opskeleton 0.2.1 → 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.
data/.ruby-version CHANGED
@@ -1 +1 @@
1
- ruby-1.9.3-p392
1
+ ruby-1.9.3-p429
data/Gemfile.lock CHANGED
@@ -1,18 +1,47 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- opskeleton (0.2.1)
4
+ opskeleton (0.3.0)
5
5
  thor
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  coderay (1.0.9)
11
+ diff-lcs (1.2.4)
12
+ facter (1.7.1)
13
+ hiera (1.2.1)
14
+ json_pure
15
+ json_pure (1.8.0)
16
+ metaclass (0.0.1)
11
17
  method_source (0.8.1)
18
+ mocha (0.14.0)
19
+ metaclass (~> 0.0.1)
12
20
  pry (0.9.12)
13
21
  coderay (~> 1.0.5)
14
22
  method_source (~> 0.8)
15
23
  slop (~> 3.4)
24
+ puppet (3.2.1)
25
+ facter (~> 1.6)
26
+ hiera (~> 1.0)
27
+ rgen (~> 0.6)
28
+ puppetlabs_spec_helper (0.4.1)
29
+ mocha (>= 0.10.5)
30
+ rake
31
+ rspec (>= 2.9.0)
32
+ rspec-puppet (>= 0.1.1)
33
+ rake (10.0.4)
34
+ rgen (0.6.2)
35
+ rspec (2.13.0)
36
+ rspec-core (~> 2.13.0)
37
+ rspec-expectations (~> 2.13.0)
38
+ rspec-mocks (~> 2.13.0)
39
+ rspec-core (2.13.1)
40
+ rspec-expectations (2.13.0)
41
+ diff-lcs (>= 1.1.3, < 2.0)
42
+ rspec-mocks (2.13.1)
43
+ rspec-puppet (0.1.6)
44
+ rspec
16
45
  slop (3.4.4)
17
46
  thor (0.18.1)
18
47
 
@@ -22,3 +51,6 @@ PLATFORMS
22
51
  DEPENDENCIES
23
52
  opskeleton!
24
53
  pry
54
+ puppet
55
+ puppetlabs_spec_helper (>= 0.1.0)
56
+ rspec-puppet
data/bin/opsk CHANGED
@@ -7,39 +7,11 @@ require 'thor/runner'
7
7
  require 'thor/group'
8
8
  require 'opskeleton'
9
9
 
10
- module Opsk
11
- class Specgen < Thor::Group
12
- include Thor::Actions
13
-
14
- argument :name, :type => :string, :desc => "static module name"
15
-
16
- def self.source_root
17
- # during dev time
18
- if(File.dirname(__FILE__) == './bin')
19
- File.dirname('.')
20
- else
21
- "#{File.dirname(__FILE__)}/../"
22
- end
23
- end
24
-
25
- def create_spec_folders
26
- %w(classes defines functions hosts).each do |t|
27
- empty_directory("static-modules/#{name}/spec/#{t}")
28
- end
29
- end
30
-
31
- def create_class_spec
32
- template('templates/spec.erb', "static-modules/#{name}/spec/classes/")
33
- end
34
- end
35
- end
36
-
37
-
38
10
  module Opsk
39
11
  class Root < Thor
40
12
 
41
13
  register Opsk::Generate, 'generate', "generate [name] [box]", 'generates opskelaton project structure'
42
- register Opsk::Specgen, 'specgen', 'specgen [module]', 'generates rspec-puppet for static-modules/module'
14
+ register Opsk::Module, 'module', 'module [name]', 'generate an rspec ready Puppet module'
43
15
  register Opsk::Package, 'package', 'package', 'packages current module for celestial'
44
16
 
45
17
  desc 'version', 'print opsk version'
@@ -60,6 +60,10 @@ module Opsk
60
60
  copy_file('templates/LICENSE-2.0.txt',"#{path}/LICENSE-2.0.txt")
61
61
  end
62
62
 
63
+ def travis
64
+ template('templates/parent/travis.erb', "#{path}/.travis.yml")
65
+ end
66
+
63
67
  def git
64
68
  if(!File.exists?("#{path}/.git"))
65
69
  copy_file('templates/gitignore', "#{path}/.gitignore")
@@ -0,0 +1,34 @@
1
+ module Opsk
2
+ class Module < Thor::Group
3
+ include Thorable, Thor::Actions
4
+
5
+ argument :name, :type => :string, :desc => 'module name'
6
+
7
+ desc 'Generate an rspec enabled Puppet module'
8
+
9
+ def create_module
10
+ inside('static-modules') do
11
+ run("puppet module generate puppet-#{name}")
12
+ run("mv puppet-#{name} #{name}")
13
+ end
14
+ end
15
+
16
+ def rspec
17
+ inside("static-modules/#{name}/") do
18
+ run("rspec-puppet-init")
19
+ end
20
+ end
21
+
22
+ def create_rakefile
23
+ rakefile = "static-modules/#{name}/Rakefile"
24
+ remove_file(rakefile)
25
+ template('templates/module/Rakefile.erb',rakefile)
26
+ end
27
+
28
+ def spec_helper
29
+ spec_helper = "static-modules/#{name}/spec/spec_helper.rb"
30
+ remove_file(spec_helper)
31
+ template('templates/module/spec_helper.rb',spec_helper)
32
+ end
33
+ end
34
+ end
@@ -1,3 +1,3 @@
1
1
  module Opskeleton
2
- VERSION = "0.2.1"
2
+ VERSION = "0.3.0"
3
3
  end
data/lib/opskeleton.rb CHANGED
@@ -6,4 +6,5 @@ require 'ostruct'
6
6
  require 'opskeleton/thorable'
7
7
  require 'opskeleton/package'
8
8
  require 'opskeleton/generate'
9
+ require 'opskeleton/module'
9
10
 
data/opskeleton.gemspec CHANGED
@@ -12,6 +12,9 @@ Gem::Specification.new do |gem|
12
12
  gem.summary = %q{A generator for ops projects that include vagrant puppet and fpm}
13
13
  gem.homepage = "https://github.com/narkisr/opskeleton"
14
14
  gem.add_dependency('thor')
15
+ gem.add_development_dependency('puppet')
16
+ gem.add_development_dependency('rspec-puppet')
17
+ gem.add_development_dependency('puppetlabs_spec_helper', '>= 0.1.0')
15
18
  gem.add_development_dependency('pry')
16
19
 
17
20
  gem.files = `git ls-files`.split($/)
data/templates/Rakefile CHANGED
@@ -1,9 +1,15 @@
1
- require 'rake'
2
- require 'rspec/core/rake_task'
3
- require 'puppet-lint/tasks/puppet-lint'
4
-
5
- RSpec::Core::RakeTask.new(:spec) do |t|
6
- t.pattern = 'spec/*/*_spec.rb'
1
+ task :spec do
2
+ FileList["static-modules/**/Rakefile"].each do |project|
3
+ Rake::Task.clear
4
+ load project
5
+ dir = project.pathmap("%d")
6
+ Dir.chdir(dir) do
7
+ spec_task = Rake::Task[:spec]
8
+ spec_task.invoke()
9
+ end
10
+ end
7
11
  end
8
12
 
9
- task :default => [:spec, :lint]
13
+ require 'puppet-lint/tasks/puppet-lint'
14
+ PuppetLint.configuration.ignore_paths =['modules/**/*']
15
+ PuppetLint.configuration.send("disable_80chars")
data/templates/gemfile CHANGED
@@ -1,9 +1,14 @@
1
- # opskelaton Gems
2
1
  source "https://rubygems.org"
3
2
 
3
+ # base
4
4
  gem 'puppet'
5
+
6
+ # testing
7
+ gem 'rspec-puppet'
8
+ gem 'puppetlabs_spec_helper', '>= 0.1.0'
9
+
10
+ # build
5
11
  gem 'puppet-lint'
6
- gem 'librarian-puppet'
7
12
  gem 'rake'
8
- gem 'rspec-puppet'
13
+ gem 'librarian-puppet'
9
14
  gem 'opskeleton'
@@ -0,0 +1,22 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+ require 'rspec/core/rake_task'
4
+ require 'puppet-lint/tasks/puppet-lint'
5
+
6
+ link = 'spec/fixtures/modules/<%=name%>/manifests'
7
+ target = 'spec/fixtures/modules/<%=name%>/'
8
+
9
+ task :link do
10
+ FileUtils.mkdir_p target
11
+ symlink('../../../../manifests',link) unless File.exists?(link)
12
+ end
13
+
14
+ RSpec::Core::RakeTask.new(:spec) do |t|
15
+ t.pattern = 'spec/*/*_spec.rb'
16
+ end
17
+
18
+ task :default => [:link,:spec]
19
+
20
+ PuppetLint.configuration.ignore_paths =['modules/**/*']
21
+ PuppetLint.configuration.send("disable_80chars")
22
+
@@ -0,0 +1,8 @@
1
+ require 'rspec-puppet'
2
+
3
+ fixture_path = File.expand_path(File.join(__FILE__, '..', 'fixtures'))
4
+
5
+ RSpec.configure do |c|
6
+ c.module_path = "#{File.join(fixture_path, 'modules')}:modules"
7
+ c.manifest_dir = File.join(fixture_path, 'manifests')
8
+ end
@@ -0,0 +1,8 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ script:
5
+ - "librarian-puppet install"
6
+ - "rake lint"
7
+ - "rake spec"
8
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: opskeleton
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-04-28 00:00:00.000000000 Z
12
+ date: 2013-06-16 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thor
@@ -27,6 +27,54 @@ dependencies:
27
27
  - - ! '>='
28
28
  - !ruby/object:Gem::Version
29
29
  version: '0'
30
+ - !ruby/object:Gem::Dependency
31
+ name: puppet
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ! '>='
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ! '>='
44
+ - !ruby/object:Gem::Version
45
+ version: '0'
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec-puppet
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ! '>='
52
+ - !ruby/object:Gem::Version
53
+ version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ! '>='
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: puppetlabs_spec_helper
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ! '>='
68
+ - !ruby/object:Gem::Version
69
+ version: 0.1.0
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
77
+ version: 0.1.0
30
78
  - !ruby/object:Gem::Dependency
31
79
  name: pry
32
80
  requirement: !ruby/object:Gem::Requirement
@@ -65,6 +113,7 @@ files:
65
113
  - bin/opsk
66
114
  - lib/opskeleton.rb
67
115
  - lib/opskeleton/generate.rb
116
+ - lib/opskeleton/module.rb
68
117
  - lib/opskeleton/package.rb
69
118
  - lib/opskeleton/thorable.rb
70
119
  - lib/opskeleton/version.rb
@@ -77,7 +126,10 @@ files:
77
126
  - templates/gitignore
78
127
  - templates/hiera.yaml
79
128
  - templates/hiera_vagrant.yaml
129
+ - templates/module/Rakefile.erb
130
+ - templates/module/spec_helper.rb
80
131
  - templates/opsk.yml
132
+ - templates/parent/travis.erb
81
133
  - templates/puppet/default.erb
82
134
  - templates/puppet/site.erb
83
135
  - templates/puppetfile.erb
@@ -103,12 +155,18 @@ required_ruby_version: !ruby/object:Gem::Requirement
103
155
  - - ! '>='
104
156
  - !ruby/object:Gem::Version
105
157
  version: '0'
158
+ segments:
159
+ - 0
160
+ hash: -3993076141945134336
106
161
  required_rubygems_version: !ruby/object:Gem::Requirement
107
162
  none: false
108
163
  requirements:
109
164
  - - ! '>='
110
165
  - !ruby/object:Gem::Version
111
166
  version: '0'
167
+ segments:
168
+ - 0
169
+ hash: -3993076141945134336
112
170
  requirements: []
113
171
  rubyforge_project:
114
172
  rubygems_version: 1.8.25