spiker 0.1.3 → 0.1.4
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 +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +10 -15
- data/lib/spiker/cli.rb +2 -2
- data/lib/spiker/generators/multi.rb +9 -0
- data/lib/spiker/generators/simple.rb +4 -0
- data/lib/spiker/generators/templates/basic.env +1 -0
- data/lib/spiker/generators/templates/multi_app.rb.erb +2 -0
- data/lib/spiker/generators/templates/multi_gemfile.rb +1 -0
- data/lib/spiker/generators/templates/multi_readme.md.erb +44 -0
- data/lib/spiker/generators/templates/multi_test_helper.rb +8 -0
- data/lib/spiker/generators/templates/simple_app.rb.erb +7 -2
- data/lib/spiker/generators/templates/simple_gemfile.rb +2 -0
- data/lib/spiker/version.rb +1 -1
- metadata +4 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6183b45c44cffdac7e55a8cc487634185d550b98b88802d331e66b4d19e5159
|
4
|
+
data.tar.gz: c96d176df0f11614308af344020b8a3b546e291fcb0dc94b7c97724867a9a6e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 61065d34c4b29b1f541ec91274d326536f3952f2e94ed4efad1863bcf81b2eb2b335d140eb9eb2b38ed866ead8bcb213e7b6eff536dc7e71dfe8f9e41507c8a0
|
7
|
+
data.tar.gz: fc2d21d8670e09eb8acd314ae5e75c6caf57f6b880e02cc4becebfab2c6d439bb937da3abf464cc22b8a6d34fcad2fdd380a115ebe14706d9d890f168ab89d0e
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,22 +1,12 @@
|
|
1
1
|
# Spiker
|
2
2
|
|
3
|
-
Spiker helps you validate your ideas under test. It can also be a basic educational tool, giving the learner a minimal framework to start writing and testing
|
3
|
+
Spiker helps you validate your ideas under test. It can also be a basic educational tool, giving the learner a minimal framework to start writing and testing their Ruby code.
|
4
4
|
|
5
5
|
## Installation
|
6
6
|
|
7
7
|
[](https://badge.fury.io/rb/spiker)
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
```ruby
|
12
|
-
gem 'spiker'
|
13
|
-
```
|
14
|
-
|
15
|
-
And then execute:
|
16
|
-
|
17
|
-
$ bundle install
|
18
|
-
|
19
|
-
Or install it yourself as:
|
9
|
+
Install it directly:
|
20
10
|
|
21
11
|
$ gem install spiker
|
22
12
|
|
@@ -31,9 +21,10 @@ Then, create a new spike:
|
|
31
21
|
$ spiker simple my_spike
|
32
22
|
$ cd my_spike
|
33
23
|
|
34
|
-
Using the "simple" formula, Spiker will create an `app.rb` file, a `Gemfile`,
|
24
|
+
Using the "simple" formula, Spiker will create an `app.rb` file, a `Gemfile`, a `Guardfile` and an `.env` file for configuration, to be read by the `dotenv` gem. The `app.rb` file will contain boilerplate for both Minitest and a Ruby class in the same file:
|
35
25
|
|
36
26
|
```ruby
|
27
|
+
require 'dotenv'
|
37
28
|
require 'minitest'
|
38
29
|
require 'minitest/autorun'
|
39
30
|
require 'minitest/reporters'
|
@@ -41,8 +32,12 @@ require 'minitest/reporters'
|
|
41
32
|
Minitest::Reporters.use!
|
42
33
|
|
43
34
|
class MySpikeTest < Minitest::Test
|
44
|
-
def
|
45
|
-
|
35
|
+
def test_name
|
36
|
+
assert_equal "Fred", MySpike.new(name: "Fred").name
|
37
|
+
end
|
38
|
+
|
39
|
+
def test_default_env_value
|
40
|
+
assert_equal "test", ENV["TEST_VALUE"]
|
46
41
|
end
|
47
42
|
end
|
48
43
|
|
data/lib/spiker/cli.rb
CHANGED
@@ -6,8 +6,8 @@ require_relative "generators/simple"
|
|
6
6
|
require_relative "generators/multi"
|
7
7
|
|
8
8
|
module Spiker
|
9
|
-
# Accept options "single" and "
|
10
|
-
# for single
|
9
|
+
# Accept options "single" and "multi"
|
10
|
+
# for single-file spikes or multi-file spikes
|
11
11
|
# and a name for the spike directory. That is all
|
12
12
|
class CLI < Thor
|
13
13
|
desc "version", "Show version"
|
@@ -49,6 +49,15 @@ module Spiker
|
|
49
49
|
template("multi_rakefile.rb", "#{name}/Rakefile")
|
50
50
|
end
|
51
51
|
|
52
|
+
def create_readme_file
|
53
|
+
opts = { name_as_class: Spiker.classify(name), name: name }
|
54
|
+
template("multi_readme.md.erb", "#{name}/README.md", opts)
|
55
|
+
end
|
56
|
+
|
57
|
+
def create_env_file
|
58
|
+
template("basic.env", "#{name}/.env")
|
59
|
+
end
|
60
|
+
|
52
61
|
def run_bundler
|
53
62
|
inside(name) do
|
54
63
|
run("bundle install")
|
@@ -0,0 +1 @@
|
|
1
|
+
TEST_VALUE="test"
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# <%= config[:name_as_class] %> Spike
|
2
|
+
|
3
|
+
This is the auto-generated README for the <%= config[:name_as_class] %> spike. This content was generated by the [Spiker](https://github.com/norlinga/spiker) gem.
|
4
|
+
|
5
|
+
## Getting Started
|
6
|
+
|
7
|
+
This directory is the result of **someone** running the following command on a command line:
|
8
|
+
|
9
|
+
$ gem install spiker
|
10
|
+
$ spiker multi <%= config[:name] %>
|
11
|
+
$ cd <%= config[:name] %>
|
12
|
+
|
13
|
+
Once inside the spike directory, open your favorite text editor and then execute the following command:
|
14
|
+
|
15
|
+
$ bundle install
|
16
|
+
$ guard
|
17
|
+
|
18
|
+
Bundler will have executed once when the spike directory was first created, but it's no problem to run it again (in case the spike directory was shared between machines / environments).
|
19
|
+
|
20
|
+
After starting Guard you should have been greeted with passing tests. You are now ready to start hashing out your spike under test.
|
21
|
+
|
22
|
+
## Adding to This README
|
23
|
+
|
24
|
+
This README could be a great place to capture findings from your spike. Topics to address in this README might include:
|
25
|
+
|
26
|
+
- what was the initial motivation for this spike?
|
27
|
+
- what is the current state of this spike?
|
28
|
+
- is there a future intention or unrealized goal for this spike?
|
29
|
+
- what was discovered in the course of this spike?
|
30
|
+
- who is involved in this spike?
|
31
|
+
|
32
|
+
## Feel Free to Include Code
|
33
|
+
|
34
|
+
Embedding code in a Markdown file is easy - this README uses the triple backtick syntax. The following code will be rendered as a Ruby code block:
|
35
|
+
|
36
|
+
```ruby
|
37
|
+
require 'dotenv'
|
38
|
+
|
39
|
+
puts ENV["TEST_VALUE"]
|
40
|
+
|
41
|
+
"maybe show some code in your README?".capitalize
|
42
|
+
```
|
43
|
+
|
44
|
+
Spikes are intended to be short lived, but that's no reason to skip proper practices in your spike development. Have fun!
|
@@ -6,5 +6,13 @@ require "<%= config[:name_in_snake_case] %>"
|
|
6
6
|
|
7
7
|
require "minitest/autorun"
|
8
8
|
require "minitest/reporters"
|
9
|
+
require "dotenv/load"
|
9
10
|
|
10
11
|
Minitest::Reporters.use!
|
12
|
+
|
13
|
+
# ensure the environment is available
|
14
|
+
class DefaultEnvironmentTest < MiniTest::Unit::TestCase
|
15
|
+
def test_default_environment
|
16
|
+
assert_equal "test", ENV["TEST_VALUE"]
|
17
|
+
end
|
18
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'dotenv/load'
|
1
2
|
require 'minitest'
|
2
3
|
require 'minitest/autorun'
|
3
4
|
require 'minitest/reporters'
|
@@ -5,8 +6,12 @@ require 'minitest/reporters'
|
|
5
6
|
Minitest::Reporters.use!
|
6
7
|
|
7
8
|
class <%= config[:name_as_class] %>Test < Minitest::Test
|
8
|
-
def
|
9
|
-
|
9
|
+
def test_name
|
10
|
+
assert_equal "Fred", <%= config[:name_as_class] %>.new(name: 'Fred').name
|
11
|
+
end
|
12
|
+
|
13
|
+
def test_default_env_value
|
14
|
+
assert_equal "test", ENV["TEST_VALUE"]
|
10
15
|
end
|
11
16
|
end
|
12
17
|
|
data/lib/spiker/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spiker
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Aaron Norling
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2022-01-
|
11
|
+
date: 2022-01-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: thor
|
@@ -49,11 +49,13 @@ files:
|
|
49
49
|
- lib/spiker/cli.rb
|
50
50
|
- lib/spiker/generators/multi.rb
|
51
51
|
- lib/spiker/generators/simple.rb
|
52
|
+
- lib/spiker/generators/templates/basic.env
|
52
53
|
- lib/spiker/generators/templates/multi_app.rb.erb
|
53
54
|
- lib/spiker/generators/templates/multi_app_test.rb.erb
|
54
55
|
- lib/spiker/generators/templates/multi_gemfile.rb
|
55
56
|
- lib/spiker/generators/templates/multi_guardfile.rb
|
56
57
|
- lib/spiker/generators/templates/multi_rakefile.rb
|
58
|
+
- lib/spiker/generators/templates/multi_readme.md.erb
|
57
59
|
- lib/spiker/generators/templates/multi_test_helper.rb
|
58
60
|
- lib/spiker/generators/templates/simple_app.rb.erb
|
59
61
|
- lib/spiker/generators/templates/simple_gemfile.rb
|