pumog 1.0.0 → 1.2.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: e403fd89f9353d923b24a2dcd619cb73c885ab08
4
- data.tar.gz: 92e18de26e84073480603a7214d6aa13476b94f2
2
+ SHA256:
3
+ metadata.gz: 2715dd445df7c76f331cd362fdda6911416594d06c0a2b0058a289d1aa8779d9
4
+ data.tar.gz: 54452e2a5ed60c0e69a76812a8964a96b71e97bd7ad839ab843016bbdd2ee49a
5
5
  SHA512:
6
- metadata.gz: 7436f8f8b07aa00a9dc9dea146879f87f6473004ca74380117d8378d7d35306a5e85d0725fb8382eac879b4cea47d8a013737bd3c1a24b94a343953d34be43f5
7
- data.tar.gz: c799dd619937c4a01d7ef11033425387967440958ad2223d0fec2c5c36598bc770417760ace5f68c49e7e4204a12f7101679ef5f70343876b24e7147bc10ca91
6
+ metadata.gz: d714f9beeadd45e33e4361d69f03ddfb8ae7a53bde6e44033d592402695e0b7d590c3ec70a79fa8e463f63bae02edda7c98429a9ee335141567e9ae07f2b2d42
7
+ data.tar.gz: be0e196ba6719712f2aaa3ff3d394278d3b18c869a23a1007b38d51745df0901703d8eb0c03c5cc7cbdd279bf79357935a9c2e9f1efb58ef12922491a9c88e9e
@@ -0,0 +1,30 @@
1
+ version: 2.1
2
+ orbs:
3
+ ruby: circleci/ruby@0.1.2
4
+
5
+ jobs:
6
+ build:
7
+ parameters:
8
+ ruby-version:
9
+ type: string
10
+ docker:
11
+ - image: circleci/ruby:<< parameters.ruby-version >>
12
+ executor: ruby/default
13
+ steps:
14
+ - checkout
15
+ - run:
16
+ name: Which bundler?
17
+ command: gem install bundler:2.2.26
18
+ - ruby/bundle-install
19
+ - run:
20
+ name: Run rspec tests
21
+ command: bundle exec rake spec
22
+ workflows:
23
+ build_and_test:
24
+ jobs:
25
+ - build:
26
+ matrix:
27
+ parameters:
28
+ # https://github.com/CircleCI-Public/cimg-ruby
29
+ # only supports the last three ruby versions
30
+ ruby-version: ["2.6.0", "2.6.5", "2.7.4", "3.0.2"]
data/Gemfile.lock ADDED
@@ -0,0 +1,36 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ pumog (1.2.0)
5
+ thor (~> 0.19)
6
+
7
+ GEM
8
+ remote: http://rubygems.org/
9
+ specs:
10
+ diff-lcs (1.4.4)
11
+ rake (13.0.6)
12
+ rspec (3.10.0)
13
+ rspec-core (~> 3.10.0)
14
+ rspec-expectations (~> 3.10.0)
15
+ rspec-mocks (~> 3.10.0)
16
+ rspec-core (3.10.1)
17
+ rspec-support (~> 3.10.0)
18
+ rspec-expectations (3.10.1)
19
+ diff-lcs (>= 1.2.0, < 2.0)
20
+ rspec-support (~> 3.10.0)
21
+ rspec-mocks (3.10.2)
22
+ diff-lcs (>= 1.2.0, < 2.0)
23
+ rspec-support (~> 3.10.0)
24
+ rspec-support (3.10.2)
25
+ thor (0.20.3)
26
+
27
+ PLATFORMS
28
+ x86_64-linux
29
+
30
+ DEPENDENCIES
31
+ pumog!
32
+ rake (~> 13.0)
33
+ rspec (~> 3.3)
34
+
35
+ BUNDLED WITH
36
+ 2.2.26
data/README.md CHANGED
@@ -1 +1,54 @@
1
- [![Build Status](https://travis-ci.org/matthias-guenther/pumog.png?branch=master)](https://travis-ci.org/matthias-guenther/pumog)
1
+ ## Pumog
2
+
3
+ Stands for **PuppetModuleGenerator** and can be used to generate a basic structure for new puppet modules with or without documentation.
4
+
5
+ [![Gem Version](https://badge.fury.io/rb/pumog.svg)](http://badge.fury.io/rb/pumog)
6
+ [![CircleCI](https://circleci.com/gh/wikimatze/pumog.svg?style=svg)](https://app.circleci.com/pipelines/github/wikimatze/pumog)
7
+
8
+
9
+ ## Usage & Examples
10
+
11
+ Run `pumog start` and it will generate the following directory structure:
12
+
13
+ What is the name of the module?
14
+ test
15
+
16
+ What is the name of the author?
17
+ Matthias
18
+
19
+ What is the email adress of the author?
20
+ matthias@wikimatze.de
21
+
22
+ New module will be created in:
23
+ /home/wm/test
24
+
25
+ Author/creator of the new module:
26
+ Matthias <matthias@wikimatze.de>
27
+
28
+ Is this correct? [y|n]:
29
+
30
+ create test/files
31
+ create test/templates
32
+ create test/manifests
33
+ create test/manifests/init.pp
34
+ create test/manifests/package.pp
35
+
36
+
37
+ If you pass in the `--no-doc` option, you will not asked after the author name and the email (leaving the module without
38
+ documentation).
39
+
40
+
41
+ ## Commands & Options
42
+
43
+ Commands:
44
+
45
+
46
+ pumog help [COMMAND] # Describe available commands or one specific command
47
+ pumog start # creates a new puppet module
48
+
49
+
50
+ Options:
51
+
52
+
53
+ -n, [--nodoc], [--no-nodoc] # no documentation
54
+
@@ -1,24 +1,26 @@
1
1
  require 'thor'
2
- require 'pumog'
2
+ require 'pumog/messages'
3
+ require 'pumog/module_information'
3
4
 
4
5
  module Pumog
5
6
  class Commandline < Thor
6
7
  include Thor::Actions
7
8
 
8
9
  def self.source_root
9
- 'templates'
10
+ File.expand_path('../templates', File.dirname(__FILE__))
10
11
  end
11
12
 
12
- desc "start", "sear something in a pan"
13
- method_option :nodoc, :type => :boolean, :desc => 'create new puppet module without documentation', :default => false
13
+ desc "start\n\n", "creates a new puppet module"
14
+ class_option :nodoc, :desc => 'no documentation', :aliases => '-n', :default => false, :type => :boolean
15
+
14
16
  def start
15
17
  @nodoc= options[:nodoc] ? false : true
16
18
 
17
- module_name = ''
18
- while module_name.empty?
19
+ name = ''
20
+ while name.empty?
19
21
  say "What is the name of the module?", :green
20
- module_name = STDIN.gets.chop
21
- say Pumog::Messages.module_name_error(module_name), :red
22
+ name = STDIN.gets.chop
23
+ say Pumog::Messages.module_name_error(name), :red
22
24
  end
23
25
 
24
26
  author = ''
@@ -35,33 +37,35 @@ module Pumog
35
37
  say Pumog::Messages.email_adress_error(email), :red
36
38
  end unless !@nodoc
37
39
 
38
- module_information = Pumog::ModuleInformation.new(module_name, author, email)
40
+ module_information = Pumog::ModuleInformation.new(name, author, email)
39
41
  confirm(module_information)
40
42
  end
41
43
 
42
44
  private
43
45
  def confirm(data)
44
- say Pumog::Messages.confirm_module_name(data.module_name.downcase), :blue
45
- say Pumog::Messages.confirm_creator(data), :yellow
46
- say Pumog::Messages.confirm, :yellow
46
+ say Pumog::Messages.confirm_module_name(data.name.downcase), :blue
47
47
 
48
- confirm = STDIN.gets.chop
48
+ if @nodoc
49
+ say Pumog::Messages.confirm_creator(data), :yellow
50
+ say Pumog::Messages.confirm, :yellow
51
+ confirm = STDIN.gets.chop
49
52
 
50
- while confirm.empty? | confirm.include?('n')
51
- start
53
+ while confirm.empty? | confirm.include?('n')
54
+ start
55
+ end
52
56
  end
53
57
 
54
58
  create_files(data)
55
59
  end
56
60
 
57
61
  def create_files(data)
58
- manifests_directory_name = "manifests_tmp"
62
+ manifests_directory_name = data.name + "/manifests"
59
63
 
60
- empty_directory "files_tmp"
61
- empty_directory "templates_tmp"
64
+ empty_directory data.name + "/files"
65
+ empty_directory data.name + "/templates"
62
66
  empty_directory manifests_directory_name
63
67
 
64
- @module_name = data.module_name.downcase
68
+ @name = data.name.downcase
65
69
  @author = data.author
66
70
  @email = data.email
67
71
  template(
@@ -73,7 +77,6 @@ module Pumog
73
77
  "package.txt.tt",
74
78
  "#{manifests_directory_name}/package.pp"
75
79
  )
76
-
77
80
  exit
78
81
  end
79
82
  end
@@ -1,9 +1,5 @@
1
1
  module Pumog
2
2
  class Messages
3
- def self.message
4
- "aa"
5
- end
6
-
7
3
  def self.module_name_error(name)
8
4
  "Module name can't be blank!" unless !name.empty?
9
5
  end
@@ -1,9 +1,9 @@
1
1
  module Pumog
2
2
  class ModuleInformation
3
- attr_accessor :module_name, :author, :email
3
+ attr_accessor :name, :author, :email
4
4
 
5
- def initialize(module_name= '', author = '', email= '')
6
- @module_name = module_name
5
+ def initialize(name= '', author = '', email= '')
6
+ @name = name
7
7
  @author = author
8
8
  @email = email
9
9
  end
data/lib/pumog/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Pumog
2
- VERSION = '1.0.0'
2
+ VERSION = '1.2.1'
3
3
  end
@@ -0,0 +1,8 @@
1
+ <% if @nodoc -%># === Author
2
+ #
3
+ # * <%= @author%> <<%= @email %>>
4
+ #
5
+ #
6
+ <% end %>class <%= @name %>::init {
7
+ include <%= @name %>::package
8
+ }
@@ -3,7 +3,7 @@
3
3
  # * <%= @author%> <<%= @email %>>
4
4
  #
5
5
  #
6
- <% end %>class <%= @module_name %>::package {
6
+ <% end %>class <%= @name %>::package {
7
7
  package { '<package-name>':
8
8
  ensure => latest,
9
9
  }
data/pumog.gemspec CHANGED
@@ -7,8 +7,8 @@ Gem::Specification.new do |s|
7
7
  s.authors = ["Matthias Guenther"]
8
8
  s.email = ["matthias@wikimatze.de"]
9
9
  s.license = 'MIT'
10
- s.homepage = "https://github.com/matthias-guenther/pumog"
11
- s.summary = %q{Create new puppet modules with this templates}
10
+ s.homepage = "https://github.com/wikimatze/pumog"
11
+ s.summary = %q{Create new puppet module with this template.}
12
12
  s.description = %q{Generate a basic structure for new puppet modules with or without documentation.}
13
13
 
14
14
  s.files = `git ls-files`.split("\n")
@@ -16,11 +16,8 @@ Gem::Specification.new do |s|
16
16
  s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
17
  s.require_paths = ["lib"]
18
18
 
19
- s.extra_rdoc_files = ['README.md']
20
-
21
19
  # specify any dependencies here; for example:
22
- s.add_development_dependency "minitest"
23
- s.add_development_dependency "rspec"
24
- s.add_development_dependency "rake"
25
- s.add_runtime_dependency "thor"
20
+ s.add_development_dependency "rspec", "~> 3.3"
21
+ s.add_development_dependency "rake", "~> 13.0"
22
+ s.add_runtime_dependency "thor", "~>0.19"
26
23
  end
@@ -1,4 +1,5 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe Pumog::Commandline do
4
+
4
5
  end
@@ -4,16 +4,16 @@ describe Pumog::Messages do
4
4
  context "basic information" do
5
5
  let(:module_information) {Pumog::ModuleInformation.new("Ruby", "Matze", "matthias@wikimatze.de")}
6
6
 
7
- context "#module_name" do
8
- it "print error message if module_name is blank" do
9
- module_information.module_name= ''
7
+ context "#name" do
8
+ it "print error message if name is blank" do
9
+ module_information.name= ''
10
10
 
11
- message = Pumog::Messages.module_name_error(module_information.module_name)
11
+ message = Pumog::Messages.module_name_error(module_information.name)
12
12
  expect(message).to match(/Module name can't be blank!/)
13
13
  end
14
14
 
15
15
  it "print nothing" do
16
- message = Pumog::Messages.module_name_error(module_information.module_name)
16
+ message = Pumog::Messages.module_name_error(module_information.name)
17
17
  expect(message).to be_nil
18
18
  end
19
19
  end
@@ -50,8 +50,8 @@ describe Pumog::Messages do
50
50
  context "#confirmation" do
51
51
  let(:module_information) {Pumog::ModuleInformation.new("Ruby", "M", "m@test.de")}
52
52
  it "print the path of the generated module" do
53
- message = Pumog::Messages.confirm_module_name(module_information.module_name)
54
- expect(message).to eql("New module will be created in:\n#{Dir.home}/#{module_information.module_name}")
53
+ message = Pumog::Messages.confirm_module_name(module_information.name)
54
+ expect(message).to eql("New module will be created in:\n#{Dir.home}/#{module_information.name}")
55
55
  end
56
56
 
57
57
  it "print the creator information" do
@@ -4,7 +4,7 @@ describe Pumog::ModuleInformation do
4
4
  it "creates an object" do
5
5
  module_information = Pumog::ModuleInformation.new("ruby", "Matthias", "matthias@wikimatze.de")
6
6
 
7
- expect(module_information.module_name).to eql("ruby")
7
+ expect(module_information.name).to eql("ruby")
8
8
  expect(module_information.author).to eql("Matthias")
9
9
  expect(module_information.email).to eql("matthias@wikimatze.de")
10
10
  end
data/spec/spec_helper.rb CHANGED
@@ -1,12 +1,10 @@
1
1
  $:.push(File.join(File.dirname(__FILE__), '..', 'lib/pumog'))
2
2
 
3
- require 'minitest/unit'
4
-
5
3
  require 'commandline'
6
4
  require 'messages'
7
5
  require 'module_information'
8
6
 
9
7
  RSpec.configure do |conf|
10
- conf.color_enabled = true
11
- conf.include Minitest::Assertions
8
+ conf.color = true
9
+ conf.tty = true
12
10
  end
metadata CHANGED
@@ -1,82 +1,69 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pumog
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Matthias Guenther
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-12-29 00:00:00.000000000 Z
11
+ date: 2021-08-21 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: minitest
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - '>='
18
- - !ruby/object:Gem::Version
19
- version: '0'
20
- type: :development
21
- prerelease: false
22
- version_requirements: !ruby/object:Gem::Requirement
23
- requirements:
24
- - - '>='
25
- - !ruby/object:Gem::Version
26
- version: '0'
27
13
  - !ruby/object:Gem::Dependency
28
14
  name: rspec
29
15
  requirement: !ruby/object:Gem::Requirement
30
16
  requirements:
31
- - - '>='
17
+ - - "~>"
32
18
  - !ruby/object:Gem::Version
33
- version: '0'
19
+ version: '3.3'
34
20
  type: :development
35
21
  prerelease: false
36
22
  version_requirements: !ruby/object:Gem::Requirement
37
23
  requirements:
38
- - - '>='
24
+ - - "~>"
39
25
  - !ruby/object:Gem::Version
40
- version: '0'
26
+ version: '3.3'
41
27
  - !ruby/object:Gem::Dependency
42
28
  name: rake
43
29
  requirement: !ruby/object:Gem::Requirement
44
30
  requirements:
45
- - - '>='
31
+ - - "~>"
46
32
  - !ruby/object:Gem::Version
47
- version: '0'
33
+ version: '13.0'
48
34
  type: :development
49
35
  prerelease: false
50
36
  version_requirements: !ruby/object:Gem::Requirement
51
37
  requirements:
52
- - - '>='
38
+ - - "~>"
53
39
  - !ruby/object:Gem::Version
54
- version: '0'
40
+ version: '13.0'
55
41
  - !ruby/object:Gem::Dependency
56
42
  name: thor
57
43
  requirement: !ruby/object:Gem::Requirement
58
44
  requirements:
59
- - - '>='
45
+ - - "~>"
60
46
  - !ruby/object:Gem::Version
61
- version: '0'
47
+ version: '0.19'
62
48
  type: :runtime
63
49
  prerelease: false
64
50
  version_requirements: !ruby/object:Gem::Requirement
65
51
  requirements:
66
- - - '>='
52
+ - - "~>"
67
53
  - !ruby/object:Gem::Version
68
- version: '0'
54
+ version: '0.19'
69
55
  description: Generate a basic structure for new puppet modules with or without documentation.
70
56
  email:
71
57
  - matthias@wikimatze.de
72
58
  executables:
73
59
  - pumog
74
60
  extensions: []
75
- extra_rdoc_files:
76
- - README.md
61
+ extra_rdoc_files: []
77
62
  files:
78
- - .travis.yml
63
+ - ".circleci/config.yml"
79
64
  - Gemfile
65
+ - Gemfile.lock
66
+ - README.md
80
67
  - Rakefile
81
68
  - bin/pumog
82
69
  - lib/pumog.rb
@@ -84,15 +71,14 @@ files:
84
71
  - lib/pumog/messages.rb
85
72
  - lib/pumog/module_information.rb
86
73
  - lib/pumog/version.rb
74
+ - lib/templates/init.txt.tt
75
+ - lib/templates/package.txt.tt
87
76
  - pumog.gemspec
88
77
  - spec/pumog/commandline_spec.rb
89
78
  - spec/pumog/messages_spec.rb
90
79
  - spec/pumog/module_information_spec.rb
91
80
  - spec/spec_helper.rb
92
- - templates/init.txt.tt
93
- - templates/package.txt.tt
94
- - README.md
95
- homepage: https://github.com/matthias-guenther/pumog
81
+ homepage: https://github.com/wikimatze/pumog
96
82
  licenses:
97
83
  - MIT
98
84
  metadata: {}
@@ -102,19 +88,17 @@ require_paths:
102
88
  - lib
103
89
  required_ruby_version: !ruby/object:Gem::Requirement
104
90
  requirements:
105
- - - '>='
91
+ - - ">="
106
92
  - !ruby/object:Gem::Version
107
93
  version: '0'
108
94
  required_rubygems_version: !ruby/object:Gem::Requirement
109
95
  requirements:
110
- - - '>='
96
+ - - ">="
111
97
  - !ruby/object:Gem::Version
112
98
  version: '0'
113
99
  requirements: []
114
- rubyforge_project:
115
- rubygems_version: 2.0.3
100
+ rubygems_version: 3.1.2
116
101
  signing_key:
117
102
  specification_version: 4
118
- summary: Create new puppet modules with this templates
103
+ summary: Create new puppet module with this template.
119
104
  test_files: []
120
- has_rdoc:
data/.travis.yml DELETED
@@ -1,5 +0,0 @@
1
- language: ruby
2
- rvm:
3
- - 1.9.3
4
- - 2.1.0
5
-
@@ -1,8 +0,0 @@
1
- <% if @nodoc -%># === Author
2
- #
3
- # * <%= @author%> <<%= @email %>>
4
- #
5
- #
6
- <% end %>class <%= @module_name %>::init {
7
- include <%= @module_name %>::package
8
- }