creategem 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 3a795d632ce3654bb474978c1c20ef678a290aa1
4
+ data.tar.gz: ad27d6a54a417b7b97eacec45c0382a7849c5bfe
5
+ SHA512:
6
+ metadata.gz: c0e654e4fecf8c534d504ec395e61736d5f3b4264fbc444e9a42cc1767ac0b65aeb3ded5073e38a479dd1cacbe733f17d2f420b64cf6f65fad0c472fc68c1a00
7
+ data.tar.gz: ccdf813b5be98b9c12b91f701949d2397a3d0bce654bf549c085f0e1fc1e4aaccd92b73b137dab088d19c44abf193da9826c15732c0cd7ffee9e9e249cc29938
data/.gitignore ADDED
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 2.3.0
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in foodie.gemspec
4
+ gemspec
data/README.md ADDED
@@ -0,0 +1,51 @@
1
+ # Creategem
2
+
3
+ Creategem creates a scaffold project for a new gem that already has a remote repository (Github or Bitbucket) and is ready to be released in a private or public gem server.
4
+
5
+ This project was inspired by the Bundler's `bundle gem GEM command and by the great article [Deveoping a RubyGem using Bundler](https://github.com/radar/guides/blob/master/gem-development.md) by @radar.
6
+
7
+ Similar to what Bundler's bundle gem command does, this gem generates a scaffold with all files you need to start, but it also has some additional features.
8
+
9
+ Features:
10
+ - automatically creates local and remote git repository (bitbucket or github) for your gem
11
+ - automatically release patches, minor and major versions without having to manually increase versions (thanks to [gem-release](https://github.com/svenfuchs/gem-release))
12
+ - executable based on [Thor](http://whatisthor.com) (can be omited with --no-executable)
13
+ - test infrastructure based on minitest
14
+ - release to rubygems.org or to private geminabox gem server
15
+
16
+
17
+ ## Installation
18
+
19
+ $ gem install creategem
20
+
21
+
22
+ ## Usage
23
+
24
+ $ creategem gem GEM_NAME [--public] [--no-executable]
25
+
26
+ When called without any options it is assumed that you want a gem with an executable and hosted in a private bitbucket git repository, and released on a private Geminabox server.
27
+
28
+ During the creation you will be asked for your bitbucket user name and the url of your geminabox gem server (only the first time, as the user name and the gem server url are saved in your git global config). You will also be asked to enter your bitbucket password when the remote repository is created for you with the bitbucket rest api.
29
+
30
+ When you use the --public option a github repository is created for the gem and on release the gem is pushed to rubygems.org.
31
+
32
+ During the creation you will be asked for your github user name (only the first time, as the user name is saved in your git global config). You will also be asked to enter your github password when the remote repository is created for you with the github rest api.
33
+
34
+ Per default a gem is created with an executable based on Thor, but you can omit the executable with the option --no-executable.
35
+
36
+ After you create the gem, edit your gemspec and change the summary and the description, commit the changes to git and invoke `rake release_patch` and your gem is being released.
37
+
38
+
39
+ ## Development
40
+
41
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
42
+
43
+ To install this gem onto your local machine, run `bundle exec rake install`.
44
+
45
+ To release a new version, run `bundle exec rake release_patch`, `bundle exec rake release_minor`, oder `bundle exec rake release_major`,
46
+ which will create a git tag for the version, push git commits and tags, and push the `.gem` file to https://rubygems.org.
47
+
48
+ ## Contributing
49
+
50
+ Bug reports and pull requests are welcome on Github at https://github.com/igorj/creategem.
51
+
data/Rakefile ADDED
@@ -0,0 +1,38 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
10
+ task :patch do
11
+ system "gem bump --tag"
12
+ end
13
+
14
+ task :minor do
15
+ system "gem bump --version minor --tag"
16
+ end
17
+
18
+ task :major do
19
+ system "gem bump --version major --tag"
20
+ end
21
+
22
+ task :publish => [:build] do
23
+ $VERBOSE = nil
24
+ load 'creategem/version.rb'
25
+ system "gem push pkg/creategem-#{Creategem::VERSION}.gem"
26
+ end
27
+
28
+ desc "Bump patch version, create git tag, build the gem and release to geminabox (default)"
29
+ task :release_patch => [:test, :patch, :publish]
30
+
31
+ desc "Bump minor version, create git tag, build the gem and release to geminabox"
32
+ task :release_minor => [:test, :minor, :publish]
33
+
34
+ desc "Bump major version, create git tag, build the gem and release to geminabox"
35
+ task :release_major => [:test, :major, :publish]
36
+
37
+
38
+ task :default => :test
data/bin/console ADDED
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "creategem"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
data/bin/setup ADDED
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
data/creategem.gemspec ADDED
@@ -0,0 +1,28 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
+ require 'creategem/version'
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "creategem"
6
+ spec.version = Creategem::VERSION
7
+ spec.authors = ["Igor Jancev"]
8
+ spec.email = ["igor@masterybits.com"]
9
+ spec.summary = %q{Creategem creates a scaffold project for new gems}
10
+ spec.description = %q{Creategem creates a scaffold project for new gems. You can choose between Github and Bitbucket,
11
+ Rubygems or Geminabox, with executable or without, etc.}
12
+ spec.homepage = "https://github.com/igorj/creategem"
13
+
14
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
15
+ spec.bindir = "exe"
16
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
17
+ spec.require_paths = ["lib"]
18
+
19
+ spec.add_development_dependency "bundler", "~> 1.11"
20
+ spec.add_development_dependency "rake", "~> 10.0"
21
+ spec.add_development_dependency "minitest", "~> 5.8"
22
+ spec.add_development_dependency "minitest-reporters", "~> 1.1"
23
+ spec.add_development_dependency "gem-release", "~> 0.7"
24
+ spec.add_development_dependency "geminabox", "~> 0.13"
25
+
26
+ spec.add_dependency "thor", "~> 0.19"
27
+ spec.add_dependency "git", "~> 1.3"
28
+ end
data/exe/creategem ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require 'creategem/cli'
3
+ Creategem::CLI.start
@@ -0,0 +1,73 @@
1
+ require 'git'
2
+ require 'creategem'
3
+
4
+ # Creategem::CLI is a Thor class that is invoked when a user runs a creategem executable
5
+ module Creategem
6
+ class CLI < Thor
7
+ include Thor::Actions
8
+ include Creategem::Git
9
+
10
+ # there has to be a method gem_name to use gem_name in the file names in the template directory: %gem_name%
11
+ attr_accessor :gem_name
12
+
13
+ # this is where the thor generator templates are found
14
+ def self.source_root
15
+ File.expand_path('../../../templates', __FILE__)
16
+ end
17
+
18
+ desc "gem NAME", "Creates a new gem with a given NAME with Bitbucket git repository and private geminabox gem repository; Options: --public (Github/Rubygems), --no-executable"
19
+ option :public, type: :boolean, default: false, desc: "When true, Github and Rubygems are used, otherwise Bitbucket and Geminabox are used (default)"
20
+ option :executable, type: :boolean, default: true, desc: "When true, gem with executable is created"
21
+ def gem(gem_name)
22
+ say "Create a gem scaffold for gem named: #{gem_name}", :green
23
+ @gem_name = gem_name
24
+ @class_name = Thor::Util.camel_case(gem_name)
25
+ @executable = options[:executable]
26
+ vendor = options[:public] ? :github : :bitbucket
27
+ @repository = Creategem::Repository.new(vendor: vendor,
28
+ user: git_repository_user_name(vendor),
29
+ name: gem_name,
30
+ gem_server_url: gem_server_url(vendor))
31
+ directory "gem_scaffold", gem_name
32
+ if @executable
33
+ directory "executable_scaffold", gem_name
34
+ end
35
+ if @repository.public?
36
+ template "LICENCE.txt", "#{gem_name}/LICENCE.txt"
37
+ end
38
+ Dir.chdir gem_name do
39
+ create_local_git_repository
40
+ run "bundle install"
41
+ create_remote_git_repository(@repository)
42
+ end
43
+ say "The gem #{gem_name} was successfully created.", :green
44
+ say "Please complete the information in #{gem_name}.gemspec and README.md (look for TODOs).", :blue
45
+ end
46
+
47
+ private
48
+
49
+ def git_repository_user_name(vendor)
50
+ git_config_key = "creategem.#{vendor}user"
51
+ user = ::Git.global_config(git_config_key)
52
+ if user.nil? || user.empty?
53
+ user = ask("What is your #{vendor} user name?")
54
+ ::Git.global_config(git_config_key, user)
55
+ end
56
+ user
57
+ end
58
+
59
+ def gem_server_url(vendor)
60
+ if vendor == :github
61
+ "https://rubygems.org"
62
+ else
63
+ git_config_key = "creategem.gemserver"
64
+ url = ::Git.global_config(git_config_key)
65
+ if url.nil? || url.empty?
66
+ url = ask("What is the url of your geminabox server?")
67
+ ::Git.global_config(git_config_key, url)
68
+ end
69
+ url
70
+ end
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,26 @@
1
+ require 'thor'
2
+
3
+ module Creategem
4
+ module Git
5
+ include Thor::Actions
6
+
7
+ def create_local_git_repository
8
+ say "Create local git repository", :green
9
+ run "git init"
10
+ run "git add ."
11
+ run "git commit -aqm 'Initial commit'"
12
+ end
13
+
14
+ def create_remote_git_repository(repository)
15
+ say "Create remote #{repository.vendor} repository", :green
16
+ if repository.github?
17
+ run "curl -u '#{repository.user}' https://api.github.com/user/repos -d '{\"name\":\"#{repository.name}\"}'"
18
+ else
19
+ run "curl --request POST --user #{repository.user} https://api.bitbucket.org/1.0/repositories/ --data name=#{repository.name} --data scm=git --data is_private=true"
20
+ end
21
+ run "git remote add origin #{repository.origin}"
22
+ say "Push initial commit to remote #{repository.vendor} repository", :green
23
+ run "git push -u origin master"
24
+ end
25
+ end
26
+ end
@@ -0,0 +1,44 @@
1
+ require 'git'
2
+
3
+ # Creategem::Repository contains informations about the git repository and the git user
4
+ module Creategem
5
+ class Repository
6
+ REPOSITORIES = { github: "github.com", bitbucket: "bitbucket.org" }
7
+
8
+ attr_reader :vendor, :name, :user, :user_name, :user_email, :gem_server_url
9
+
10
+ def initialize(options)
11
+ @vendor = options[:vendor]
12
+ @name = options[:name]
13
+ @user = options[:user]
14
+ @user_name = ::Git.global_config "user.name"
15
+ @user_email = ::Git.global_config "user.email"
16
+ @gem_server_url = options[:gem_server_url]
17
+ end
18
+
19
+ def github?
20
+ vendor == :github
21
+ end
22
+
23
+ def bitbucket?
24
+ vendor == :bitbucket
25
+ end
26
+
27
+ # this could change later. For now all private repositories are on bitbucket and all private ones on github
28
+ def private?
29
+ bitbucket?
30
+ end
31
+
32
+ def public?
33
+ !private?
34
+ end
35
+
36
+ def url
37
+ "https://#{REPOSITORIES[vendor]}/#{user}/#{name}"
38
+ end
39
+
40
+ def origin
41
+ "git@#{REPOSITORIES[vendor]}:#{user}/#{name}.git"
42
+ end
43
+ end
44
+ end
@@ -0,0 +1,3 @@
1
+ module Creategem
2
+ VERSION = '0.1.1'
3
+ end
data/lib/creategem.rb ADDED
@@ -0,0 +1,6 @@
1
+ require 'creategem/version'
2
+ require 'creategem/git'
3
+ require 'creategem/repository'
4
+
5
+ module Creategem
6
+ end
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 <%= @repository.user_name %>
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env ruby
2
+ require '<%= @gem_name %>/cli'
3
+ <%= @class_name %>::CLI.start
@@ -0,0 +1,13 @@
1
+ require 'thor'
2
+ require '<%= @gem_name %>'
3
+
4
+ module <%= @class_name %>
5
+ class CLI < Thor
6
+ include Thor::Actions
7
+
8
+ desc "do_something NAME", "TODO task description"
9
+ def do_something(name)
10
+ puts "TODO do something with: #{name}"
11
+ end
12
+ end
13
+ end
@@ -0,0 +1,36 @@
1
+ $LOAD_PATH.unshift File.expand_path('../lib', __FILE__)
2
+ require '<%= @gem_name %>/version'
3
+
4
+ Gem::Specification.new do |spec|
5
+ spec.name = "<%= @gem_name %>"
6
+ spec.version = <%= @class_name %>::VERSION
7
+ spec.authors = ["<%= @repository.user_name %>"]
8
+ spec.email = ["<%= @repository.user_email %>"]
9
+ spec.summary = %q{TODO Summary what the gem is for}
10
+ spec.description = %q{TODO Longer description of the gem}
11
+ spec.homepage = "<%= @repository.url %>"
12
+ <% if @repository.public? -%>
13
+ spec.license = "MIT"
14
+ <% end -%>
15
+
16
+ <% if @repository.private? -%>
17
+ spec.metadata['allowed_push_host'] = "<%= @repository.gem_server_url %>"
18
+ <% end -%>
19
+
20
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^test/}) }
21
+ <% if @executable -%>
22
+ spec.bindir = "exe"
23
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
+ <% end -%>
25
+ spec.require_paths = ["lib"]
26
+
27
+ spec.add_development_dependency "bundler", "~> 1.11"
28
+ spec.add_development_dependency "rake", "~> 10.0"
29
+ spec.add_development_dependency "minitest", "~> 5.8"
30
+ spec.add_development_dependency "minitest-reporters", "~> 1.1"
31
+ spec.add_development_dependency "gem-release", "~> 0.7"
32
+ spec.add_development_dependency "geminabox", "~> 0.13"
33
+ <% if @executable -%>
34
+ spec.add_dependency "thor", "~> 0.19"
35
+ <% end %>
36
+ end
@@ -0,0 +1,9 @@
1
+ /.bundle/
2
+ /.yardoc
3
+ /Gemfile.lock
4
+ /_yardoc/
5
+ /coverage/
6
+ /doc/
7
+ /pkg/
8
+ /spec/reports/
9
+ /tmp/
@@ -0,0 +1 @@
1
+ 2.3.0
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in <%= @gem_name %>.gemspec
4
+ gemspec
@@ -0,0 +1,41 @@
1
+ # <%= @class_name %>
2
+
3
+ TODO Description of <%= @class_name %>
4
+
5
+ ## Installation
6
+
7
+ Add this line to your application's Gemfile:
8
+
9
+ ```ruby
10
+ gem '<%= @gem_name %>'
11
+ ```
12
+
13
+ And then execute:
14
+
15
+ $ bundle
16
+
17
+ Or install it yourself as:
18
+
19
+ $ gem install <%= @gem_name %>
20
+
21
+ ## Usage
22
+
23
+ TODO Describe how to use this gem
24
+
25
+ ## Development
26
+
27
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
28
+
29
+ To install this gem onto your local machine, run `bundle exec rake install`.
30
+
31
+ To release a new version, run `bundle exec rake release_patch`, `bundle exec rake release_minor`, oder `bundle exec rake release_major`, which will create a git tag for the version, push git commits and tags, and push the `.gem` file to <%= @repository.gem_server_url -%>.
32
+
33
+ ## Contributing
34
+
35
+ Bug reports and pull requests are welcome on <%= @repository.vendor %> at <%= @repository.url %>.
36
+
37
+ <% if @repository.public? -%>
38
+ ## License
39
+
40
+ The gem is available as open source under the terms of the [MIT License](http://opensource.org/licenses/MIT).
41
+ <% end %>
@@ -0,0 +1,42 @@
1
+ require "bundler/gem_tasks"
2
+ require "rake/testtask"
3
+
4
+ Rake::TestTask.new(:test) do |t|
5
+ t.libs << "test"
6
+ t.libs << "lib"
7
+ t.test_files = FileList['test/**/*_test.rb']
8
+ end
9
+
10
+ task :patch do
11
+ system "gem bump --tag"
12
+ end
13
+
14
+ task :minor do
15
+ system "gem bump --version minor --tag"
16
+ end
17
+
18
+ task :major do
19
+ system "gem bump --version major --tag"
20
+ end
21
+
22
+ task :publish => [:build] do
23
+ $VERBOSE = nil
24
+ load '<%= @gem_name %>/version.rb'
25
+ <% if @repository.private? -%>
26
+ system "gem inabox pkg/<%= @gem_name %>-#{<%= @class_name %>::VERSION}.gem"
27
+ <% else -%>
28
+ system "gem push pkg/<%= @gem_name %>-#{<%= @class_name %>::VERSION}.gem"
29
+ <% end -%>
30
+ end
31
+
32
+ desc "Bump patch version, create git tag, build the gem and release to geminabox (default)"
33
+ task :release_patch => [:test, :patch, :publish]
34
+
35
+ desc "Bump minor version, create git tag, build the gem and release to geminabox"
36
+ task :release_minor => [:test, :minor, :publish]
37
+
38
+ desc "Bump major version, create git tag, build the gem and release to geminabox"
39
+ task :release_major => [:test, :major, :publish]
40
+
41
+
42
+ task :default => :test
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "<%= @gem_name %>"
5
+
6
+ # You can add fixtures and/or initialization code here to make experimenting
7
+ # with your gem easier. You can also use a different console, if you like.
8
+
9
+ # (If you use this, don't forget to add pry to your Gemfile!)
10
+ # require "pry"
11
+ # Pry.start
12
+
13
+ require "irb"
14
+ IRB.start
@@ -0,0 +1,8 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+ IFS=$'\n\t'
4
+ set -vx
5
+
6
+ bundle install
7
+
8
+ # Do any other automated setup that you need to do here
@@ -0,0 +1,3 @@
1
+ module <%= @class_name %>
2
+ VERSION = '0.0.0'
3
+ end
@@ -0,0 +1,4 @@
1
+ require '<%= @gem_name %>/version'
2
+
3
+ module <%= @class_name %>
4
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class <%= @class_name %>Test < Minitest::Test
4
+ def test_that_it_has_a_version_number
5
+ refute_nil ::<%= @class_name %>::VERSION
6
+ end
7
+ end
@@ -0,0 +1,7 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require '<%= @gem_name %>'
3
+
4
+ require 'minitest/autorun'
5
+
6
+ require 'minitest/reporters'
7
+ Minitest::Reporters.use! Minitest::Reporters::SpecReporter.new
metadata ADDED
@@ -0,0 +1,187 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: creategem
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.1
5
+ platform: ruby
6
+ authors:
7
+ - Igor Jancev
8
+ autorequire:
9
+ bindir: exe
10
+ cert_chain: []
11
+ date: 2016-04-13 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.11'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.11'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: '10.0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - "~>"
46
+ - !ruby/object:Gem::Version
47
+ version: '5.8'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - "~>"
53
+ - !ruby/object:Gem::Version
54
+ version: '5.8'
55
+ - !ruby/object:Gem::Dependency
56
+ name: minitest-reporters
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - "~>"
60
+ - !ruby/object:Gem::Version
61
+ version: '1.1'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - "~>"
67
+ - !ruby/object:Gem::Version
68
+ version: '1.1'
69
+ - !ruby/object:Gem::Dependency
70
+ name: gem-release
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - "~>"
74
+ - !ruby/object:Gem::Version
75
+ version: '0.7'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - "~>"
81
+ - !ruby/object:Gem::Version
82
+ version: '0.7'
83
+ - !ruby/object:Gem::Dependency
84
+ name: geminabox
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - "~>"
88
+ - !ruby/object:Gem::Version
89
+ version: '0.13'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - "~>"
95
+ - !ruby/object:Gem::Version
96
+ version: '0.13'
97
+ - !ruby/object:Gem::Dependency
98
+ name: thor
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - "~>"
102
+ - !ruby/object:Gem::Version
103
+ version: '0.19'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - "~>"
109
+ - !ruby/object:Gem::Version
110
+ version: '0.19'
111
+ - !ruby/object:Gem::Dependency
112
+ name: git
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - "~>"
116
+ - !ruby/object:Gem::Version
117
+ version: '1.3'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - "~>"
123
+ - !ruby/object:Gem::Version
124
+ version: '1.3'
125
+ description: |-
126
+ Creategem creates a scaffold project for new gems. You can choose between Github and Bitbucket,
127
+ Rubygems or Geminabox, with executable or without, etc.
128
+ email:
129
+ - igor@masterybits.com
130
+ executables:
131
+ - creategem
132
+ extensions: []
133
+ extra_rdoc_files: []
134
+ files:
135
+ - ".gitignore"
136
+ - ".ruby-version"
137
+ - Gemfile
138
+ - README.md
139
+ - Rakefile
140
+ - bin/console
141
+ - bin/setup
142
+ - creategem.gemspec
143
+ - exe/creategem
144
+ - lib/creategem.rb
145
+ - lib/creategem/cli.rb
146
+ - lib/creategem/git.rb
147
+ - lib/creategem/repository.rb
148
+ - lib/creategem/version.rb
149
+ - templates/LICENCE.txt
150
+ - templates/executable_scaffold/exe/%gem_name%.tt
151
+ - templates/executable_scaffold/lib/%gem_name%/cli.rb.tt
152
+ - templates/gem_scaffold/%gem_name%.gemspec.tt
153
+ - templates/gem_scaffold/.gitignore
154
+ - templates/gem_scaffold/.ruby-version
155
+ - templates/gem_scaffold/Gemfile.tt
156
+ - templates/gem_scaffold/README.md.tt
157
+ - templates/gem_scaffold/Rakefile.tt
158
+ - templates/gem_scaffold/bin/console
159
+ - templates/gem_scaffold/bin/setup
160
+ - templates/gem_scaffold/lib/%gem_name%.rb.tt
161
+ - templates/gem_scaffold/lib/%gem_name%/version.rb.tt
162
+ - templates/gem_scaffold/test/%gem_name%_test.rb.tt
163
+ - templates/gem_scaffold/test/test_helper.rb.tt
164
+ homepage: https://github.com/igorj/creategem
165
+ licenses: []
166
+ metadata: {}
167
+ post_install_message:
168
+ rdoc_options: []
169
+ require_paths:
170
+ - lib
171
+ required_ruby_version: !ruby/object:Gem::Requirement
172
+ requirements:
173
+ - - ">="
174
+ - !ruby/object:Gem::Version
175
+ version: '0'
176
+ required_rubygems_version: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - ">="
179
+ - !ruby/object:Gem::Version
180
+ version: '0'
181
+ requirements: []
182
+ rubyforge_project:
183
+ rubygems_version: 2.5.1
184
+ signing_key:
185
+ specification_version: 4
186
+ summary: Creategem creates a scaffold project for new gems
187
+ test_files: []