perplect-gemerator 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -1,15 +1,17 @@
1
- lib/generators/gem/templates/fresh_rakefile.erb
2
- lib/generators/gem/templates/gitignore.erb
3
- lib/generators/gem/templates/gemerated.erb
4
- lib/generators/gem/templates/lib/module.rb.erb
5
- lib/generators/gem/templates/bin/binary.erb
6
- lib/generators/gem/templates/test/module_test.rb.erb
7
- lib/generators/gem/templates/README.rdoc.erb
8
- lib/generators/gem.rb
9
1
  lib/gemerator.rb
10
- lib/generator.rb
2
+ lib/gemerator/generators/gem/templates/fresh_rakefile.erb
3
+ lib/gemerator/generators/gem/templates/gitignore.erb
4
+ lib/gemerator/generators/gem/templates/gemerated.erb
5
+ lib/gemerator/generators/gem/templates/lib/module.rb.erb
6
+ lib/gemerator/generators/gem/templates/bin/binary.erb
7
+ lib/gemerator/generators/gem/templates/test/module_test.rb.erb
8
+ lib/gemerator/generators/gem/templates/README.rdoc.erb
9
+ lib/gemerator/generators/gem.rb
10
+ lib/gemerator/github.rb
11
+ lib/gemerator/generator.rb
11
12
  README.rdoc
12
13
  init.rb
13
14
  bin/gemerate
14
15
  Rakefile
16
+ gemerator.gemspec
15
17
  Manifest
data/Rakefile CHANGED
@@ -1,7 +1,7 @@
1
1
  require 'rubygems'
2
2
  require 'echoe'
3
3
 
4
- Echoe.new('gemerator', '0.0.1') do |p|
4
+ Echoe.new('gemerator', '0.0.2') do |p|
5
5
  p.description = 'Quickly generate the basic structure of a GitHub-hosted RubyGem'
6
6
  p.url = 'http://github.com/perplect/gemerator/tree/master'
7
7
  p.author = 'David Knorr'
data/gemerator.gemspec CHANGED
@@ -2,17 +2,17 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{gemerator}
5
- s.version = "0.0.1"
5
+ s.version = "0.0.2"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["David Knorr"]
9
- s.date = %q{2009-05-18}
9
+ s.date = %q{2009-05-23}
10
10
  s.default_executable = %q{gemerate}
11
11
  s.description = %q{Quickly generate the basic structure of a GitHub-hosted RubyGem}
12
12
  s.email = %q{perplect@gmail.com}
13
13
  s.executables = ["gemerate"]
14
- s.extra_rdoc_files = ["lib/generators/gem/templates/fresh_rakefile.erb", "lib/generators/gem/templates/gitignore.erb", "lib/generators/gem/templates/gemerated.erb", "lib/generators/gem/templates/lib/module.rb.erb", "lib/generators/gem/templates/bin/binary.erb", "lib/generators/gem/templates/test/module_test.rb.erb", "lib/generators/gem/templates/README.rdoc.erb", "lib/generators/gem.rb", "lib/gemerator.rb", "lib/generator.rb", "README.rdoc", "bin/gemerate"]
15
- s.files = ["lib/generators/gem/templates/fresh_rakefile.erb", "lib/generators/gem/templates/gitignore.erb", "lib/generators/gem/templates/gemerated.erb", "lib/generators/gem/templates/lib/module.rb.erb", "lib/generators/gem/templates/bin/binary.erb", "lib/generators/gem/templates/test/module_test.rb.erb", "lib/generators/gem/templates/README.rdoc.erb", "lib/generators/gem.rb", "lib/gemerator.rb", "lib/generator.rb", "README.rdoc", "init.rb", "bin/gemerate", "Rakefile", "Manifest", "gemerator.gemspec"]
14
+ s.extra_rdoc_files = ["lib/gemerator.rb", "lib/gemerator/generators/gem/templates/fresh_rakefile.erb", "lib/gemerator/generators/gem/templates/gitignore.erb", "lib/gemerator/generators/gem/templates/gemerated.erb", "lib/gemerator/generators/gem/templates/lib/module.rb.erb", "lib/gemerator/generators/gem/templates/bin/binary.erb", "lib/gemerator/generators/gem/templates/test/module_test.rb.erb", "lib/gemerator/generators/gem/templates/README.rdoc.erb", "lib/gemerator/generators/gem.rb", "lib/gemerator/github.rb", "lib/gemerator/generator.rb", "README.rdoc", "bin/gemerate"]
15
+ s.files = ["lib/gemerator.rb", "lib/gemerator/generators/gem/templates/fresh_rakefile.erb", "lib/gemerator/generators/gem/templates/gitignore.erb", "lib/gemerator/generators/gem/templates/gemerated.erb", "lib/gemerator/generators/gem/templates/lib/module.rb.erb", "lib/gemerator/generators/gem/templates/bin/binary.erb", "lib/gemerator/generators/gem/templates/test/module_test.rb.erb", "lib/gemerator/generators/gem/templates/README.rdoc.erb", "lib/gemerator/generators/gem.rb", "lib/gemerator/github.rb", "lib/gemerator/generator.rb", "README.rdoc", "init.rb", "bin/gemerate", "Rakefile", "Manifest", "gemerator.gemspec"]
16
16
  s.has_rdoc = true
17
17
  s.homepage = %q{http://github.com/perplect/gemerator/tree/master}
18
18
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Gemerator", "--main", "README.rdoc"]
data/init.rb CHANGED
@@ -2,11 +2,13 @@ require 'fileutils'
2
2
  require 'highline'
3
3
  require 'erb'
4
4
  require 'activesupport'
5
+ require 'httparty'
5
6
 
6
7
  require 'gemerator'
7
- require 'generator'
8
+ require 'gemerator/generator'
9
+ require 'gemerator/github'
8
10
 
9
- Dir[File.join(File.dirname(__FILE__), 'lib', 'generators', '**', '*.rb')].each do |file|
11
+ Dir[File.join(File.dirname(__FILE__), 'lib', 'gemerator', 'generators', '**', '*.rb')].each do |file|
10
12
  require file
11
13
  end
12
14
 
@@ -1,6 +1,7 @@
1
1
  module Gemerator
2
2
  class Generator
3
3
  include FileUtils
4
+ HighLine.track_eof = false
4
5
 
5
6
  def initialize
6
7
  @highline = HighLine.new
@@ -5,9 +5,10 @@ module Gemerator
5
5
  super
6
6
  @gem_name = ARGV.first
7
7
  @gem_description = ask('Gem description?')
8
- @github_username = ask('GitHub username?')
9
- @author_name = `git config --global user.name`.chomp
10
- @author_email = `git config --global user.email`.chomp
8
+ @github_username = git_config('github.user')
9
+ @github_token = git_config('github.token')
10
+ @author_name = git_config('user.name')
11
+ @author_email = git_config('user.email')
11
12
 
12
13
  if yes? 'Create binary?'
13
14
  binary_name = ask('Name of binary? (Default is gem name)')
@@ -16,6 +17,7 @@ module Gemerator
16
17
  end
17
18
 
18
19
  def run!
20
+ create_github_repository
19
21
  create_gem_directory
20
22
  initialize_git_repository
21
23
  add_git_remote
@@ -50,6 +52,10 @@ module Gemerator
50
52
 
51
53
  private
52
54
 
55
+ def create_github_repository
56
+ GitHub.new(@github_username, @github_token).create_repository(@gem_name, @gem_description)
57
+ end
58
+
53
59
  def create_gem_directory
54
60
  create_directory @gem_name
55
61
  end
@@ -105,6 +111,10 @@ module Gemerator
105
111
  :gitignore => ['gitignore', '.gitignore']
106
112
  }
107
113
  end
114
+
115
+ def git_config(key)
116
+ `git config --global #{key}`.chomp
117
+ end
108
118
  end
109
119
  end
110
120
  end
@@ -0,0 +1,3 @@
1
+ module <%= @gem_name.camelize %>
2
+ end
3
+
@@ -1,6 +1,6 @@
1
1
  require 'test/unit'
2
2
 
3
- class <%= @gem_name.classify %>Test < Test::Unit::TestCase
3
+ class <%= @gem_name.camelize %>Test < Test::Unit::TestCase
4
4
  def test_truth
5
5
  assert true
6
6
  end
@@ -0,0 +1,15 @@
1
+ module Gemerator
2
+ class GitHub
3
+ include HTTParty
4
+ base_uri 'https://github.com/api/v2/json'
5
+
6
+ def initialize(login, token)
7
+ self.class.default_params :login => login, :token => token
8
+ end
9
+
10
+ def create_repository(name, description)
11
+ self.class.post('/repos/create', :body => {:name => name, :description => description})
12
+ end
13
+ end
14
+ end
15
+
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: perplect-gemerator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - David Knorr
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-18 00:00:00 -07:00
12
+ date: 2009-05-23 00:00:00 -07:00
13
13
  default_executable: gemerate
14
14
  dependencies: []
15
15
 
@@ -20,29 +20,31 @@ executables:
20
20
  extensions: []
21
21
 
22
22
  extra_rdoc_files:
23
- - lib/generators/gem/templates/fresh_rakefile.erb
24
- - lib/generators/gem/templates/gitignore.erb
25
- - lib/generators/gem/templates/gemerated.erb
26
- - lib/generators/gem/templates/lib/module.rb.erb
27
- - lib/generators/gem/templates/bin/binary.erb
28
- - lib/generators/gem/templates/test/module_test.rb.erb
29
- - lib/generators/gem/templates/README.rdoc.erb
30
- - lib/generators/gem.rb
31
23
  - lib/gemerator.rb
32
- - lib/generator.rb
24
+ - lib/gemerator/generators/gem/templates/fresh_rakefile.erb
25
+ - lib/gemerator/generators/gem/templates/gitignore.erb
26
+ - lib/gemerator/generators/gem/templates/gemerated.erb
27
+ - lib/gemerator/generators/gem/templates/lib/module.rb.erb
28
+ - lib/gemerator/generators/gem/templates/bin/binary.erb
29
+ - lib/gemerator/generators/gem/templates/test/module_test.rb.erb
30
+ - lib/gemerator/generators/gem/templates/README.rdoc.erb
31
+ - lib/gemerator/generators/gem.rb
32
+ - lib/gemerator/github.rb
33
+ - lib/gemerator/generator.rb
33
34
  - README.rdoc
34
35
  - bin/gemerate
35
36
  files:
36
- - lib/generators/gem/templates/fresh_rakefile.erb
37
- - lib/generators/gem/templates/gitignore.erb
38
- - lib/generators/gem/templates/gemerated.erb
39
- - lib/generators/gem/templates/lib/module.rb.erb
40
- - lib/generators/gem/templates/bin/binary.erb
41
- - lib/generators/gem/templates/test/module_test.rb.erb
42
- - lib/generators/gem/templates/README.rdoc.erb
43
- - lib/generators/gem.rb
44
37
  - lib/gemerator.rb
45
- - lib/generator.rb
38
+ - lib/gemerator/generators/gem/templates/fresh_rakefile.erb
39
+ - lib/gemerator/generators/gem/templates/gitignore.erb
40
+ - lib/gemerator/generators/gem/templates/gemerated.erb
41
+ - lib/gemerator/generators/gem/templates/lib/module.rb.erb
42
+ - lib/gemerator/generators/gem/templates/bin/binary.erb
43
+ - lib/gemerator/generators/gem/templates/test/module_test.rb.erb
44
+ - lib/gemerator/generators/gem/templates/README.rdoc.erb
45
+ - lib/gemerator/generators/gem.rb
46
+ - lib/gemerator/github.rb
47
+ - lib/gemerator/generator.rb
46
48
  - README.rdoc
47
49
  - init.rb
48
50
  - bin/gemerate
@@ -1,3 +0,0 @@
1
- module <%= @gem_name.classify %>
2
- end
3
-