ggem 1.2.1 → 1.3.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.
data/.gitignore CHANGED
@@ -1,6 +1,20 @@
1
- pkg/*
2
- .bundle
3
1
  *.gem
4
2
  *.log
3
+ *.rbc
4
+ .bundle
5
+ .config
6
+ .yardoc
5
7
  .rvmrc
6
8
  .rbenv-version
9
+ Gemfile.lock
10
+ InstalledFiles
11
+ _yardoc
12
+ coverage
13
+ doc/
14
+ lib/bundler/man
15
+ pkg
16
+ rdoc
17
+ spec/reports
18
+ test/tmp
19
+ test/version_tmp
20
+ tmp
data/Gemfile CHANGED
@@ -1,6 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in ggem.gemspec
4
3
  gemspec
5
4
 
6
5
  gem 'bundler', '~>1.1'
data/README.md CHANGED
@@ -1,16 +1,16 @@
1
1
  # GGem
2
2
 
3
- Quickly, easily, consistantly generate a ruby gem project ready to build, test, and deploy. Uses and emulates Bundler's gem building features.
3
+ Quickly, easily, consistantly generate a ruby gem project ready to build, test, and deploy. Uses and emulates most of Bundler's gem building features.
4
4
 
5
5
  ## Installation
6
6
 
7
- ```bash
7
+ ```
8
8
  $ gem install ggem
9
9
  ```
10
10
 
11
11
  ## Usage
12
12
 
13
- ```bash
13
+ ```
14
14
  $ ggem my-gem
15
15
  ```
16
16
 
@@ -29,14 +29,6 @@ Your new gem provides some Rake tasks for convenience:
29
29
 
30
30
  That's it. Enjoy.
31
31
 
32
- ## Acceptance Testing
33
-
34
- ```bash
35
- # clone this repo
36
- $ bundle install
37
- $ rake test
38
- ```
39
-
40
32
  ## Contributing
41
33
 
42
34
  1. Fork it
@@ -44,8 +36,3 @@ $ rake test
44
36
  3. Commit your changes (`git commit -am 'Added some feature'`)
45
37
  4. Push to the branch (`git push origin my-new-feature`)
46
38
  5. Create new Pull Request
47
-
48
- ## Credit
49
-
50
- This gem came about from work I did on a fork of Patrick Reagan's (https://github.com/reagent) simple-gem. The original source can be found here: https://github.com/kellyredding/simple-gem.
51
-
data/Rakefile CHANGED
@@ -1,7 +1,8 @@
1
+ #!/usr/bin/env rake
2
+
1
3
  require 'assert/rake_tasks'
2
- Assert::RakeTasks.for(:test)
4
+ Assert::RakeTasks.install
3
5
 
4
- require 'bundler'
5
- Bundler::GemHelper.install_tasks
6
+ require 'bundler/gem_tasks'
6
7
 
7
8
  task :default => :build
@@ -1,24 +1,21 @@
1
1
  # -*- encoding: utf-8 -*-
2
- $:.push File.expand_path("../lib", __FILE__)
3
- require "ggem/version"
2
+ require File.expand_path('../lib/ggem/version', __FILE__)
4
3
 
5
- Gem::Specification.new do |s|
6
- s.name = "ggem"
7
- s.version = GGem::VERSION
8
- s.platform = Gem::Platform::RUBY
9
- s.authors = ["Kelly Redding"]
10
- s.email = ["kelly@kelredd.com"]
11
- s.homepage = "http://github.com/kelredd/ggem"
12
- s.summary = %q{"Juh Gem", baby! (this makes gems)}
13
- s.description = %q{Quickly, easily, consistantly generate a ruby gem project ready to build, test, and deploy. Uses Bundler's gem building features.}
4
+ Gem::Specification.new do |gem|
5
+ gem.name = "ggem"
6
+ gem.version = GGem::VERSION
7
+ gem.summary = %q{"Juh Gem", baby! (this makes gems)}
8
+ gem.description = %q{"Juh Gem", baby! (this makes gems)}
14
9
 
15
- s.files = `git ls-files`.split("\n")
16
- s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
17
- s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
18
- s.require_paths = ["lib"]
10
+ gem.authors = ["Kelly Redding"]
11
+ gem.email = ["kelly@kellyredding.com"]
12
+ gem.homepage = "http://github.com/kellyredding/ggem"
19
13
 
20
- s.add_development_dependency("assert")
21
-
22
- s.add_dependency("quickl")
14
+ gem.files = `git ls-files`.split("\n")
15
+ gem.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
16
+ gem.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
17
+ gem.require_paths = ["lib"]
23
18
 
19
+ gem.add_development_dependency("assert")
20
+ gem.add_dependency("quickl")
24
21
  end
@@ -24,15 +24,11 @@ module GGem
24
24
  end
25
25
 
26
26
  def module_name
27
- @module_name ||= transform_name({
28
- '_' => '',
29
- '-' => '::'
30
- }) {|part| part.capitalize }
27
+ @module_name ||= transform_name('_' => '', '-' => '') {|part| part.capitalize }
31
28
  end
29
+
32
30
  def ruby_name
33
- @ruby_name ||= transform_name({
34
- '-' => '/'
35
- }) {|part| part.downcase }
31
+ @ruby_name ||= transform_name{|part| part.downcase }
36
32
  end
37
33
 
38
34
  def save
@@ -44,7 +40,7 @@ module GGem
44
40
 
45
41
  private
46
42
 
47
- def transform_name(conditions, &block)
43
+ def transform_name(conditions={}, &block)
48
44
  n = (block ? block.call(self.name) : self.name)
49
45
  conditions.each do |on, glue|
50
46
  if (a = n.split(on)).size > 1
@@ -25,7 +25,6 @@ module GGem
25
25
 
26
26
  save_file('test_irb.rb.erb', 'test/irb.rb')
27
27
  save_file('test_helper.rb.erb', 'test/helper.rb')
28
- save_file('test.rb.erb', "test/#{@gem.ruby_name}_test.rb")
29
28
  end
30
29
 
31
30
  def init
@@ -1,6 +1,5 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- # Specify your gem's dependencies in <%= @gem.name %>.gemspec
4
3
  gemspec
5
4
 
6
5
  gem 'bundler', '~>1.1'
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env rake
2
2
 
3
3
  require 'assert/rake_tasks'
4
- Assert::RakeTasks.for(:test)
4
+ Assert::RakeTasks.install
5
5
 
6
6
  require 'bundler/gem_tasks'
7
7
 
@@ -17,6 +17,5 @@ Gem::Specification.new do |gem|
17
17
  gem.require_paths = ["lib"]
18
18
 
19
19
  gem.add_development_dependency("assert")
20
-
21
20
  # gem.add_dependency("gem-name", ["~> 0.0"])
22
21
  end
@@ -1,3 +1,3 @@
1
1
  module GGem
2
- VERSION = "1.2.1"
2
+ VERSION = "1.3.0"
3
3
  end
@@ -4,11 +4,11 @@ require "name_set"
4
4
  require "ggem/gem"
5
5
 
6
6
  module GGem
7
- class GGemTest < Assert::Context
7
+ class GGemTests < Assert::Context
8
8
  desc "GGem::Gem"
9
9
  end
10
10
 
11
- class RootPathTest < GGemTest
11
+ class RootPathTests < GGemTests
12
12
  before { @gem = Gem.new(TMP_PATH, 'a-gem') }
13
13
 
14
14
  should "know its root path" do
@@ -20,7 +20,7 @@ module GGem
20
20
  end
21
21
  end
22
22
 
23
- class NameTest < GGemTest
23
+ class NameTests < GGemTests
24
24
  [ GGem::NameSet::Simple,
25
25
  GGem::NameSet::Underscored,
26
26
  GGem::NameSet::HyphenatedOther
@@ -29,7 +29,7 @@ module GGem
29
29
  end
30
30
  end
31
31
 
32
- class SaveTest < GGemTest
32
+ class SaveTests < GGemTests
33
33
  NS_SIMPLE = GGem::NameSet::Simple.new
34
34
  NS_UNDER = GGem::NameSet::Underscored.new
35
35
  NS_HYPHEN = GGem::NameSet::HyphenatedOther.new
@@ -45,17 +45,9 @@ module GGem
45
45
  FileUtils.rm_rf(TMP_PATH)
46
46
  end
47
47
 
48
- should create_paths((NS_SIMPLE.expected_folders + NS_SIMPLE.expected_files).collect do |p|
49
- File.join(TMP_PATH, NS_SIMPLE.name, p)
50
- end)
51
-
52
- should create_paths((NS_UNDER.expected_folders + NS_UNDER.expected_files).collect do |p|
53
- File.join(TMP_PATH, NS_UNDER.name, p)
54
- end)
55
-
56
- should create_paths((NS_HYPHEN.expected_folders + NS_HYPHEN.expected_files).collect do |p|
57
- File.join(TMP_PATH, NS_HYPHEN.name, p)
58
- end)
48
+ should create_paths(NS_SIMPLE)
49
+ should create_paths(NS_UNDER)
50
+ should create_paths(NS_HYPHEN)
59
51
 
60
52
  should "init a git repo in the gem path" do
61
53
  assert File.exists?(File.join(TMP_PATH, NS_SIMPLE.name, '.git')), ".git repo config doesn't exist"
@@ -8,8 +8,14 @@ class Assert::Context
8
8
 
9
9
  TMP_PATH = File.expand_path("#{File.dirname(__FILE__)}/../tmp")
10
10
 
11
- def self.create_paths(*paths)
11
+
12
+
13
+ def self.create_paths(name_set)
12
14
  called_from = caller.first
15
+ folders = name_set.expected_folders
16
+ files = name_set.expected_files
17
+
18
+ paths = (folders + files).collect{|p| File.join(TMP_PATH, name_set.name, p)}
13
19
  macro_name = "create the paths: #{paths.join(', ')}"
14
20
 
15
21
  Assert::Macro.new(macro_name) do
@@ -26,7 +26,6 @@ module GGem
26
26
 
27
27
  "test/helper.rb",
28
28
  "test/irb.rb",
29
- "test/#{@ruby_name}_test.rb"
30
29
  ]
31
30
  end
32
31
  end
@@ -56,8 +55,8 @@ module GGem
56
55
  def initialize
57
56
  @variations = ['my-gem']
58
57
  @name = 'my-gem'
59
- @module_name = 'My::Gem'
60
- @ruby_name = 'my/gem'
58
+ @module_name = 'MyGem'
59
+ @ruby_name = 'my-gem'
61
60
  end
62
61
  end
63
62
 
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ggem
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
4
+ hash: 27
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
- - 2
9
- - 1
10
- version: 1.2.1
8
+ - 3
9
+ - 0
10
+ version: 1.3.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Kelly Redding
@@ -15,11 +15,11 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2012-03-20 00:00:00 Z
18
+ date: 2012-10-15 00:00:00 Z
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
21
- type: :development
22
- requirement: &id001 !ruby/object:Gem::Requirement
21
+ name: assert
22
+ version_requirements: &id001 !ruby/object:Gem::Requirement
23
23
  none: false
24
24
  requirements:
25
25
  - - ">="
@@ -28,12 +28,12 @@ dependencies:
28
28
  segments:
29
29
  - 0
30
30
  version: "0"
31
- name: assert
32
- version_requirements: *id001
31
+ type: :development
32
+ requirement: *id001
33
33
  prerelease: false
34
34
  - !ruby/object:Gem::Dependency
35
- type: :runtime
36
- requirement: &id002 !ruby/object:Gem::Requirement
35
+ name: quickl
36
+ version_requirements: &id002 !ruby/object:Gem::Requirement
37
37
  none: false
38
38
  requirements:
39
39
  - - ">="
@@ -42,12 +42,12 @@ dependencies:
42
42
  segments:
43
43
  - 0
44
44
  version: "0"
45
- name: quickl
46
- version_requirements: *id002
45
+ type: :runtime
46
+ requirement: *id002
47
47
  prerelease: false
48
- description: Quickly, easily, consistantly generate a ruby gem project ready to build, test, and deploy. Uses Bundler's gem building features.
48
+ description: "\"Juh Gem\", baby! (this makes gems)"
49
49
  email:
50
- - kelly@kelredd.com
50
+ - kelly@kellyredding.com
51
51
  executables:
52
52
  - ggem
53
53
  extensions: []
@@ -57,7 +57,6 @@ extra_rdoc_files: []
57
57
  files:
58
58
  - .gitignore
59
59
  - Gemfile
60
- - Gemfile.lock
61
60
  - LICENSE
62
61
  - README.md
63
62
  - Rakefile
@@ -75,15 +74,14 @@ files:
75
74
  - lib/ggem/template_file/gitignore.erb
76
75
  - lib/ggem/template_file/lib.rb.erb
77
76
  - lib/ggem/template_file/lib_version.rb.erb
78
- - lib/ggem/template_file/test.rb.erb
79
77
  - lib/ggem/template_file/test_helper.rb.erb
80
78
  - lib/ggem/template_file/test_irb.rb.erb
81
79
  - lib/ggem/version.rb
82
- - test/gem_test.rb
80
+ - test/gem_tests.rb
83
81
  - test/helper.rb
84
82
  - test/irb.rb
85
83
  - test/name_set.rb
86
- homepage: http://github.com/kelredd/ggem
84
+ homepage: http://github.com/kellyredding/ggem
87
85
  licenses: []
88
86
 
89
87
  post_install_message:
@@ -112,12 +110,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
112
110
  requirements: []
113
111
 
114
112
  rubyforge_project:
115
- rubygems_version: 1.8.11
113
+ rubygems_version: 1.8.24
116
114
  signing_key:
117
115
  specification_version: 3
118
116
  summary: "\"Juh Gem\", baby! (this makes gems)"
119
117
  test_files:
120
- - test/gem_test.rb
118
+ - test/gem_tests.rb
121
119
  - test/helper.rb
122
120
  - test/irb.rb
123
121
  - test/name_set.rb
@@ -1,27 +0,0 @@
1
- PATH
2
- remote: .
3
- specs:
4
- ggem (1.2.1)
5
- quickl
6
-
7
- GEM
8
- remote: http://rubygems.org/
9
- specs:
10
- ansi (1.4.2)
11
- assert (0.7.3)
12
- assert-view (~> 0.5)
13
- assert-view (0.5.0)
14
- ansi (~> 1.3)
15
- undies (~> 2.0)
16
- quickl (0.4.2)
17
- rake (0.9.2.2)
18
- undies (2.2.1)
19
-
20
- PLATFORMS
21
- ruby
22
-
23
- DEPENDENCIES
24
- assert
25
- bundler (~> 1.1)
26
- ggem!
27
- rake (~> 0.9.2)
@@ -1,9 +0,0 @@
1
- require "assert"
2
-
3
- class <%= @gem.module_name %>Test < Assert::Context
4
- desc "<%= @gem.module_name %>"
5
-
6
- should "flunk" do
7
- flunk "Please provide some tests"
8
- end
9
- end