git-gems 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,8 @@
1
+ install: bundle install --path ./bundle
2
+ script: bundle exec rake spec
3
+ language: ruby
4
+ rvm:
5
+ - 2.0.0
6
+ - 1.9.3
7
+ - jruby-19mode
8
+ - rbx-2
data/README.md CHANGED
@@ -1,3 +1,4 @@
1
+ [![Build Status](https://travis-ci.org/magicdrive/ruby-git-gems.svg?branch=feature%2Frspec)](https://travis-ci.org/magicdrive/ruby-git-gems)
1
2
  # Git::Gems
2
3
 
3
4
  my bundler and git wrapper. (thor based)
@@ -35,10 +36,10 @@ make a template of the repository nor a rack app without also be of gem.
35
36
 
36
37
  git gems init
37
38
 
38
- `release_tag` command:
39
+ `release` command:
39
40
  taged for release. Tag name is the default YYYYMMDDHHmm.
40
41
 
41
- git gems release_tag [--version][version_name]
42
+ git gems release [--version][version_name]
42
43
 
43
44
  `exec` command:
44
45
  The runs are passed to the bundle exec option if it does not support came over. Argument is also in accordance with the rules of the `bundle exec`.
@@ -52,7 +53,7 @@ The runs are passed to the bundle exec option if it does not support came over.
52
53
 
53
54
  ## Contributing
54
55
 
55
- 1. Fork it ( https://github.com/[my-github-username]/git-gems/fork )
56
+ 1. Fork it ( https://github.com/magicdrive/ruby-git-gems/fork )
56
57
  2. Create your feature branch (`git checkout -b my-new-feature`)
57
58
  3. Commit your changes (`git commit -am 'Add some feature'`)
58
59
  4. Push to the branch (`git push origin my-new-feature`)
data/Rakefile CHANGED
@@ -1,2 +1,20 @@
1
+ # coding: utf-8
1
2
  require "bundler/gem_tasks"
3
+ require "bundler/setup"
2
4
 
5
+ task :default => [:spec]
6
+
7
+ begin
8
+ require 'rspec/core/rake_task'
9
+ require 'rspec'
10
+ require 'rr'
11
+ RSpec::Core::RakeTask.new(:spec) do |t|
12
+ t.rspec_opts = ['-c', '-f progress', '-r ./spec/spec_helper.rb']
13
+ t.pattern = 'spec/**/*_spec.rb'
14
+ end
15
+ RSpec.configure do |config|
16
+ config.mock_with :rr
17
+ # config.mock_with RR::Adapters::Rspec
18
+ end
19
+ rescue LoadError => e
20
+ end
@@ -9,7 +9,7 @@ Gem::Specification.new do |spec|
9
9
  spec.authors = ["Hiroshi IKEGAMI"]
10
10
  spec.email = ["hiroshi.ikegami@magicdrive.jp"]
11
11
  spec.summary = %q{rubygem utililty: bundler and git wrapper}
12
- spec.description = %q{}
12
+ spec.description = %q{rubygem utililty: bundler and git wrapper}
13
13
  spec.homepage = "https://github.com/magicdrive/ruby-git-gems"
14
14
  spec.license = "MIT"
15
15
 
@@ -20,4 +20,8 @@ Gem::Specification.new do |spec|
20
20
 
21
21
  spec.add_runtime_dependency "thor", "~> 0.19.1"
22
22
  spec.add_runtime_dependency "bundler", "~> 1.6"
23
+ spec.add_development_dependency "rspec", "~> 3.0"
24
+ spec.add_development_dependency "rr", "~> 1.1.2"
25
+ spec.add_development_dependency "pry"
26
+ spec.add_development_dependency "rake"
23
27
  end
@@ -1,5 +1,5 @@
1
1
  module Git
2
2
  module Gems
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -0,0 +1,69 @@
1
+ describe Git::Gems::CLI do
2
+ context "success" do
3
+
4
+ before(:each) do
5
+ @instance = Git::Gems::CLI.new
6
+ end
7
+
8
+ describe "#install" do
9
+ it do
10
+ expect(capture(:stdout) {
11
+ @instance.invoke(:install, [], {})
12
+ }).to eq("bundle install --path=./.bundle --binstubs=./.bundle/bin \n")
13
+ end
14
+
15
+ it do
16
+ expect(capture(:stdout) {
17
+ @instance.invoke(:install, [["--test", 'fuga']], {:path => "./hoge", :binstubs => "./binhoge"})
18
+ }).to eq("bundle install --path=./hoge --binstubs=./binhoge --test fuga\n")
19
+ end
20
+ end
21
+
22
+ describe "#exec" do
23
+ it do
24
+ expect(capture(:stdout) {
25
+ @instance.invoke(:exec, ['test', ["--hoge", "bar"]], {})
26
+ }).to eq("bundle exec test --hoge bar\n")
27
+ end
28
+ end
29
+
30
+ describe "#init" do
31
+ it do
32
+ expect(capture(:stdout) {
33
+ @instance.invoke(:init, [], {})
34
+ }).to eq(<<-STRING
35
+ cp -a #{$project_path}/fixtures/Rakefile.template ./Rakefile
36
+ cp -a #{$project_path}/fixtures/Gemfile.template ./Gemfile
37
+ cp -a #{$project_path}/fixtures/README.md.template ./README.md
38
+ mkdir -p lib spec
39
+ touch lib/.keep spec/.keep
40
+ git init
41
+ STRING
42
+ )
43
+ end
44
+ end
45
+
46
+ describe "#release" do
47
+ it do
48
+ expect(capture(:stdout) {
49
+ @instance.invoke(:release, [], {})
50
+ }).to match(/git tag -a 'release-[0-9]{12}'/)
51
+ end
52
+ it do
53
+ expect(capture(:stdout) {
54
+ @instance.invoke(:release, [], {:version => 'hoge'})
55
+ }).to eq("git tag -a 'release-hoge'\n")
56
+ end
57
+ it do
58
+ expect(capture(:stdout) {
59
+ @instance.invoke(:release, [], {:version => 'fuga', :push => true})
60
+ }).to eq(<<-STRING
61
+ git tag -a 'release-fuga'
62
+ git push origin --tags
63
+ STRING
64
+ )
65
+ end
66
+ end
67
+
68
+ end
69
+ end
@@ -0,0 +1,29 @@
1
+ # spec_helper file.
2
+ require File.expand_path('../lib/git/gems', File.dirname(__FILE__))
3
+ require 'stringio'
4
+ require 'pry'
5
+
6
+ def capture(stream)
7
+ begin
8
+ stream = stream.to_s
9
+ eval "$#{stream} = StringIO.new"
10
+ yield
11
+ result = eval("$#{stream}").string
12
+ ensure
13
+ eval("$#{stream} = #{stream.upcase}")
14
+ end
15
+ return result
16
+ end
17
+
18
+
19
+ class Git::Gems::CLI
20
+ private
21
+ def exec_cmd(command)
22
+ puts command
23
+ end
24
+ end
25
+
26
+
27
+ $project_path = "#{File.expand_path("../", File.dirname(__FILE__))}"
28
+
29
+ __END__
metadata CHANGED
@@ -1,44 +1,113 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: git-gems
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
+ prerelease:
5
6
  platform: ruby
6
7
  authors:
7
8
  - Hiroshi IKEGAMI
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2014-08-30 00:00:00.000000000 Z
12
+ date: 2014-09-10 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: thor
15
16
  requirement: !ruby/object:Gem::Requirement
17
+ none: false
16
18
  requirements:
17
- - - "~>"
19
+ - - ~>
18
20
  - !ruby/object:Gem::Version
19
21
  version: 0.19.1
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
25
+ none: false
23
26
  requirements:
24
- - - "~>"
27
+ - - ~>
25
28
  - !ruby/object:Gem::Version
26
29
  version: 0.19.1
27
30
  - !ruby/object:Gem::Dependency
28
31
  name: bundler
29
32
  requirement: !ruby/object:Gem::Requirement
33
+ none: false
30
34
  requirements:
31
- - - "~>"
35
+ - - ~>
32
36
  - !ruby/object:Gem::Version
33
37
  version: '1.6'
34
38
  type: :runtime
35
39
  prerelease: false
36
40
  version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
37
42
  requirements:
38
- - - "~>"
43
+ - - ~>
39
44
  - !ruby/object:Gem::Version
40
45
  version: '1.6'
41
- description: ''
46
+ - !ruby/object:Gem::Dependency
47
+ name: rspec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: '3.0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: '3.0'
62
+ - !ruby/object:Gem::Dependency
63
+ name: rr
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
66
+ requirements:
67
+ - - ~>
68
+ - !ruby/object:Gem::Version
69
+ version: 1.1.2
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
73
+ none: false
74
+ requirements:
75
+ - - ~>
76
+ - !ruby/object:Gem::Version
77
+ version: 1.1.2
78
+ - !ruby/object:Gem::Dependency
79
+ name: pry
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
82
+ requirements:
83
+ - - ! '>='
84
+ - !ruby/object:Gem::Version
85
+ version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
89
+ none: false
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
94
+ - !ruby/object:Gem::Dependency
95
+ name: rake
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ! '>='
100
+ - !ruby/object:Gem::Version
101
+ version: '0'
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ! '>='
108
+ - !ruby/object:Gem::Version
109
+ version: '0'
110
+ description: ! 'rubygem utililty: bundler and git wrapper'
42
111
  email:
43
112
  - hiroshi.ikegami@magicdrive.jp
44
113
  executables:
@@ -46,7 +115,8 @@ executables:
46
115
  extensions: []
47
116
  extra_rdoc_files: []
48
117
  files:
49
- - ".gitignore"
118
+ - .gitignore
119
+ - .travis.yml
50
120
  - Gemfile
51
121
  - LICENSE.txt
52
122
  - README.md
@@ -59,29 +129,39 @@ files:
59
129
  - lib/git/gems.rb
60
130
  - lib/git/gems/cli.rb
61
131
  - lib/git/gems/version.rb
132
+ - spec/lib/git/gems/cli_spec.rb
133
+ - spec/spec_helper.rb
62
134
  homepage: https://github.com/magicdrive/ruby-git-gems
63
135
  licenses:
64
136
  - MIT
65
- metadata: {}
66
137
  post_install_message:
67
138
  rdoc_options: []
68
139
  require_paths:
69
140
  - lib
70
141
  required_ruby_version: !ruby/object:Gem::Requirement
142
+ none: false
71
143
  requirements:
72
- - - ">="
144
+ - - ! '>='
73
145
  - !ruby/object:Gem::Version
74
146
  version: '0'
147
+ segments:
148
+ - 0
149
+ hash: -4172901293457813149
75
150
  required_rubygems_version: !ruby/object:Gem::Requirement
151
+ none: false
76
152
  requirements:
77
- - - ">="
153
+ - - ! '>='
78
154
  - !ruby/object:Gem::Version
79
155
  version: '0'
156
+ segments:
157
+ - 0
158
+ hash: -4172901293457813149
80
159
  requirements: []
81
160
  rubyforge_project:
82
- rubygems_version: 2.2.2
161
+ rubygems_version: 1.8.23.2
83
162
  signing_key:
84
- specification_version: 4
85
- summary: 'rubygem utililty: bundler and git wrapper'
86
- test_files: []
87
- has_rdoc:
163
+ specification_version: 3
164
+ summary: ! 'rubygem utililty: bundler and git wrapper'
165
+ test_files:
166
+ - spec/lib/git/gems/cli_spec.rb
167
+ - spec/spec_helper.rb
checksums.yaml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- SHA1:
3
- metadata.gz: b78f169778098dd843eba2f5f3527b3f7eac4b12
4
- data.tar.gz: bd95c9845c9bd911ef548d6fbd253fad71edc2e4
5
- SHA512:
6
- metadata.gz: 116e5037b2c78b4b02c7c36950b84eb9c328f936605234046cde20477322c5aac7987be9716e83c0c7cbd864f11b84c71ef781f54e21b8be03d471141c66e842
7
- data.tar.gz: 12fe8db8dad7612e729479d07c7c2edfce0eb8c1f56ae609b423eaef92e5d79e18aad860d9a41ed7293bd5046048a1c7dbfd80d2f8d8cc3bccfb877641c6e8e9