gbud 0.2.1 → 0.2.2

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
  SHA256:
3
- metadata.gz: d4e4035035a063b98948f5c77a9839c74930afd1e1ae193e773107954b2593a9
4
- data.tar.gz: 07c1d02f2ea43265c26a222305273684d0c4abb7f70cfcb28816795dba4c8b0f
3
+ metadata.gz: 4fbe8230a90317ee15eeab98f2a88d7b88b54c766b61a946f9aab584e7f91af5
4
+ data.tar.gz: bbb628fd9b087b628d5d9d84271c35c32db1a7bb65035fba4b71be0bffc284a4
5
5
  SHA512:
6
- metadata.gz: 4502a31575fe74170a60ed729dc13218675284b51c3f5e250d7468a88e9ca6028ae5a2545c2948789f4872d7d49f9f57e33804f861a4043683f05d26e6f55c03
7
- data.tar.gz: caa6149b4051480e50f0327529760ddec4ae870fa7f4e44687075062a7cad7e12e2811fe3190bb5f359d94a796277cbf5a24fede01f47f6a06affff056ebc620
6
+ metadata.gz: b19dc18be1c04bab21c5aefbff5a57d49a3e29d401dd21886d76d1a51f90f91fb070f10c5ec4fc71cb9cc519046ee7518bad29c173317f28186c9a37b9dd9b6f
7
+ data.tar.gz: 5256c4b34eaf099f579b0612109a92e1ccf926a8d6e8fdf828cf02c0422de58231e77e8d3e3266fc6fd226e51b17cfe10db44fc66ff647028b8d41a1faf025c7
@@ -52,7 +52,7 @@ optparse = OptionParser.new do |opts|
52
52
  options[:cli] = true
53
53
  end
54
54
 
55
- opts.on('--no-cli', 'Creates an executable without option parsing') do
55
+ opts.on('--no-cli', 'Creates a project without an executable') do
56
56
  options[:cli] = false
57
57
  end
58
58
 
@@ -64,6 +64,10 @@ optparse = OptionParser.new do |opts|
64
64
  puts GBud::Messages.warranty
65
65
  end
66
66
 
67
+ opts.on('-v', '--version', 'Displays the program version') do
68
+ puts GBud::Messages.version
69
+ end
70
+
67
71
  opts.on_tail('-h', '--help', 'Displays the help screen') do
68
72
  puts opts
69
73
  exit
@@ -27,6 +27,8 @@ module GBud
27
27
  # Module containing methods used to prompt the user for program
28
28
  # input.
29
29
  module Messages
30
+ VERSION = '0.2.2'
31
+
30
32
  ##
31
33
  # Returns the license message.
32
34
  def self.license
@@ -44,5 +46,11 @@ module GBud
44
46
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
45
47
  GNU General Public License for more details."
46
48
  end
49
+
50
+ ##
51
+ # Returns the version number.
52
+ def self.version
53
+ "gbud v#{VERSION}"
54
+ end
47
55
  end
48
56
  end
@@ -47,26 +47,28 @@ module GBud
47
47
  @cli = cli
48
48
  @templates = {
49
49
  'readme.md': 'README.md',
50
- 'gemspec.rb': "#{metadata[:name]}.gemspec",
50
+ 'gemspec.rb': "#{snake_case(metadata[:name])}.gemspec",
51
51
  'gemfile.rb': 'Gemfile',
52
52
  'rakefile.rb': 'Rakefile',
53
53
  'base.rb': 'base.rb',
54
54
  'hello.rb': 'hello.rb',
55
55
  'test_hello.rb': 'test_hello.rb',
56
- 'namespace.rb': "#{metadata[:name].to_s.tr('-', '_')}.rb"
56
+ 'namespace.rb': "#{snake_case(metadata[:name])}.rb",
57
+ 'version.rb': 'version.rb'
57
58
  }
58
59
  @assets = {
59
60
  license: 'LICENSE'
60
61
  }
61
62
  @paths = {
62
- project_dir: "#{metadata[:name]}/",
63
- project_lib_dir: "#{metadata[:name]}/lib/",
64
- project_lib_project_dir: "#{metadata[:name]}/lib/#{metadata[:name]}/",
65
- project_test_dir: "#{metadata[:name]}/test/"
63
+ project_dir: "#{snake_case(metadata[:name])}/",
64
+ project_lib_dir: "#{snake_case(metadata[:name])}/lib/",
65
+ project_lib_project_dir: "#{snake_case(metadata[:name])}/lib/#{snake_case(metadata[:name])}/",
66
+ project_test_dir: "#{snake_case(metadata[:name])}/test/"
66
67
  }
67
- exit unless cli == true
68
- @templates[:'executable.rb'] = metadata[:name].to_s
69
- @paths[:project_bin_dir] = "#{metadata[:name]}/bin/"
68
+ if cli == true
69
+ @templates[:'executable.rb'] = snake_case(metadata[:name])
70
+ @paths[:project_bin_dir] = "#{snake_case(metadata[:name])}/bin/"
71
+ end
70
72
  end
71
73
 
72
74
  ##
@@ -121,6 +123,8 @@ module GBud
121
123
  @paths[:project_test_dir]
122
124
  when :'namespace.rb'
123
125
  @paths[:project_lib_dir]
126
+ when :'version.rb'
127
+ @paths[:project_lib_project_dir]
124
128
  end
125
129
  end
126
130
 
@@ -9,7 +9,7 @@
9
9
  # License:: GNU Public License 3
10
10
  #
11
11
  # Main application file that loads other files.
12
- require '<%= @metadata[:name] %>/hello'
12
+ require '<%= snake_case(@metadata[:name]) %>/hello'
13
13
 
14
14
  <%= render 'cli.rb' if @cli == true %>
15
15
  # NOTE: You should replace the greet functionality with some of your own code.
@@ -1,3 +1,4 @@
1
+ require '<%= snake_case(@metadata[:name]) %>/version'
1
2
  require 'optparse'
2
3
  require 'English'
3
4
 
@@ -9,7 +10,7 @@ end
9
10
  options = {}
10
11
 
11
12
  optparse = OptionParser.new do |opts|
12
- opts.banner = 'Usage: <%= @metadata[:name] %> [options]'
13
+ opts.banner = 'Usage: <%= snake_case(@metadata[:name]) %> [options]'
13
14
 
14
15
  opts.on('-g', '--greet NAME', 'Provides a greeting given a name.') do |name|
15
16
  options[:greet] = name
@@ -31,6 +32,10 @@ GNU General Public License for more details.
31
32
  "
32
33
  end
33
34
 
35
+ opts.on('-v', '--version', 'Displays the program version') do
36
+ puts "<%= snake_case(metadata[:name]) %> v<%= '#{' + camel_case(metadata[:name]) + '::VERSION' + '}' %>"
37
+ end
38
+
34
39
  opts.on_tail('-h', '--help', 'Displays the help screen') do
35
40
  puts opts
36
41
  exit
@@ -4,7 +4,7 @@
4
4
  <%= render 'copyright_snippet.rb' %>
5
5
 
6
6
  ##
7
- # = /bin/<%= @metadata[:name] %>
7
+ # = /bin/<%= snake_case(@metadata[:name]) %>
8
8
  # Author:: <%= listify(@metadata[:authors]) %>
9
9
  # Copyright:: Copyright <%= Date.today.year %> <%= listify(@metadata[:authors]) %>
10
10
  # License:: GNU Public License 3
@@ -4,10 +4,11 @@
4
4
 
5
5
  lib = File.expand_path('../lib', __dir__)
6
6
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
7
+ require File.expand_path('../lib/<%= snake_case(@metadata[:name]) %>/version', __FILE__)
7
8
 
8
9
  Gem::Specification.new do |s|
9
- s.name = '<%= @metadata[:name] %>'
10
- s.version = '<%= @metadata[:version] %>'
10
+ s.name = '<%= snake_case(@metadata[:name]) %>'
11
+ s.version = <%= camel_case(@metadata[:name]) %>::VERSION
11
12
  s.platform = Gem::Platform::RUBY
12
13
  s.authors = <%= @metadata[:authors].to_s.tr('"', "'") %>
13
14
  s.email = '<%= @metadata[:email] %>'
@@ -19,7 +20,7 @@ Gem::Specification.new do |s|
19
20
  s.license = '<%= @metadata[:license] %>'
20
21
  s.files = Dir['lib/**/*']
21
22
  <% if @cli == true %>
22
- s.executables = ['<%= @metadata[:name] %>']
23
+ s.executables = ['<%= snake_case(@metadata[:name]) %>']
23
24
  <% end %>
24
25
  s.test_files = Dir['test/**/*']
25
26
  s.require_path = ['lib']
@@ -2,7 +2,7 @@
2
2
 
3
3
  <%= render 'copyright_snippet.rb' %>
4
4
 
5
- require '<%= metadata[:name] %>/base'
5
+ require '<%= snake_case(metadata[:name]) %>/base'
6
6
 
7
7
  ##
8
8
  # = <%= camel_case(@metadata[:name]) %>
@@ -3,7 +3,7 @@
3
3
  <%= render 'copyright_snippet.rb' %>
4
4
 
5
5
  require 'minitest/autorun'
6
- require_relative '../lib/<%= @metadata[:name] %>/hello'
6
+ require_relative '../lib/<%= snake_case(@metadata[:name]) %>/hello'
7
7
 
8
8
  ##
9
9
  # = HelloTest
@@ -0,0 +1,15 @@
1
+ # frozen_string_literal: true
2
+
3
+ <%= render 'copyright_snippet.rb' %>
4
+
5
+ ##
6
+ # = version.rb
7
+ # Author:: <%= listify(@metadata[:authors]) %>
8
+ # Copyright:: Copyright <%= Date.today.year %> <%= listify(@metadata[:authors]) %>
9
+ # License:: GNU Public License 3
10
+ #
11
+ # Module for namespacing application classes.
12
+ module <%= camel_case(@metadata[:name]) %>
13
+ # Program version number
14
+ VERSION = '<%= @metadata[:version] %>'
15
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gbud
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Richard Davis
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-11-03 00:00:00.000000000 Z
11
+ date: 2018-12-24 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: |
14
14
  This project aims to make starting a new gem project simple by automating
@@ -38,9 +38,10 @@ files:
38
38
  - lib/templates/rakefile.rb.erb
39
39
  - lib/templates/readme.md.erb
40
40
  - lib/templates/test_hello.rb.erb
41
+ - lib/templates/version.rb.erb
41
42
  - test/test_project_builder.rb
42
43
  - test/test_project_metadata.rb
43
- homepage: http://www.github.com/d3d1rty/gbud
44
+ homepage: http://www.gitlab.com/d3d1rty/gbud
44
45
  licenses:
45
46
  - GPL-3.0
46
47
  metadata: {}