geminio 0.1.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 +7 -0
- data/.gitignore +22 -0
- data/.rspec +1 -0
- data/.ruby-version +1 -0
- data/Gemfile +4 -0
- data/LICENSE.txt +22 -0
- data/README.md +40 -0
- data/Rakefile +12 -0
- data/bin/geminio +53 -0
- data/features/base.feature +30 -0
- data/features/custom_templates.feature +65 -0
- data/features/error_handling.feature +1 -0
- data/features/help.feature +35 -0
- data/features/step_definitions/geminio_steps.rb +8 -0
- data/features/support/env.rb +32 -0
- data/geminio.gemspec +27 -0
- data/lib/geminio.rb +27 -0
- data/lib/geminio/error_message.rb +9 -0
- data/lib/geminio/runner.rb +49 -0
- data/lib/geminio/shell.rb +71 -0
- data/lib/geminio/utils/string_extensions.rb +11 -0
- data/lib/geminio/version.rb +3 -0
- data/templates/default/%name%.gemspec.erb +28 -0
- data/templates/default/.gitignore +22 -0
- data/templates/default/Gemfile +4 -0
- data/templates/default/LICENSE.txt.erb +22 -0
- data/templates/default/README.md.erb +23 -0
- data/templates/default/Rakefile.erb +10 -0
- data/templates/default/lib/%name%.rb.erb +5 -0
- data/templates/default/lib/%name%/version.rb.erb +3 -0
- metadata +214 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 69901a7a7c897a84ca825f6c98bb679b2b1c5b2c
|
4
|
+
data.tar.gz: 2193e3a6012a5ce181eab7710e9e77bdc22cafd3
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 6a2eaeb53a61299900d4fc58eda048f02ff693613303924148e05973190fa86ee5fd8268507ae11ec3c7a44835880835011716391dc3463e7a4f1f1df1216549
|
7
|
+
data.tar.gz: 574b135aea57bf2085d287b2997fa003e54561cbb30da44309e1b2225073b01077acaaf431a4684b9535553a5bbb48229510e8caeb6fdb20827c92ea49b3d801
|
data/.gitignore
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
data/.rspec
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
--color --format d
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
2.1.3
|
data/Gemfile
ADDED
data/LICENSE.txt
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 Hrvoje Šimić
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,40 @@
|
|
1
|
+
# geminio
|
2
|
+
|
3
|
+
[](https://travis-ci.org/shime/geminio)
|
4
|
+
|
5
|
+
Geminio is a micro gem that sets up the stage for building gems. So meta, amirite?
|
6
|
+
|
7
|
+
## installation
|
8
|
+
|
9
|
+
gem install geminio
|
10
|
+
|
11
|
+
## usage
|
12
|
+
|
13
|
+
geminio unicorns
|
14
|
+
|
15
|
+
This makes a folder structure for your new gem under `./unicorns`.
|
16
|
+
It uses the [default template](templates/default), but you can override that easily with
|
17
|
+
|
18
|
+
geminio --template path/to/your/awesome/template --default
|
19
|
+
|
20
|
+
For more info, see help
|
21
|
+
|
22
|
+
geminio --help
|
23
|
+
|
24
|
+
More goodies are available if you have either `git config github.user` or `$GITHUB_USER` defined.
|
25
|
+
|
26
|
+
## development
|
27
|
+
|
28
|
+
git clone git@github.com:shime/geminio.git
|
29
|
+
cd geminio
|
30
|
+
bundle install
|
31
|
+
rake
|
32
|
+
|
33
|
+
## alternatives
|
34
|
+
|
35
|
+
* [ore](https://github.com/ruby-ore/ore)
|
36
|
+
* [bundle gem](http://bundler.io/v1.7/bundle_gem.html)
|
37
|
+
|
38
|
+
## license
|
39
|
+
|
40
|
+
MIT
|
data/Rakefile
ADDED
data/bin/geminio
ADDED
@@ -0,0 +1,53 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
|
3
|
+
require 'geminio'
|
4
|
+
require 'optparse'
|
5
|
+
|
6
|
+
options = {}
|
7
|
+
|
8
|
+
parser = OptionParser.new do |opts|
|
9
|
+
opts.banner = 'usage: geminio [OPTIONS] GEM_NAME'
|
10
|
+
|
11
|
+
opts.separator ""
|
12
|
+
opts.separator "Micro utility that sets up the stage for building gems."
|
13
|
+
opts.separator ""
|
14
|
+
opts.separator "OPTIONS:"
|
15
|
+
|
16
|
+
opts.on('-t', '--template TEMPLATE', String, 'Path to the template that will be used.') do |t|
|
17
|
+
options[:template] = t
|
18
|
+
end
|
19
|
+
|
20
|
+
opts.on('--default', 'Makes the given template a default.') do |d|
|
21
|
+
options[:default] = true
|
22
|
+
end
|
23
|
+
|
24
|
+
opts.on_tail('-v', '--version', "Show version information.") do
|
25
|
+
puts Geminio::VERSION
|
26
|
+
exit
|
27
|
+
end
|
28
|
+
|
29
|
+
opts.on_tail('-h', '--help', "You're reading it.") do
|
30
|
+
puts opts
|
31
|
+
exit
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
options[:name] = parser.permute![0]
|
36
|
+
parser.parse!
|
37
|
+
|
38
|
+
if options.keys.size == 1 && options[:name] == nil
|
39
|
+
puts parser
|
40
|
+
exit 1
|
41
|
+
end
|
42
|
+
|
43
|
+
if !options[:template] && options[:default]
|
44
|
+
$stderr.puts Geminio::ERROR_MESSAGES[:missing_template]
|
45
|
+
exit 1
|
46
|
+
end
|
47
|
+
|
48
|
+
if !options[:name] && !options[:default]
|
49
|
+
$stderr.puts Geminio::ERROR_MESSAGES[:missing_name]
|
50
|
+
exit 1
|
51
|
+
end
|
52
|
+
|
53
|
+
Geminio.run options
|
@@ -0,0 +1,30 @@
|
|
1
|
+
Feature: Basic usage
|
2
|
+
|
3
|
+
Background:
|
4
|
+
Given I run `geminio foo-bar`
|
5
|
+
|
6
|
+
Scenario: 'geminio' command should be available
|
7
|
+
Then the exit status should be 0
|
8
|
+
|
9
|
+
Scenario: 'geminio foo-bar' should create foo_bar directory
|
10
|
+
Then a directory named "foo_bar" should exist
|
11
|
+
|
12
|
+
Scenario: supports erb templates
|
13
|
+
Then a file named "foo_bar/README.md" should exist
|
14
|
+
And the file "foo_bar/README.md" should contain "# foo-bar"
|
15
|
+
|
16
|
+
Scenario: supports variables in file names (interpolation)
|
17
|
+
Then a file named "foo_bar/foo_bar.gemspec" should exist
|
18
|
+
And a file named "foo_bar/lib/foo_bar.rb" should exist
|
19
|
+
|
20
|
+
Scenario: supports variables in directory names (interpolation)
|
21
|
+
Then a file named "foo_bar/lib/foo_bar/version.rb" should exist
|
22
|
+
|
23
|
+
Scenario: converts constants to camel case
|
24
|
+
Then the file "foo_bar/lib/foo_bar.rb" should contain "module FooBar"
|
25
|
+
|
26
|
+
Scenario: picks up git config variables
|
27
|
+
Then the file "foo_bar/foo_bar.gemspec" should contain:
|
28
|
+
"""
|
29
|
+
spec.authors = ["Little Birdie"]
|
30
|
+
"""
|
@@ -0,0 +1,65 @@
|
|
1
|
+
Feature: Custom templates
|
2
|
+
|
3
|
+
Not everyone shares my views about how the perfect
|
4
|
+
gem skeleton should look like. Provide your own
|
5
|
+
gem skeletons!
|
6
|
+
|
7
|
+
Background:
|
8
|
+
Given a file named "foo/README.md.erb" with:
|
9
|
+
"""
|
10
|
+
# custom template for <%= @name %>
|
11
|
+
"""
|
12
|
+
|
13
|
+
Scenario: `geminio --template foo bar` creates bar with foo template
|
14
|
+
When I run `geminio --template foo bar`
|
15
|
+
Then the exit status should be 0
|
16
|
+
Then the file "bar/README.md" should contain:
|
17
|
+
"""
|
18
|
+
# custom template for bar
|
19
|
+
"""
|
20
|
+
|
21
|
+
@geminiorc
|
22
|
+
Scenario: `geminio --template foo --default bar` should make foo the default template
|
23
|
+
When I run `geminio --template foo --default bar`
|
24
|
+
Then the exit status should be 0
|
25
|
+
Then the file "bar/README.md" should contain:
|
26
|
+
"""
|
27
|
+
# custom template for bar
|
28
|
+
"""
|
29
|
+
When I run `geminio baz`
|
30
|
+
Then the exit status should be 0
|
31
|
+
Then the file "baz/README.md" should contain:
|
32
|
+
"""
|
33
|
+
# custom template for baz
|
34
|
+
"""
|
35
|
+
|
36
|
+
Scenario: When --default is used without --template, it prints useful error
|
37
|
+
When I run `geminio --default tmp/aruba/foo`
|
38
|
+
Then the exit status should be 1
|
39
|
+
Then the output should contain:
|
40
|
+
"""
|
41
|
+
Error: You must provide --template that's going to be used as default.
|
42
|
+
|
43
|
+
Run "geminio help" for more info.
|
44
|
+
"""
|
45
|
+
|
46
|
+
Scenario: When --template is used without gem name, it prints useful errror
|
47
|
+
When I run `geminio --template tmp/aruba/foo`
|
48
|
+
Then the exit status should be 1
|
49
|
+
Then the output should contain:
|
50
|
+
"""
|
51
|
+
Error: You must provide gem name.
|
52
|
+
|
53
|
+
Run "geminio help" for more info.
|
54
|
+
"""
|
55
|
+
|
56
|
+
@geminiorc
|
57
|
+
Scenario: `geminio --template foo --default` works without gem name
|
58
|
+
When I run `geminio --template foo --default`
|
59
|
+
Then the exit status should be 0
|
60
|
+
When I run `geminio baz`
|
61
|
+
Then the exit status should be 0
|
62
|
+
Then the file "baz/README.md" should contain:
|
63
|
+
"""
|
64
|
+
# custom template for baz
|
65
|
+
"""
|
@@ -0,0 +1 @@
|
|
1
|
+
|
@@ -0,0 +1,35 @@
|
|
1
|
+
Feature: Printing help
|
2
|
+
|
3
|
+
Scenario: 'geminio' prints help
|
4
|
+
When I run `geminio`
|
5
|
+
Then the output should contain:
|
6
|
+
"""
|
7
|
+
usage: geminio [OPTIONS] GEM_NAME
|
8
|
+
|
9
|
+
Micro utility that sets up the stage for building gems.
|
10
|
+
|
11
|
+
OPTIONS:
|
12
|
+
-t, --template TEMPLATE Path to the template that will be used.
|
13
|
+
--default Makes the given template a default.
|
14
|
+
-v, --version Show version information.
|
15
|
+
-h, --help You're reading it.
|
16
|
+
"""
|
17
|
+
|
18
|
+
Scenario: 'geminio --help' prints help
|
19
|
+
When I run `geminio --help`
|
20
|
+
Then the output should contain:
|
21
|
+
"""
|
22
|
+
usage: geminio [OPTIONS] GEM_NAME
|
23
|
+
|
24
|
+
Micro utility that sets up the stage for building gems.
|
25
|
+
|
26
|
+
OPTIONS:
|
27
|
+
-t, --template TEMPLATE Path to the template that will be used.
|
28
|
+
--default Makes the given template a default.
|
29
|
+
-v, --version Show version information.
|
30
|
+
-h, --help You're reading it.
|
31
|
+
"""
|
32
|
+
|
33
|
+
Scenario: 'geminio -v' prints version
|
34
|
+
When I run `geminio -v`
|
35
|
+
Then the output should contain current geminio version
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'aruba/cucumber'
|
2
|
+
require 'pry'
|
3
|
+
require 'user-configurations'
|
4
|
+
|
5
|
+
require 'geminio'
|
6
|
+
|
7
|
+
@name = `git config user.name`.chomp
|
8
|
+
@email = `git config user.email`.chomp
|
9
|
+
@github = `git config github.user`.chomp
|
10
|
+
|
11
|
+
`git config user.name "Little Birdie"`
|
12
|
+
`git config user.email "little@bird.ie"`
|
13
|
+
`git config github.user birdie`
|
14
|
+
|
15
|
+
Before do
|
16
|
+
@config = UserConfigurations::Configuration.new('geminiorc')
|
17
|
+
if File.exists?(File.expand_path('~/.geminiorc'))
|
18
|
+
FileUtils.rm(File.expand_path('~/.geminiorc'))
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
After do
|
23
|
+
if @config["template"]
|
24
|
+
@config.store(template: @config["template"])
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
at_exit do
|
29
|
+
`git config user.name "#{@name}"`
|
30
|
+
`git config user.email "#{@email}"`
|
31
|
+
`git config github.user "#{@github}"`
|
32
|
+
end
|
data/geminio.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
require "./lib/geminio/version"
|
3
|
+
|
4
|
+
Gem::Specification.new do |spec|
|
5
|
+
spec.name = "geminio"
|
6
|
+
spec.version = Geminio::VERSION
|
7
|
+
spec.authors = ["Hrvoje Šimić"]
|
8
|
+
spec.email = ["shime.ferovac@gmail.com"]
|
9
|
+
spec.summary = %q{Micro utility that sets up the stage for building gems.}
|
10
|
+
spec.description = %q{Micro utility that sets up the stage for building gems.}
|
11
|
+
spec.homepage = "https://github.com/shime/geminio"
|
12
|
+
spec.license = "MIT"
|
13
|
+
|
14
|
+
spec.files = `git ls-files -z`.split("\x0")
|
15
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
16
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
17
|
+
spec.require_paths = ["lib"]
|
18
|
+
|
19
|
+
spec.add_runtime_dependency 'thor', '~> 0.19', '>= 0.19.1'
|
20
|
+
spec.add_runtime_dependency 'user-configurations', '~> 0.1', '>= 0.1.0'
|
21
|
+
|
22
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
23
|
+
spec.add_development_dependency 'rake', '~> 10.4', '>= 10.4.2'
|
24
|
+
spec.add_development_dependency "aruba", "~> 0.6", ">= 0.6.2"
|
25
|
+
spec.add_development_dependency "cucumber", "~> 1.3", ">= 1.3.18"
|
26
|
+
spec.add_development_dependency "pry", "~> 0.10", ">= 0.10.1"
|
27
|
+
end
|
data/lib/geminio.rb
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'thor'
|
2
|
+
require 'user-configurations'
|
3
|
+
|
4
|
+
require 'geminio/utils/string_extensions'
|
5
|
+
require 'geminio/error_message'
|
6
|
+
require 'geminio/runner'
|
7
|
+
require 'geminio/shell'
|
8
|
+
|
9
|
+
module Geminio
|
10
|
+
ERROR_MESSAGES = {
|
11
|
+
missing_template: ErrorMessage.new(%{
|
12
|
+
Error: You must provide --template that's going to be used as default.
|
13
|
+
|
14
|
+
Run "geminio help" for more info.
|
15
|
+
}),
|
16
|
+
|
17
|
+
missing_name: ErrorMessage.new(%{
|
18
|
+
Error: You must provide gem name.
|
19
|
+
|
20
|
+
Run "geminio help" for more info.
|
21
|
+
})
|
22
|
+
}
|
23
|
+
|
24
|
+
def self.run(*args)
|
25
|
+
Runner.new(*args).run
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
module Geminio
|
2
|
+
class Runner
|
3
|
+
DEFAULT_TEMPLATE_PATH = File.expand_path(File.join(File.dirname(__FILE__), "../../templates/default"))
|
4
|
+
|
5
|
+
def initialize(options = {})
|
6
|
+
@options = options
|
7
|
+
|
8
|
+
if options[:name]
|
9
|
+
@options[:name] = options[:name].dup.extend StringExtensions
|
10
|
+
end
|
11
|
+
|
12
|
+
@options[:author_name] = `git config user.name`.chomp
|
13
|
+
@options[:author_email] = `git config user.email`.chomp
|
14
|
+
@options[:author_github] = ENV["GITHUB_USER"] ||
|
15
|
+
`git config github.user`.chomp
|
16
|
+
|
17
|
+
if !@options[:template]
|
18
|
+
@options[:template] = File.expand_path(config['template'] ||
|
19
|
+
DEFAULT_TEMPLATE_PATH)
|
20
|
+
end
|
21
|
+
|
22
|
+
if @options[:default]
|
23
|
+
config.store(
|
24
|
+
template: File.expand_path(@options[:template])
|
25
|
+
)
|
26
|
+
end
|
27
|
+
|
28
|
+
@options[:github_enabled] = !@options[:author_github].empty?
|
29
|
+
end
|
30
|
+
|
31
|
+
def run
|
32
|
+
if @options[:name]
|
33
|
+
shell = Shell.new
|
34
|
+
shell.options = @options
|
35
|
+
shell.destination_root = @options[:name].underscore
|
36
|
+
shell.set_variables
|
37
|
+
shell.make_folder_structure
|
38
|
+
shell.initialize_git_repo
|
39
|
+
shell.add_github_remote if @options[:github_enabled]
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
private
|
44
|
+
|
45
|
+
def config
|
46
|
+
UserConfigurations::Configuration.new('geminiorc')
|
47
|
+
end
|
48
|
+
end
|
49
|
+
end
|
@@ -0,0 +1,71 @@
|
|
1
|
+
module Geminio
|
2
|
+
class Shell
|
3
|
+
# TODO: throw Thor into a volcano
|
4
|
+
#
|
5
|
+
include Thor::Base
|
6
|
+
include Thor::Actions
|
7
|
+
|
8
|
+
attr_accessor :options
|
9
|
+
|
10
|
+
no_commands { # TODO: throw Thor into a volcano
|
11
|
+
|
12
|
+
def make_folder_structure
|
13
|
+
self.class.source_root(template_path)
|
14
|
+
|
15
|
+
say "Generating #{self.destination_root}", :green
|
16
|
+
|
17
|
+
Dir.chdir(template_path) do
|
18
|
+
Dir["**/*"].each do |node|
|
19
|
+
next unless File.file? node
|
20
|
+
file = node
|
21
|
+
|
22
|
+
case File.extname(file)
|
23
|
+
when '.erb'
|
24
|
+
template file, destination(file.chomp('.erb')), @options
|
25
|
+
else
|
26
|
+
copy_file file, destination(file)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def initialize_git_repo
|
33
|
+
Dir.chdir(destination_root) { `git init`; `git add .` }
|
34
|
+
|
35
|
+
say "\nGit repo initialized successfully.", :green
|
36
|
+
end
|
37
|
+
|
38
|
+
def add_github_remote
|
39
|
+
Dir.chdir(destination_root) do
|
40
|
+
`git remote add origin git@github.com:#{@github_repo}.git`
|
41
|
+
end
|
42
|
+
|
43
|
+
say "Github remote added (#{@github_repo}).", :green
|
44
|
+
end
|
45
|
+
|
46
|
+
def set_variables
|
47
|
+
@options.each {|k, v| instance_variable_set("@#{k}", v)}
|
48
|
+
|
49
|
+
@github_repo = "#{@author_github}/#{@name}"
|
50
|
+
end
|
51
|
+
|
52
|
+
private
|
53
|
+
|
54
|
+
def interpolate(path)
|
55
|
+
path.gsub(/%[a-z]+%/) do |capture|
|
56
|
+
keyword = capture[1..-2]
|
57
|
+
keyword.extend StringExtensions
|
58
|
+
@options[keyword.to_sym].underscore
|
59
|
+
end
|
60
|
+
end
|
61
|
+
|
62
|
+
def destination(path)
|
63
|
+
File.join(destination_root, interpolate(path))
|
64
|
+
end
|
65
|
+
|
66
|
+
def template_path
|
67
|
+
File.expand_path(@options[:template])
|
68
|
+
end
|
69
|
+
}
|
70
|
+
end
|
71
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require '<%= @name.underscore %>/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = "<%= @name %>"
|
8
|
+
spec.version = <%= @name.camel_case %>::VERSION
|
9
|
+
spec.authors = ["<%= @author_name %>"]
|
10
|
+
spec.email = ["<%= @author_email %>"]
|
11
|
+
spec.summary = %q{TODO: Write a short summary. Required.}
|
12
|
+
spec.description = %q{TODO: Write a longer description. Optional.}
|
13
|
+
<% if @github_enabled %>
|
14
|
+
spec.homepage = "http://github.com/<%= @github_repo %>"
|
15
|
+
<% else %>
|
16
|
+
spec.homepage = ""
|
17
|
+
<% end %>
|
18
|
+
spec.license = "MIT"
|
19
|
+
|
20
|
+
spec.files = `git ls-files -z`.split("\x0")
|
21
|
+
spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
22
|
+
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
23
|
+
spec.require_paths = ["lib"]
|
24
|
+
|
25
|
+
spec.add_development_dependency "bundler", "~> 1.6"
|
26
|
+
spec.add_development_dependency "rake", "~> 10.4"
|
27
|
+
spec.add_development_dependency "pry", "~> 0.10"
|
28
|
+
end
|
@@ -0,0 +1,22 @@
|
|
1
|
+
*.gem
|
2
|
+
*.rbc
|
3
|
+
.bundle
|
4
|
+
.config
|
5
|
+
.yardoc
|
6
|
+
Gemfile.lock
|
7
|
+
InstalledFiles
|
8
|
+
_yardoc
|
9
|
+
coverage
|
10
|
+
doc/
|
11
|
+
lib/bundler/man
|
12
|
+
pkg
|
13
|
+
rdoc
|
14
|
+
spec/reports
|
15
|
+
test/tmp
|
16
|
+
test/version_tmp
|
17
|
+
tmp
|
18
|
+
*.bundle
|
19
|
+
*.so
|
20
|
+
*.o
|
21
|
+
*.a
|
22
|
+
mkmf.log
|
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) <%= Time.now.year %> <%= @author_name %>
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# <%= @name.downcase %>
|
2
|
+
<% unless @author_github.empty? %>
|
3
|
+
[](https://travis-ci.org/<%= @author_github %>/<%= @name %>)
|
4
|
+
<% end %>
|
5
|
+
## installation
|
6
|
+
|
7
|
+
```shell
|
8
|
+
gem install <%= @name.downcase %>
|
9
|
+
```
|
10
|
+
|
11
|
+
## example
|
12
|
+
|
13
|
+
```ruby
|
14
|
+
require '<%= @name %>'
|
15
|
+
```
|
16
|
+
|
17
|
+
## alternatives
|
18
|
+
|
19
|
+
* [alternative](http://github.com/rails/rails)
|
20
|
+
|
21
|
+
## license
|
22
|
+
|
23
|
+
MIT
|
metadata
ADDED
@@ -0,0 +1,214 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: geminio
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.1.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Hrvoje Šimić
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-01-19 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: thor
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0.19'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 0.19.1
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '0.19'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 0.19.1
|
33
|
+
- !ruby/object:Gem::Dependency
|
34
|
+
name: user-configurations
|
35
|
+
requirement: !ruby/object:Gem::Requirement
|
36
|
+
requirements:
|
37
|
+
- - "~>"
|
38
|
+
- !ruby/object:Gem::Version
|
39
|
+
version: '0.1'
|
40
|
+
- - ">="
|
41
|
+
- !ruby/object:Gem::Version
|
42
|
+
version: 0.1.0
|
43
|
+
type: :runtime
|
44
|
+
prerelease: false
|
45
|
+
version_requirements: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - "~>"
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: '0.1'
|
50
|
+
- - ">="
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: 0.1.0
|
53
|
+
- !ruby/object:Gem::Dependency
|
54
|
+
name: bundler
|
55
|
+
requirement: !ruby/object:Gem::Requirement
|
56
|
+
requirements:
|
57
|
+
- - "~>"
|
58
|
+
- !ruby/object:Gem::Version
|
59
|
+
version: '1.6'
|
60
|
+
type: :development
|
61
|
+
prerelease: false
|
62
|
+
version_requirements: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- - "~>"
|
65
|
+
- !ruby/object:Gem::Version
|
66
|
+
version: '1.6'
|
67
|
+
- !ruby/object:Gem::Dependency
|
68
|
+
name: rake
|
69
|
+
requirement: !ruby/object:Gem::Requirement
|
70
|
+
requirements:
|
71
|
+
- - "~>"
|
72
|
+
- !ruby/object:Gem::Version
|
73
|
+
version: '10.4'
|
74
|
+
- - ">="
|
75
|
+
- !ruby/object:Gem::Version
|
76
|
+
version: 10.4.2
|
77
|
+
type: :development
|
78
|
+
prerelease: false
|
79
|
+
version_requirements: !ruby/object:Gem::Requirement
|
80
|
+
requirements:
|
81
|
+
- - "~>"
|
82
|
+
- !ruby/object:Gem::Version
|
83
|
+
version: '10.4'
|
84
|
+
- - ">="
|
85
|
+
- !ruby/object:Gem::Version
|
86
|
+
version: 10.4.2
|
87
|
+
- !ruby/object:Gem::Dependency
|
88
|
+
name: aruba
|
89
|
+
requirement: !ruby/object:Gem::Requirement
|
90
|
+
requirements:
|
91
|
+
- - "~>"
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0.6'
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: 0.6.2
|
97
|
+
type: :development
|
98
|
+
prerelease: false
|
99
|
+
version_requirements: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - "~>"
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0.6'
|
104
|
+
- - ">="
|
105
|
+
- !ruby/object:Gem::Version
|
106
|
+
version: 0.6.2
|
107
|
+
- !ruby/object:Gem::Dependency
|
108
|
+
name: cucumber
|
109
|
+
requirement: !ruby/object:Gem::Requirement
|
110
|
+
requirements:
|
111
|
+
- - "~>"
|
112
|
+
- !ruby/object:Gem::Version
|
113
|
+
version: '1.3'
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: 1.3.18
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - "~>"
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '1.3'
|
124
|
+
- - ">="
|
125
|
+
- !ruby/object:Gem::Version
|
126
|
+
version: 1.3.18
|
127
|
+
- !ruby/object:Gem::Dependency
|
128
|
+
name: pry
|
129
|
+
requirement: !ruby/object:Gem::Requirement
|
130
|
+
requirements:
|
131
|
+
- - "~>"
|
132
|
+
- !ruby/object:Gem::Version
|
133
|
+
version: '0.10'
|
134
|
+
- - ">="
|
135
|
+
- !ruby/object:Gem::Version
|
136
|
+
version: 0.10.1
|
137
|
+
type: :development
|
138
|
+
prerelease: false
|
139
|
+
version_requirements: !ruby/object:Gem::Requirement
|
140
|
+
requirements:
|
141
|
+
- - "~>"
|
142
|
+
- !ruby/object:Gem::Version
|
143
|
+
version: '0.10'
|
144
|
+
- - ">="
|
145
|
+
- !ruby/object:Gem::Version
|
146
|
+
version: 0.10.1
|
147
|
+
description: Micro utility that sets up the stage for building gems.
|
148
|
+
email:
|
149
|
+
- shime.ferovac@gmail.com
|
150
|
+
executables:
|
151
|
+
- geminio
|
152
|
+
extensions: []
|
153
|
+
extra_rdoc_files: []
|
154
|
+
files:
|
155
|
+
- ".gitignore"
|
156
|
+
- ".rspec"
|
157
|
+
- ".ruby-version"
|
158
|
+
- Gemfile
|
159
|
+
- LICENSE.txt
|
160
|
+
- README.md
|
161
|
+
- Rakefile
|
162
|
+
- bin/geminio
|
163
|
+
- features/base.feature
|
164
|
+
- features/custom_templates.feature
|
165
|
+
- features/error_handling.feature
|
166
|
+
- features/help.feature
|
167
|
+
- features/step_definitions/geminio_steps.rb
|
168
|
+
- features/support/env.rb
|
169
|
+
- geminio.gemspec
|
170
|
+
- lib/geminio.rb
|
171
|
+
- lib/geminio/error_message.rb
|
172
|
+
- lib/geminio/runner.rb
|
173
|
+
- lib/geminio/shell.rb
|
174
|
+
- lib/geminio/utils/string_extensions.rb
|
175
|
+
- lib/geminio/version.rb
|
176
|
+
- templates/default/%name%.gemspec.erb
|
177
|
+
- templates/default/.gitignore
|
178
|
+
- templates/default/Gemfile
|
179
|
+
- templates/default/LICENSE.txt.erb
|
180
|
+
- templates/default/README.md.erb
|
181
|
+
- templates/default/Rakefile.erb
|
182
|
+
- templates/default/lib/%name%.rb.erb
|
183
|
+
- templates/default/lib/%name%/version.rb.erb
|
184
|
+
homepage: https://github.com/shime/geminio
|
185
|
+
licenses:
|
186
|
+
- MIT
|
187
|
+
metadata: {}
|
188
|
+
post_install_message:
|
189
|
+
rdoc_options: []
|
190
|
+
require_paths:
|
191
|
+
- lib
|
192
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
version: '0'
|
197
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
198
|
+
requirements:
|
199
|
+
- - ">="
|
200
|
+
- !ruby/object:Gem::Version
|
201
|
+
version: '0'
|
202
|
+
requirements: []
|
203
|
+
rubyforge_project:
|
204
|
+
rubygems_version: 2.2.2
|
205
|
+
signing_key:
|
206
|
+
specification_version: 4
|
207
|
+
summary: Micro utility that sets up the stage for building gems.
|
208
|
+
test_files:
|
209
|
+
- features/base.feature
|
210
|
+
- features/custom_templates.feature
|
211
|
+
- features/error_handling.feature
|
212
|
+
- features/help.feature
|
213
|
+
- features/step_definitions/geminio_steps.rb
|
214
|
+
- features/support/env.rb
|