Class: Opsk::Generate
- Inherits:
-
Thor::Group
- Object
- Thor::Group
- Opsk::Generate
- Includes:
- Thorable, Thor::Actions
- Defined in:
- lib/opskeleton/generate.rb
Instance Method Summary collapse
- #create_gemfile ⇒ Object
- #create_heira ⇒ Object
- #create_puppet_base ⇒ Object
- #create_rakefile ⇒ Object
- #create_rvmrc ⇒ Object
- #create_vagrant_file ⇒ Object
- #create_version ⇒ Object
- #git ⇒ Object
- #path ⇒ Object
- #readme ⇒ Object
- #server_spec ⇒ Object
- #travis ⇒ Object
Methods included from Thorable
Instance Method Details
#create_gemfile ⇒ Object
26 27 28 |
# File 'lib/opskeleton/generate.rb', line 26 def create_gemfile copy_file('templates/gemfile', "#{path}/Gemfile") end |
#create_heira ⇒ Object
55 56 57 58 59 60 61 62 63 64 |
# File 'lib/opskeleton/generate.rb', line 55 def create_heira hieradata = "#{path}/hieradata/" empty_directory(hieradata) %w(common virtualbox physical).each do |env| copy_file('templates/clean.yaml', "#{hieradata}/#{env}.yaml") end copy_file('templates/hiera.yaml', "#{path}/hiera.yaml") copy_file('templates/hiera_vagrant.yaml', "#{path}/hiera_vagrant.yaml") end |
#create_puppet_base ⇒ Object
44 45 46 47 48 49 50 51 52 53 |
# File 'lib/opskeleton/generate.rb', line 44 def create_puppet_base empty_directory("#{path}/static-modules/") empty_directory("#{path}/manifests/") template('templates/puppetfile.erb', "#{path}/Puppetfile") template('templates/puppet/default.erb', "#{path}/manifests/default.pp") copy_file('templates/run.sh', "#{path}/run.sh") copy_file('templates/boot.sh', "#{path}/boot.sh") chmod("#{path}/run.sh", 0755) chmod("#{path}/boot.sh", 0755) end |
#create_rakefile ⇒ Object
30 31 32 |
# File 'lib/opskeleton/generate.rb', line 30 def create_rakefile copy_file('templates/Rakefile', "#{path}/Rakefile") end |
#create_rvmrc ⇒ Object
38 39 40 41 42 |
# File 'lib/opskeleton/generate.rb', line 38 def create_rvmrc remove_file("#{path}/.rvmrc") template('templates/ruby-gemset.erb', "#{path}/.ruby-gemset") template('templates/ruby-version.erb', "#{path}/.ruby-version") end |
#create_vagrant_file ⇒ Object
16 17 18 19 20 21 22 23 24 |
# File 'lib/opskeleton/generate.rb', line 16 def create_vagrant_file empty_directory(path) case ['os_type'] when 'bsd' template('templates/vagrant_bsd.erb', "#{path}/Vagrantfile") else template('templates/vagrant.erb', "#{path}/Vagrantfile") end end |
#create_version ⇒ Object
34 35 36 |
# File 'lib/opskeleton/generate.rb', line 34 def create_version template('templates/opsk.yml', "#{path}/opsk.yml") end |
#git ⇒ Object
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/opskeleton/generate.rb', line 79 def git if(!File.exists?("#{path}/.git")) copy_file('templates/gitignore', "#{path}/.gitignore") inside(path) do run('git init .') run('git add -A') run("git commit -m 'initial sandbox import'") end end end |
#path ⇒ Object
12 13 14 |
# File 'lib/opskeleton/generate.rb', line 12 def path "#{name}-sandbox" end |
#readme ⇒ Object
66 67 68 69 |
# File 'lib/opskeleton/generate.rb', line 66 def readme template('templates/README.erb', "#{path}/README.md") copy_file('templates/LICENSE-2.0.txt',"#{path}/LICENSE-2.0.txt") end |
#server_spec ⇒ Object
75 76 77 |
# File 'lib/opskeleton/generate.rb', line 75 def server_spec directory('templates/parent/spec', "#{path}/spec") end |
#travis ⇒ Object
71 72 73 |
# File 'lib/opskeleton/generate.rb', line 71 def travis template('templates/parent/travis.erb', "#{path}/.travis.yml") end |