rubynew 0.0.1 → 1.0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 2135a6716798afa07f1663f2c36b19f5ac921a1d
4
- data.tar.gz: b19c0d85d2d990cd3a6eb7728069a15a505bff8d
3
+ metadata.gz: 69431f4a2d406cc85339e4406e7df9869c542424
4
+ data.tar.gz: e84baa2941b14073dde56ce538fdc03a8079146f
5
5
  SHA512:
6
- metadata.gz: 0ebf5875e84c1547daa03409d0f59c33f26935e959e38f485473d0ea8794dd1c5ab2a9cd54f254ef5209b9a415905704d1e29bd420fa0d1da48e15b795ea6218
7
- data.tar.gz: fa3ee1807603a5a64d5ffe511bfbfe44f8031bd9d11b8d488f224966885edbf436c908cfaec8556ad30b66bd3944faa724fad015c382de3598d4180c6652db1a
6
+ metadata.gz: 05d092b8df397bbd70559af098cada1ee857e44ed5333bd255e290c40bd93c293b2dd87dd0d8bd29136cddacb0411ad0cf3041b9fbf15ce03656adb419c9eb76
7
+ data.tar.gz: 2c8c8335966289162e6eb47ab27a00f6e7749f28d7ecb8e5c51a9ee3ba858b1e0aca47c1c30695a9d6020ca72320cc4a44fcbcc9278450bc314bddbb7659c9fa
data/README.md CHANGED
@@ -1,6 +1,7 @@
1
1
  # Rubynew
2
2
 
3
- TODO: Command-line utility for creating new projects in Ruby. Creates a `lib` folder and a `test` folder, and a Rakefile set up to run tests with Minitest.
3
+ A simple command-line utility for creating new projects in Ruby. Creates a `bin` folder and stub, a `lib` folder with a module
4
+ and a `version.rb` file, and a `test` folder with a default test. It also creates a Rakefile set up to run tests with Minitest.
4
5
 
5
6
  ## Installation
6
7
 
@@ -20,9 +21,26 @@ Bundler works when creating a gem.
20
21
  $ rubynew tip_calculator
21
22
  ```
22
23
 
24
+ It creates the following structure:
25
+
26
+ ```
27
+ tip_calculator/
28
+ ├── Rakefile
29
+ ├── bin
30
+ │   └── tip_calculator
31
+ ├── lib
32
+ │   ├── tip_calculator
33
+ │   │   └── version.rb
34
+ │   └── tip_calculator.rb
35
+ └── test
36
+ └── tip_calculator_test.rb
37
+ ```
38
+
39
+ If you don't need the `bin` folder, simply delete it.
40
+
23
41
  ## Contributing
24
42
 
25
- Please contribute. I'm interested in discussing features, such as providing optiosn for alternative frameworks for testing. However, the default will always be what Ruby's default is. I want this to be simple for beginners, so the defaults will do whatever Ruby does by default. Right now that's Rake and Minitest.
43
+ Please contribute. I'm interested in discussing features, such as providing options for alternative frameworks for testing. However, the default will always be what Ruby's default is. I want this to be simple for beginners, so the defaults will do whatever Ruby does by default. Right now that's Rake and Minitest.
26
44
 
27
45
  To contribute:
28
46
 
@@ -38,6 +56,11 @@ MIT. See LICENSE.txt.
38
56
 
39
57
  ## History
40
58
 
59
+ 2016-03-05
60
+
61
+ * Added `bin` folder and default bin file.
62
+ * 1.0.0 version
63
+
41
64
  2015-08-23
42
65
 
43
66
  * Initial version
data/bin/rubynew CHANGED
@@ -11,4 +11,5 @@ else
11
11
  project.create
12
12
  puts "\nCreated folder #{folder}."
13
13
  puts "To use it, type: \n\tcd #{folder}\n\nand run tests with\n\n\trake test"
14
+ puts "Run the program with \n\truby bin/#{folder}."
14
15
  end
@@ -21,9 +21,11 @@ module Rubynew
21
21
  FileUtils.mv File.join(@name, "lib", "app"), File.join(@name, "lib", @underscored_name)
22
22
  FileUtils.mv File.join(@name, "lib", "app.rb"), File.join(@name, "lib", "#{@underscored_name}.rb")
23
23
  FileUtils.mv File.join(@name, "test", "app_test.rb"), File.join(@name, "test", "#{@underscored_name}_test.rb")
24
+ FileUtils.mv File.join(@name, "bin", "app"), File.join(@name, "bin", @underscored_name)
24
25
 
25
26
  # apply templates
26
27
  [
28
+ File.join(@name, "bin", @underscored_name),
27
29
  File.join(@name, "lib", "#{@underscored_name}.rb"),
28
30
  File.join(@name, "lib", @underscored_name, "version.rb"),
29
31
  File.join(@name, "test", "#{@underscored_name}_test.rb")
@@ -1,3 +1,3 @@
1
1
  module Rubynew
2
- VERSION = "0.0.1"
2
+ VERSION = "1.0.0"
3
3
  end
data/rubynew.gemspec CHANGED
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Brian Hogan"]
10
10
  spec.email = ["brianhogan@napcs.com"]
11
11
  spec.summary = %q{Generate new Ruby projects with tests.}
12
- spec.description = %q{Ruby project generator. Creates lib/ and test/ folders with a module and a Rakefile so you can quickly develop an app with tests.}
12
+ spec.description = %q{Ruby project generator. Creates bin/, lib/ and test/ folders with a module and a Rakefile so you can quickly develop an app with tests.}
13
13
  spec.homepage = "http://github.com/napcs/rubynew"
14
14
  spec.license = "MIT"
15
15
 
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  "lib/rubynew/version.rb",
20
20
  "lib/rubynew/project.rb",
21
21
  "template/Rakefile",
22
+ "template/bin/app",
22
23
  "template/lib/app/version.rb",
23
24
  "template/lib/app.rb",
24
25
  "template/test/app_test.rb",
data/template/bin/app ADDED
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH << File.expand_path(File.dirname(__FILE__) + '/../lib')
4
+ require '<%= @underscored_name %>'
5
+
6
+ puts "This is the <%= @underscored_name %> app."
@@ -1,3 +1,3 @@
1
1
  module <%= @constant_name %>
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
data/test/rubynew_test.rb CHANGED
@@ -1,6 +1,7 @@
1
1
  require 'minitest/autorun'
2
2
  require 'rubynew/project'
3
3
 
4
+ require 'pathname'
4
5
  # Not really a unit test - more of an integration test.
5
6
  class RubynewTest < MiniTest::Test
6
7
 
@@ -21,6 +22,7 @@ class RubynewTest < MiniTest::Test
21
22
  assert File.exist?(File.join(@folder, "lib", "#{@folder}.rb"))
22
23
  assert File.exist?(File.join(@folder, "lib", @folder, "version.rb"))
23
24
  assert File.exist?(File.join(@folder, "test", "#{@folder}_test.rb"))
25
+ assert File.exist?(File.join(@folder, "bin", "#{@folder}"))
24
26
 
25
27
  end
26
28
 
@@ -72,4 +74,13 @@ class RubynewTest < MiniTest::Test
72
74
  file = Pathname.new(File.join(@folder, "test", "#{@folder}_test.rb"))
73
75
  assert file.read.include?("class TmpprojectTest < Minitest::Test")
74
76
  end
77
+
78
+ def test_has_bin
79
+
80
+ Rubynew::Project.new(@folder).create
81
+
82
+ file = Pathname.new(File.join(@folder, "bin", @folder))
83
+ assert file.read.include?("$LOAD_PATH")
84
+ assert file.read.include?("require 'tmpproject'")
85
+ end
75
86
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubynew
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 1.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Brian Hogan
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-08-23 00:00:00.000000000 Z
11
+ date: 2016-03-05 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -52,7 +52,7 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
- description: Ruby project generator. Creates lib/ and test/ folders with a module
55
+ description: Ruby project generator. Creates bin/, lib/ and test/ folders with a module
56
56
  and a Rakefile so you can quickly develop an app with tests.
57
57
  email:
58
58
  - brianhogan@napcs.com
@@ -71,6 +71,7 @@ files:
71
71
  - lib/rubynew/version.rb
72
72
  - rubynew.gemspec
73
73
  - template/Rakefile
74
+ - template/bin/app
74
75
  - template/lib/app.rb
75
76
  - template/lib/app/version.rb
76
77
  - template/test/app_test.rb
@@ -95,9 +96,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
95
96
  version: '0'
96
97
  requirements: []
97
98
  rubyforge_project:
98
- rubygems_version: 2.2.2
99
+ rubygems_version: 2.4.6
99
100
  signing_key:
100
101
  specification_version: 4
101
102
  summary: Generate new Ruby projects with tests.
102
103
  test_files:
103
104
  - test/rubynew_test.rb
105
+ has_rdoc: