gbud 0.2.1 → 0.2.2

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
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: {}