bundlegem 0.0.4 → 0.0.5

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
  SHA1:
3
- metadata.gz: 2639d9ec157c0b9cdb0e87753217e073bb412274
4
- data.tar.gz: 368d168d1a5f4673e551ff1d54558db9dea0cb58
3
+ metadata.gz: 7c08c0682db8e699b13f7f117349b7c7da714ede
4
+ data.tar.gz: 5c15178fe7fb6594e6fead96bedc15c63b6f978e
5
5
  SHA512:
6
- metadata.gz: e916e6dea777b7b9624d4608d8726cad09a3342f5e3158249d8863ed428014506048e50ef971e3dd02d4e4c364b17a5e227d66d47aced1ce9d7c99be355b1d15
7
- data.tar.gz: 3efff9f90496b8e8c6c223afe504be88a322ae81802f657af9e76c0db0e1966381195c044d7f5e654ab9904bf56d5c21ad06ec828b490714a1d94ad30a6ce9a0
6
+ metadata.gz: 5dcd12a40000b95ade8a289fbcceb95e1798f2709cb5fa25510d0e1a26d439ea4df72a04857b7fc9f5a5c857c14f7b9abeaeee80f05c7c198eeb6cd5fc204bc9
7
+ data.tar.gz: 02a40f796bac379663fb5580c995acb5f9709011c38fff1e94ecc715165fd70ee61159f7279f911d40e3b21f370ac6cfce548daf108b6e77e68610fbc376fd60
data/bin/bundlegem CHANGED
@@ -5,8 +5,6 @@ Signal.trap("INT") { exit 1 }
5
5
  require 'bundler'
6
6
  require 'bundlegem'
7
7
  # require 'bundlergem/friendly_errors'
8
- require 'bundlegem/cli'
9
- require 'bundlegem/cli/gem'
10
8
 
11
9
  if ARGV.length < 1
12
10
  puts "error: you need to specify a gemname at least"
@@ -42,18 +40,17 @@ end
42
40
 
43
41
 
44
42
  options = {"bin"=>false, "ext"=>false, :coc=> false}
45
- name = ARGV[0] # gem name
43
+ gem_name = ARGV[0] # gem name
46
44
 
47
45
  if ARGV.length > 1
48
- if ARGV[1] != "-t"
49
- puts "you can ONLY use -t as an argument cause I'm quite busy and should be doing something else right now!"
46
+ if ARGV[1] != "-t" and ARGV[1] != "--template"
47
+ puts "you can ONLY use -t as an argument because I'm quite busy and should be doing something else right now!"
50
48
  exit 1
51
49
  end
52
50
 
53
51
  options.merge!({"template" => ARGV[2]})
54
52
  end
55
53
 
56
-
57
- Bundlegem::CLI::Gem.new(options, name, self).run
54
+ Bundlegem.gem(options, gem_name)
58
55
 
59
56
 
data/changelog CHANGED
@@ -12,8 +12,18 @@
12
12
  new template
13
13
  - Behavior: gems in the ~/.bundlegem/gem_templates folder take precidence over
14
14
  built in gems? ...add prompt
15
+ - Cleaning: Make create_gem build a string instead of puts so
16
+ output can be squelched for testing
15
17
 
16
18
 
19
+ ** 0.0.5 **
20
+ - Bug in 0.0.3 that broke building template gems fixed
21
+ * Template Directories part of code was being skipped for built in templates, but not all of it
22
+ - Bug where sub directories were not being explicitly created
23
+ - Added integration test just to make sure the built-in templates can be generated without problems
24
+ - Cleaned up internal API and how the binary works
25
+
26
+
17
27
  ** 0.0.4 **
18
28
  - Tell the user what files are being created
19
29
  - Created config['git_repo_url'] variable to be used in templates
@@ -3,12 +3,11 @@ require 'pry'
3
3
 
4
4
  module Bundlegem
5
5
  class CLI::Gem
6
- attr_reader :options, :gem_name, :thor, :name, :target
6
+ attr_reader :options, :gem_name, :name, :target
7
7
 
8
- def initialize(options, gem_name, thor)
8
+ def initialize(options, gem_name)
9
9
  @options = options
10
10
  @gem_name = resolve_name(gem_name)
11
- @thor = thor
12
11
 
13
12
  @name = @gem_name
14
13
  @target = Pathname.pwd.join(gem_name)
@@ -125,10 +124,12 @@ module Bundlegem
125
124
  # Bundler.ui.info "Initializing git repo in #{target}"
126
125
  Dir.chdir(target) { `git init`; `git add .` }
127
126
 
128
- if options[:edit]
129
- # Open gemspec in editor
130
- thor.run("#{options["edit"]} \"#{target.join("#{name}.gemspec")}\"")
131
- end
127
+ # Disabled thanks to removal of thor, might not be helpful...
128
+ #if options[:edit]
129
+ # # Open gemspec in editor
130
+ #
131
+ # # thor.run("#{options["edit"]} \"#{target.join("#{name}.gemspec")}\"")
132
+ #end
132
133
 
133
134
  puts "\nComplete."
134
135
  end
@@ -136,12 +137,12 @@ module Bundlegem
136
137
  private
137
138
 
138
139
  def dynamically_generate_template_directories
139
- return nil if options["template"].nil?
140
+ # return nil if options["template"].nil?
140
141
 
141
142
  template_src = get_template_src
142
143
 
143
144
  template_dirs = {}
144
- Dir.glob("#{template_src}/**").each do |f|
145
+ Dir.glob("#{template_src}/**/*").each do |f|
145
146
  next unless File.directory? f
146
147
  base_path = f[template_src.length+1..-1]
147
148
  template_dirs.merge!(base_path => base_path.gsub('#{name}', "#{name}") )
@@ -1,3 +1,3 @@
1
1
  module Bundlegem
2
- VERSION = "0.0.4"
2
+ VERSION = "0.0.5"
3
3
  end
data/lib/bundlegem.rb CHANGED
@@ -24,6 +24,13 @@ module Bundlegem
24
24
  output_string
25
25
  end
26
26
 
27
+ def gem(options, gem_name)
28
+ require 'bundlegem/cli'
29
+ require 'bundlegem/cli/gem'
30
+
31
+ Bundlegem::CLI::Gem.new(options, gem_name).run
32
+ end
33
+
27
34
  # input: [ { "predefined" => "default" },
28
35
  # { "MISC" => "my_thing" },
29
36
  # { "prdefined" => "service" }
@@ -32,4 +32,10 @@ describe Bundlegem do
32
32
  expect(list_output.include?(category)).to be true
33
33
  end
34
34
 
35
+ it "can generate the built-in gems fine" do
36
+ options = {"bin"=>false, "ext"=>false, :coc=> false}
37
+ gem_name = "tmp_gem" # gem name
38
+ Bundlegem.gem(options, gem_name)
39
+ end
40
+
35
41
  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/
data/tmp_gem/.rspec ADDED
@@ -0,0 +1,2 @@
1
+ --format documentation
2
+ --color
@@ -0,0 +1,3 @@
1
+ language: ruby
2
+ rvm:
3
+ - 2.1.3
data/tmp_gem/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in tmp_gem.gemspec
4
+ gemspec
data/tmp_gem/README.md ADDED
@@ -0,0 +1,39 @@
1
+ # TmpGem
2
+
3
+ Welcome to your new gem! In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/tmp_gem`. To experiment with that code, run `bin/console` for an interactive prompt.
4
+
5
+ TODO: Delete this and the text above, and describe your gem
6
+
7
+ ## Installation
8
+
9
+ Add this line to your application's Gemfile:
10
+
11
+ ```ruby
12
+ gem 'tmp_gem'
13
+ ```
14
+
15
+ And then execute:
16
+
17
+ $ bundle
18
+
19
+ Or install it yourself as:
20
+
21
+ $ gem install tmp_gem
22
+
23
+ ## Usage
24
+
25
+ TODO: Write usage instructions here
26
+
27
+ ## Development
28
+
29
+ After checking out the repo, run `bin/setup` to install dependencies. Then, run `bin/console` for an interactive prompt that will allow you to experiment.
30
+
31
+ To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release` to create a git tag for the version, push git commits and tags, and push the `.gem` file to [rubygems.org](https://rubygems.org).
32
+
33
+ ## Contributing
34
+
35
+ 1. Fork it ( https://github.com/[my-github-username]/tmp_gem/fork )
36
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
37
+ 3. Commit your changes (`git commit -am 'Add some feature'`)
38
+ 4. Push to the branch (`git push origin my-new-feature`)
39
+ 5. Create a new Pull Request
data/tmp_gem/Rakefile ADDED
@@ -0,0 +1 @@
1
+ require "bundler/gem_tasks"
@@ -0,0 +1,14 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "bundler/setup"
4
+ require "tmp_gem"
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/tmp_gem/changelog ADDED
@@ -0,0 +1,7 @@
1
+ ** 0.0.x **
2
+ TODO: List off what features you'll be including at some point in the
3
+ future.
4
+
5
+ ** 0.0.1 **
6
+ TODO: List off what features you'll be including in the first release
7
+
@@ -0,0 +1,3 @@
1
+ module TmpGem
2
+ VERSION = "0.1.0"
3
+ end
@@ -0,0 +1,5 @@
1
+ require "tmp_gem/version"
2
+
3
+ module TmpGem
4
+ # Your code goes here...
5
+ end
@@ -0,0 +1,2 @@
1
+ $LOAD_PATH.unshift File.expand_path('../../lib', __FILE__)
2
+ require 'tmp_gem'
@@ -0,0 +1,11 @@
1
+ require 'spec_helper'
2
+
3
+ describe TmpGem do
4
+ it 'has a version number' do
5
+ expect(TmpGem::VERSION).not_to be nil
6
+ end
7
+
8
+ it 'does something useful' do
9
+ expect(false).to eq(true)
10
+ end
11
+ end
@@ -0,0 +1,27 @@
1
+ # coding: utf-8
2
+ lib = File.expand_path('../lib', __FILE__)
3
+ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
+ require 'tmp_gem/version'
5
+
6
+ Gem::Specification.new do |spec|
7
+ spec.name = "tmp_gem"
8
+ spec.version = TmpGem::VERSION
9
+ spec.authors = ["TODO: Write your name"]
10
+ spec.email = ["TODO: Write your email address"]
11
+
12
+ spec.summary = %q{TODO: Write a short summary, because Rubygems requires one.}
13
+ spec.description = %q{TODO: delete this line since you're in a hurry.}
14
+ spec.homepage = "https://github.com/TODO: Write your name/tmp_gem"
15
+
16
+ spec.files = `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
17
+ spec.bindir = "exe"
18
+ spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
19
+ spec.require_paths = ["lib"]
20
+
21
+ if spec.respond_to?(:metadata)
22
+ spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com' to prevent pushes to rubygems.org, or delete to allow pushes to any server."
23
+ end
24
+
25
+ spec.add_development_dependency "bundler", "~> 1.7"
26
+ spec.add_development_dependency "rake", "~> 10.0"
27
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bundlegem
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - TheNotary
@@ -143,6 +143,19 @@ files:
143
143
  - lib/bundlegem/version.rb
144
144
  - spec/bundlegem_spec.rb
145
145
  - spec/spec_helper.rb
146
+ - tmp_gem/.gitignore
147
+ - tmp_gem/.rspec
148
+ - tmp_gem/.travis.yml
149
+ - tmp_gem/Gemfile
150
+ - tmp_gem/README.md
151
+ - tmp_gem/Rakefile
152
+ - tmp_gem/bin/console
153
+ - tmp_gem/changelog
154
+ - tmp_gem/lib/tmp_gem.rb
155
+ - tmp_gem/lib/tmp_gem/version.rb
156
+ - tmp_gem/spec/spec_helper.rb
157
+ - tmp_gem/spec/tmp_gem_spec.rb
158
+ - tmp_gem/tmp_gem.gemspec
146
159
  homepage: ''
147
160
  licenses:
148
161
  - MIT