cory-rubyflashbake 0.1.4 → 0.1.5

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/VERSION.yml ADDED
@@ -0,0 +1,4 @@
1
+ ---
2
+ :major: 0
3
+ :minor: 1
4
+ :patch: 5
@@ -46,11 +46,11 @@ class RubyFlashbake
46
46
  else
47
47
  if (@configuration[:GIT][:NAME] && @configuration[:GIT][:EMAIL])
48
48
  Dir.chdir("#{dir}") do
49
- puts `git init`
50
- puts `git config user.name "#{@configuration[:GIT][:NAME]}"`
51
- puts `git config user.email #{@configuration[:GIT][:EMAIL]}`
49
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} init")
50
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} config user.name \"#{@configuration[:GIT][:NAME]}\"")
51
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} config user.email \"#{@configuration[:GIT][:EMAIL]}\"")
52
52
  File.open(".gitignore", "w") do |file|
53
- file.puts ".DS_Store\ncoverage/\n.message.tmp\n"
53
+ file.puts ".DS_Store\n.message.tmp\n"
54
54
  end
55
55
  puts "Initialized git in #{dir}"
56
56
  @configuration[:GIT_SETUP] = true
@@ -71,13 +71,15 @@ class RubyFlashbake
71
71
  exit 1
72
72
  end
73
73
  unless @configuration[:GITHUB_SETUP] == true
74
- contents = File.read("#{dir}/.git/config")
74
+ if File.exists?("#{dir}/.git/config")
75
+ contents = File.read("#{dir}/.git/config")
76
+ end
75
77
  if contents =~ /\[remote \"origin\"\]/
76
78
  @configuration[:GITHUB_SETUP] = true
77
79
  else
78
80
  Dir.chdir("#{dir}") do
79
81
  if !@configuration[:GITHUB_SETUP] && @configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] && @configuration[:GIT][:GITHUB_DATA][:GITHUB_ID] && @configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY]
80
- puts `git remote add origin #{configuration[:GIT][:GITHUB_DATA][:GITHUB_URI]}:#{@configuration[:GIT][:GITHUB_DATA][:GITHUB_ID]}/#{@configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY]}.git`
82
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} remote add origin #{configuration[:GIT][:GITHUB_DATA][:GITHUB_URI]}:#{@configuration[:GIT][:GITHUB_DATA][:GITHUB_ID]}/#{@configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY]}.git")
81
83
  puts "Initialized github in #{dir}"
82
84
  @configuration[:GITHUB_SETUP] = true
83
85
  else
@@ -88,7 +90,7 @@ class RubyFlashbake
88
90
  end
89
91
  end
90
92
  Dir.chdir("#{dir}") do
91
- puts `git pull origin master`
93
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} pull origin master")
92
94
  end
93
95
  return true
94
96
  end
@@ -97,11 +99,11 @@ class RubyFlashbake
97
99
  if @configuration[:GIT_SETUP] == true
98
100
  Dir.chdir("#{dir}") do
99
101
  File.open(".message.tmp", "w") {|file| file.puts message}
100
- puts `git add .`
101
- puts `git commit -a --file=.message.tmp`
102
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} add .")
103
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} commit -a --file=.message.tmp")
102
104
  File.delete(".message.tmp")
103
105
  if @configuration[:INTERNET_ALIVE] && @configuration[:GIT][:USE_GITHUB] && @configuration[:GITHUB_SETUP]
104
- puts `git push origin master`
106
+ system("git --git-dir=#{Dir.pwd}/.git --work-tree=#{Dir.pwd} push origin master")
105
107
  end
106
108
  end
107
109
  end
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # options
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -34,11 +33,17 @@ class RubyFlashbakeOptions
34
33
  exit
35
34
  end
36
35
 
37
- opts.on("-h", "--help", "You're looking at it. Functionality documented in config file and on first run.") do
38
- puts opts
36
+ opts.on("-v", "--version", "Dump version number") do
37
+ yml = YAML.load(File.read(File.join(File.dirname(__FILE__), *%w[.. .. VERSION.yml])))
38
+ puts "rubyflashbake #{yml[:major]}.#{yml[:minor]}.#{yml[:patch]}"
39
39
  exit
40
40
  end
41
41
 
42
+ opts.on("-h", "--help", "You're looking at it. Use --example to dump the config file.") do
43
+ puts opts
44
+ exit
45
+ end
46
+
42
47
  begin
43
48
  opts.parse!(argv)
44
49
  rescue OptionParser::ParseError => e
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # time plug in
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # time plug in
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # time plug in
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # time plug in
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # time plug in
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
data/spec/rspec_suite.rb CHANGED
@@ -1,6 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- # spec-suite
4
3
  # Copyright (c) 2009 Cory Ondrejka. All rights reserved.
5
4
  # See License.txt for licensing details.
6
5
 
@@ -6,17 +6,19 @@
6
6
  require "#{File.dirname(__FILE__)}/../../lib/rubyflashbake/core"
7
7
 
8
8
  describe RubyFlashbake do
9
+ before :all do
10
+ @testdirectory = "#{File.dirname(__FILE__)}/testdata/testdir"
11
+ end
12
+
9
13
  before :each do
10
14
  @stdout_orig = $stdout
11
15
  $stdout = StringIO.new
12
- FileUtils.rm_rf("#{File.dirname(__FILE__)}/.git")
13
- FileUtils.rm_rf("#{File.dirname(__FILE__)}/testdata/testdir/.git")
16
+ FileUtils.rm_rf("#{@testdirectory}/.git")
14
17
  end
15
18
 
16
19
  after :each do
17
20
  $stdout = @stdout_orig
18
- FileUtils.rm_rf("#{File.dirname(__FILE__)}/.git")
19
- FileUtils.rm_rf("#{File.dirname(__FILE__)}/testdata/testdir/.git")
21
+ FileUtils.rm_rf("#{@testdirectory}/.git")
20
22
  end
21
23
 
22
24
  it "should print error message and exit if config file isn't found" do
@@ -47,7 +49,7 @@ describe RubyFlashbake do
47
49
  it "should exit if you try to examine git config without loading config file" do
48
50
  begin
49
51
  rfb = RubyFlashbake.new
50
- rfb.configure_git("#{File.dirname(__FILE__)}")
52
+ rfb.configure_git("#{@testdirectory}")
51
53
  rescue SystemExit => e
52
54
  $stdout.string.should == "Configuration not loaded before trying to work with it\nPlease make sure code path loads configuration before trying to load plugins.\n"
53
55
  e.status.should == 1
@@ -58,7 +60,7 @@ describe RubyFlashbake do
58
60
  begin
59
61
  rfb = RubyFlashbake.new
60
62
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
61
- rfb.configure_git("#{File.dirname(__FILE__)}").should == false
63
+ rfb.configure_git("#{@testdirectory}").should == false
62
64
  rescue SystemExit => e
63
65
  $stdout.string.should == "Can't configure git without git :NAME and :EMAIL configured in config file.\n"
64
66
  e.status.should == 1
@@ -70,8 +72,8 @@ describe RubyFlashbake do
70
72
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
71
73
  rfb.configuration[:GIT][:NAME] = "Test Monkey"
72
74
  rfb.configuration[:GIT][:EMAIL] = "mokey@fake.fake"
73
- rfb.configure_git("#{File.dirname(__FILE__)}").should == true
74
- $stdout.string.scan("Initialized empty Git repository").should_not == []
75
+ rfb.configure_git("#{@testdirectory}").should == true
76
+ $stdout.string.scan("Initialized git").should_not == []
75
77
  end
76
78
 
77
79
  it "should be able to call configure_git multiple times once git is setup" do
@@ -80,8 +82,8 @@ describe RubyFlashbake do
80
82
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
81
83
  rfb.configuration[:GIT][:NAME] = "Test Monkey"
82
84
  rfb.configuration[:GIT][:EMAIL] = "mokey@fake.fake"
83
- rfb.configure_git("#{File.dirname(__FILE__)}").should == true
84
- rfb.configure_git("#{File.dirname(__FILE__)}").should == true
85
+ rfb.configure_git("#{@testdirectory}").should == true
86
+ rfb.configure_git("#{@testdirectory}").should == true
85
87
  end
86
88
  end
87
89
 
@@ -91,9 +93,9 @@ describe RubyFlashbake do
91
93
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
92
94
  rfb.configuration[:GIT][:NAME] = "Test Monkey"
93
95
  rfb.configuration[:GIT][:EMAIL] = "mokey@fake.fake"
94
- Dir.mkdir("#{File.dirname(__FILE__)}/.git")
95
- File.open("#{File.dirname(__FILE__)}/.git/config", "w") {|file| file.puts "foo!"}
96
- rfb.configure_git("#{File.dirname(__FILE__)}").should == true
96
+ Dir.mkdir("#{@testdirectory}/.git")
97
+ File.open("#{@testdirectory}/.git/config", "w") {|file| file.puts "foo!"}
98
+ rfb.configure_git("#{@testdirectory}").should == true
97
99
  end
98
100
  end
99
101
 
@@ -103,10 +105,10 @@ describe RubyFlashbake do
103
105
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
104
106
  rfb.configuration[:GIT][:NAME] = "Test Monkey"
105
107
  rfb.configuration[:GIT][:EMAIL] = "mokey@fake.fake"
106
- rfb.configure_git("#{File.dirname(__FILE__)}")
107
- rfb.configure_github("#{File.dirname(__FILE__)}")
108
+ rfb.configure_git("#{@testdirectory}")
109
+ rfb.configure_github("#{@testdirectory}")
108
110
  rescue SystemExit => e
109
- $stdout.string.should == "Initialized empty Git repository in /Users/cory/opensource/rubyflashbake/spec/rubyflashbake/.git/\n\n\nInitialized git in ./spec/rubyflashbake\nCan't configure github without :GITHUB_URI, :GITHUB_ID, and :GITHUB_REPOSITORY configured in config file.\n"
111
+ $stdout.string.should == "Initialized git in ./spec/rubyflashbake/testdata/testdir\nCan't configure github without :GITHUB_URI, :GITHUB_ID, and :GITHUB_REPOSITORY configured in config file.\n"
110
112
  e.status.should == 1
111
113
  end
112
114
  end
@@ -121,8 +123,8 @@ describe RubyFlashbake do
121
123
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_ID] = "fake"
122
124
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY] = "fake"
123
125
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] = "git@github.com"
124
- rfb.configure_git("#{File.dirname(__FILE__)}")
125
- rfb.configure_github("#{File.dirname(__FILE__)}").should == true
126
+ rfb.configure_git("#{@testdirectory}")
127
+ rfb.configure_github("#{@testdirectory}").should == true
126
128
  end
127
129
  end
128
130
 
@@ -136,7 +138,7 @@ describe RubyFlashbake do
136
138
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_ID] = "fake"
137
139
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY] = "fake"
138
140
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] = "git@github.com"
139
- rfb.configure_github("#{File.dirname(__FILE__)}")
141
+ rfb.configure_github("#{@testdirectory}")
140
142
  rescue SystemExit => e
141
143
  $stdout.string.should == "Trying to configure github without previous call to config_git.\n"
142
144
  end
@@ -148,9 +150,9 @@ describe RubyFlashbake do
148
150
  rfb.load_file("#{File.dirname(__FILE__)}/../../lib/data/.rubyflashbake_example")
149
151
  rfb.configuration[:GIT][:NAME] = "Test Monkey"
150
152
  rfb.configuration[:GIT][:EMAIL] = "mokey@fake.fake"
151
- Dir.mkdir("#{File.dirname(__FILE__)}/.git")
152
- File.open("#{File.dirname(__FILE__)}/.git/config", "w") {|file| file.puts "[remote origin]"}
153
- rfb.configure_git("#{File.dirname(__FILE__)}").should == true
153
+ Dir.mkdir("#{@testdirectory}/.git")
154
+ File.open("#{@testdirectory}/.git/config", "w") {|file| file.puts "[remote origin]"}
155
+ rfb.configure_git("#{@testdirectory}").should == true
154
156
  end
155
157
  end
156
158
 
@@ -164,9 +166,9 @@ describe RubyFlashbake do
164
166
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_ID] = "fake"
165
167
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_REPOSITORY] = "fake"
166
168
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] = "git@github.com"
167
- rfb.configure_git("#{File.dirname(__FILE__)}")
168
- rfb.configure_github("#{File.dirname(__FILE__)}").should == true
169
- rfb.configure_github("#{File.dirname(__FILE__)}").should == true
169
+ rfb.configure_git("#{@testdirectory}")
170
+ rfb.configure_github("#{@testdirectory}").should == true
171
+ rfb.configure_github("#{@testdirectory}").should == true
170
172
  end
171
173
  end
172
174
 
@@ -208,11 +210,11 @@ describe RubyFlashbake do
208
210
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] = "git@github.com"
209
211
  rfb.configuration[:DIRECTORY_MONITOR_INTERVAL] = 1
210
212
  rfb.configuration[:STABLE_INTERVALS] = 1
211
- rfb.configure_git("#{File.dirname(__FILE__)}/testdata/testdir/")
212
- rfb.configure_github("#{File.dirname(__FILE__)}/testdata/testdir/")
213
+ rfb.configure_git("#{@testdirectory}")
214
+ rfb.configure_github("#{@testdirectory}")
213
215
  rfb.load_plugins
214
216
  output = ""
215
- rfb.setup_directory_watchers("#{File.dirname(__FILE__)}/testdata/testdir/") do |events, basedir, func|
217
+ rfb.setup_directory_watchers("#{@testdirectory}") do |events, basedir, func|
216
218
  events.each do |event|
217
219
  if event.type == :stable
218
220
  output += "#{basedir} #{event}\n#{func}"
@@ -220,13 +222,13 @@ describe RubyFlashbake do
220
222
  end
221
223
  end
222
224
  rfb.start_directory_watchers
223
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp.txt", "w") {|file| file.puts "foo!"}
224
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp2.txt", "w") {|file| file.puts "foo!"}
225
+ File.open("#{@testdirectory}/temp.txt", "w") {|file| file.puts "foo!"}
226
+ File.open("#{@testdirectory}/temp2.txt", "w") {|file| file.puts "foo!"}
225
227
  sleep(10)
226
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp3.txt", "w") {|file| file.puts "foo!"}
227
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp3.txt")
228
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp2.txt")
229
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp.txt")
228
+ File.open("#{@testdirectory}/temp3.txt", "w") {|file| file.puts "foo!"}
229
+ File.delete("#{@testdirectory}/temp3.txt")
230
+ File.delete("#{@testdirectory}/temp2.txt")
231
+ File.delete("#{@testdirectory}/temp.txt")
230
232
 
231
233
  output.scan(/temp\.txt/).should_not == []
232
234
  output.scan(/temp2\.txt/).should_not == []
@@ -246,19 +248,19 @@ describe RubyFlashbake do
246
248
  rfb.configuration[:GIT][:GITHUB_DATA][:GITHUB_URI] = "git@github.com"
247
249
  rfb.configuration[:DIRECTORY_MONITOR_INTERVAL] = 1
248
250
  rfb.configuration[:STABLE_INTERVALS] = 1
249
- rfb.configure_git("#{File.dirname(__FILE__)}/testdata/testdir/")
250
- rfb.configure_github("#{File.dirname(__FILE__)}/testdata/testdir/")
251
+ rfb.configure_git("#{@testdirectory}")
252
+ rfb.configure_github("#{@testdirectory}")
251
253
  rfb.load_plugins
252
254
 
253
- rfb.setup_watch_commits("#{File.dirname(__FILE__)}/testdata/testdir")
255
+ rfb.setup_watch_commits("#{@testdirectory}")
254
256
 
255
257
  rfb.start_directory_watchers
256
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp.txt", "w") {|file| file.puts "foo!"}
257
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp2.txt", "w") {|file| file.puts "foo!"}
258
+ File.open("#{@testdirectory}/temp.txt", "w") {|file| file.puts "foo!"}
259
+ File.open("#{@testdirectory}/temp2.txt", "w") {|file| file.puts "foo!"}
258
260
  sleep(10)
259
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp3.txt", "w") {|file| file.puts "foo!"}
260
- File.open("#{File.dirname(__FILE__)}/testdata/testdir/temp3.txt", "a") {|file| file.puts "bar!"}
261
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp2.txt")
261
+ File.open("#{@testdirectory}/temp3.txt", "w") {|file| file.puts "foo!"}
262
+ File.open("#{@testdirectory}/temp3.txt", "a") {|file| file.puts "bar!"}
263
+ File.delete("#{@testdirectory}/temp2.txt")
262
264
  sleep(10)
263
265
 
264
266
  rfb.stop_directory_watchers
@@ -266,13 +268,13 @@ describe RubyFlashbake do
266
268
  status = ""
267
269
  log = ""
268
270
 
269
- Dir.chdir("#{File.dirname(__FILE__)}/testdata/testdir/") do
271
+ Dir.chdir("#{@testdirectory}") do
270
272
  status = `git status`
271
273
  log = `git log`
272
274
  end
273
275
 
274
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp3.txt")
275
- File.delete("#{File.dirname(__FILE__)}/testdata/testdir/temp.txt")
276
+ File.delete("#{@testdirectory}/temp3.txt")
277
+ File.delete("#{@testdirectory}/temp.txt")
276
278
 
277
279
  status.should == "# On branch master\nnothing to commit (working directory clean)\n"
278
280
  log.scan(/commit/).length.should == 2
@@ -10,7 +10,8 @@ RubyFlashbakeOptionHelp = <<-EOF
10
10
  Usage: rubyflashbake [ options ]
11
11
  -c, --config [file] Use config file [file]
12
12
  -e, --example Dump an example, annotated config file to stdout and exit
13
- -h, --help You're looking at it. Functionality documented in config file and on first run.
13
+ -v, --version Dump version number
14
+ -h, --help You're looking at it. Use --example to dump the config file.
14
15
  EOF
15
16
 
16
17
  describe RubyFlashbakeOptions do
@@ -43,6 +44,24 @@ describe RubyFlashbakeOptions do
43
44
  RubyFlashbakeOptions.new(["--config", "foo"]).test([:config_file => "foo"]).should == true
44
45
  end
45
46
 
47
+ it "should dump version and exit if -v option given" do
48
+ begin
49
+ RubyFlashbakeOptions.new(["-v"])
50
+ rescue SystemExit => e
51
+ $stdout.string.scan(/\d+\.\d+\.\d+/).should_not == []
52
+ e.status.should == 0
53
+ end
54
+ end
55
+
56
+ it "should dump version and exit if -v option given" do
57
+ begin
58
+ RubyFlashbakeOptions.new(["--version"])
59
+ rescue SystemExit => e
60
+ $stdout.string.scan(/\d+\.\d+\.\d+/).should_not == []
61
+ e.status.should == 0
62
+ end
63
+ end
64
+
46
65
  it "should print out help when -h is requested or not input" do
47
66
  begin
48
67
  RubyFlashbakeOptions.new(["-h"])
@@ -1,3 +1,2 @@
1
1
  .DS_Store
2
- coverage/
3
2
  .message.tmp
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cory-rubyflashbake
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Cory Ondrejka
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-04-08 00:00:00 -07:00
12
+ date: 2009-05-16 00:00:00 -07:00
13
13
  default_executable: rubyflashbake
14
14
  dependencies: []
15
15
 
@@ -34,6 +34,7 @@ files:
34
34
  - License.txt
35
35
  - README.rdoc
36
36
  - README.textile
37
+ - VERSION.yml
37
38
  - spec/rspec_suite.rb
38
39
  - spec/rubyflashbake/core_spec.rb
39
40
  - spec/rubyflashbake/options_spec.rb