ginatra 2.0.1 → 2.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/Rakefile CHANGED
@@ -78,6 +78,7 @@ begin
78
78
  gemspec.add_dependency('sinatra', '>=0.9.4')
79
79
  gemspec.add_dependency('grit', '>=1.1.1')
80
80
  gemspec.add_dependency('coderay', '>=0.8.0')
81
+ gemspec.files.include 'vendor/**/*'
81
82
  end
82
83
  rescue LoadError
83
84
  puts "Jeweler not available. Install it with: sudo gem install jeweler"
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.0.1
1
+ 2.0.2
@@ -5,11 +5,11 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ginatra}
8
- s.version = "2.0.1"
8
+ s.version = "2.0.2"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Sam Elliott", "Ryan Bigg"]
12
- s.date = %q{2009-08-25}
12
+ s.date = %q{2009-08-26}
13
13
  s.description = %q{Host your own git repository browser through the power of Sinatra and Grit}
14
14
  s.email = %q{sam@lenary.co.uk}
15
15
  s.executables = ["ginatra", "ginatra-daemon", "ginatra-directory", "ginatra-server"]
@@ -63,6 +63,19 @@ Gem::Specification.new do |s|
63
63
  "spec/repo_list_spec.rb",
64
64
  "spec/repo_spec.rb",
65
65
  "spec/spec_helper.rb",
66
+ "vendor/vegas/History.txt",
67
+ "vendor/vegas/LICENSE",
68
+ "vendor/vegas/Manifest.txt",
69
+ "vendor/vegas/README.rdoc",
70
+ "vendor/vegas/Rakefile",
71
+ "vendor/vegas/lib/vegas.rb",
72
+ "vendor/vegas/lib/vegas/runner.rb",
73
+ "vendor/vegas/test/test_app/bin/test_app",
74
+ "vendor/vegas/test/test_app/test_app.rb",
75
+ "vendor/vegas/test/test_apps.rb",
76
+ "vendor/vegas/test/test_helper.rb",
77
+ "vendor/vegas/test/test_vegas_runner.rb",
78
+ "vendor/vegas/vegas.gemspec",
66
79
  "views/_actor_box.erb",
67
80
  "views/_commit_info_box.erb",
68
81
  "views/_header.erb",
@@ -0,0 +1,18 @@
1
+ == 0.0.4 2009-08-09
2
+
3
+ * new -L (--skip-launch) option doesn't launch the web browser (thanks bmabey!)
4
+ * rubygems is required only on LoadError
5
+
6
+ == 0.0.3 2009-07-06
7
+
8
+ * Vegas::Runner is now Windows compatible (require win32-process gem)
9
+ * Includes daemon-ization
10
+ * PID tracking
11
+ * Vegas::WINDOWS is a top level boolean
12
+ * Vegas is no longer dependent on Launchy
13
+ * launching browser is done simply with open/start depending on platform
14
+
15
+ == 0.0.1 2009-04-13
16
+
17
+ * 1 major enhancement:
18
+ * Initial release
@@ -0,0 +1,22 @@
1
+ (The MIT License)
2
+
3
+ Copyright (c) 2009 Aaron Quint, Quirkey NYC, LLC.
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ 'Software'), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED 'AS IS', WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
19
+ IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
20
+ CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
21
+ TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
22
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,5 @@
1
+ History.txt
2
+ LICENSE
3
+ README.rdoc
4
+ lib/vegas.rb
5
+ lib/vegas/runner.rb
@@ -0,0 +1,45 @@
1
+ = vegas
2
+
3
+ http://code.quirkey.com/vegas
4
+
5
+ == DESCRIPTION:
6
+
7
+ Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.
8
+
9
+ == FEATURES/PROBLEMS:
10
+
11
+ Currently, Vegas just includes a single class Vegas::Runner which wraps your Sinatra app to give it command line options, daemonization, PID/URL tracking, and browser launching (using Launchy).
12
+
13
+ Lets say you have a gem with a sinatra application. With Vegas you can create a bin that looks like
14
+
15
+ #!/usr/bin/env ruby
16
+ # ./bin/myapp
17
+
18
+ require File.expand_path(File.dirname(__FILE__) + "/../lib/myapp")
19
+ require 'vegas'
20
+
21
+ Vegas::Runner.new(Sinatra::Application, 'myapp')
22
+
23
+
24
+ See the website: http://code.quirkey.com/vegas for full usage/options.
25
+
26
+ === WINDOWS:
27
+
28
+ Using vegas (and gems that depend on it) on Windows works but isn't 100% the same.
29
+ Daemon-ization and browser launching work, but you will see duplicate messages.
30
+
31
+ If you see a warning like:
32
+
33
+ `expand_path': couldn't find HOME environment -- expanding `~/.vegas' (ArgumentError)
34
+
35
+ You have to set your HOME path:
36
+
37
+ c:\> set HOME=%HOMEPATH%
38
+
39
+ == INSTALL:
40
+
41
+ sudo gem install vegas
42
+
43
+ == LICENSE:
44
+
45
+ MIT LICENSE, see LICENSE for details
@@ -0,0 +1,32 @@
1
+ %w[rubygems rake rake/clean hoe fileutils newgem rubigen].each { |f| require f }
2
+ require File.dirname(__FILE__) + '/lib/vegas'
3
+
4
+ # Generate all the Rake tasks
5
+ # Run 'rake -T' to see list of generated tasks (from gem root directory)
6
+ $hoe = Hoe.spec('vegas') do |p|
7
+ p.version = Vegas::VERSION
8
+ p.developer('Aaron Quint', 'aaron@quirkey.com')
9
+ p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
10
+ p.summary = "Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps."
11
+ p.description = %{Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.}
12
+ p.rubyforge_name = 'quirkey'
13
+ p.extra_deps = [
14
+ ['sinatra','>= 0.9.1']
15
+ ]
16
+ p.extra_dev_deps = [
17
+ ['newgem', ">= #{::Newgem::VERSION}"],
18
+ ['nokogiri', ">= 1.0.6"],
19
+ ['bacon', ">= 1.1.0"]
20
+ ]
21
+
22
+ p.clean_globs |= %w[**/.DS_Store tmp *.log]
23
+ path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
24
+ p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
25
+ p.rsync_args = '-av --delete --ignore-errors'
26
+ end
27
+
28
+ require 'newgem/tasks' # load /tasks/*.rake
29
+ Dir['tasks/**/*.rake'].each { |t| load t }
30
+
31
+ # TODO - want other tests/tasks run by default? Add them to the list
32
+ # task :default => [:spec, :features]
@@ -0,0 +1,16 @@
1
+ begin
2
+ require 'sinatra'
3
+ rescue LoadError
4
+ require 'rubygems'
5
+ require 'sinatra'
6
+ end
7
+
8
+ $LOAD_PATH.unshift File.dirname(__FILE__)
9
+
10
+ module Vegas
11
+ VERSION = "0.0.4.1"
12
+ WINDOWS = !!(RUBY_PLATFORM =~ /(mingw|bccwin|wince|mswin32)/i)
13
+
14
+ autoload :Runner, 'vegas/runner'
15
+ end
16
+
@@ -0,0 +1,270 @@
1
+ require 'open-uri'
2
+ require 'logger'
3
+ require 'optparse'
4
+
5
+ if Vegas::WINDOWS
6
+ begin
7
+ require 'win32/process'
8
+ rescue
9
+ puts "Sorry, in order to use Vegas on Windows you need the win32-process gem:\n gem install win32-process"
10
+ end
11
+ end
12
+
13
+ module Vegas
14
+ class Runner
15
+ attr_reader :app, :app_name, :rack_handler, :port, :host, :options
16
+
17
+ ROOT_DIR = File.expand_path(File.join('~', '.vegas'))
18
+ PORT = 5678
19
+ HOST = WINDOWS ? 'localhost' : '0.0.0.0'
20
+
21
+ def initialize(app, app_name, set_options = {}, &block)
22
+ # initialize
23
+ @app = app
24
+ @app_name = app_name
25
+ @options = set_options || {}
26
+ @rack_handler = @app.send :detect_rack_handler
27
+ # load options from opt parser
28
+ define_options do |opts|
29
+ if block_given?
30
+ opts.separator ''
31
+ opts.separator "#{app_name} options:"
32
+ yield(self, opts, app)
33
+ end
34
+ end
35
+ # set app options
36
+ @host = options[:host] || HOST
37
+ @app.set options
38
+ # initialize app dir
39
+ FileUtils.mkdir_p(app_dir)
40
+
41
+ return if options[:start] === false
42
+
43
+ logger.info "Running with Windows Settings" if WINDOWS
44
+ logger.info "Starting #{app_name}"
45
+
46
+ check_for_running
47
+ find_port
48
+ write_url
49
+ start
50
+ end
51
+
52
+ def app_dir
53
+ File.join(ROOT_DIR, app_name)
54
+ end
55
+
56
+ def pid_file
57
+ File.join(app_dir, "#{app_name}.pid")
58
+ end
59
+
60
+ def url_file
61
+ File.join(app_dir, "#{app_name}.url")
62
+ end
63
+
64
+ def url
65
+ "http://#{host}:#{port}"
66
+ end
67
+
68
+ def log_file
69
+ File.join(app_dir, "#{app_name}.log")
70
+ end
71
+
72
+ def handler_name
73
+ rack_handler.name.gsub(/.*::/, '')
74
+ end
75
+
76
+ def find_port
77
+ if @port = options[:port]
78
+ if !port_open?
79
+ logger.warn "Port #{port} is already in use. Please try another or don't use -P, for auto-port"
80
+ end
81
+ else
82
+ @port = PORT
83
+ logger.info "Trying to start #{app_name} on Port #{port}"
84
+ while !port_open?
85
+ @port += 1
86
+ logger.info "Trying to start #{app_name} on Port #{port}"
87
+ end
88
+ end
89
+ end
90
+
91
+ def port_open?(check_url = nil)
92
+ begin
93
+ open(check_url || url)
94
+ false
95
+ rescue Errno::ECONNREFUSED => e
96
+ true
97
+ end
98
+ end
99
+
100
+ def write_url
101
+ File.open(url_file, 'w') {|f| f << url }
102
+ end
103
+
104
+ def check_for_running
105
+ if File.exists?(pid_file) && File.exists?(url_file)
106
+ running_url = File.read(url_file)
107
+ if !port_open?(running_url)
108
+ logger.warn "#{app_name} is already running at #{running_url}"
109
+ launch!(running_url)
110
+ exit!
111
+ end
112
+ end
113
+ end
114
+
115
+ def run!
116
+ rack_handler.run app, :Host => host, :Port => port do |server|
117
+ trap(kill_command) do
118
+ ## Use thins' hard #stop! if available, otherwise just #stop
119
+ server.respond_to?(:stop!) ? server.stop! : server.stop
120
+ logger.info "#{app_name} received INT ... stopping"
121
+ delete_pid!
122
+ end
123
+ end
124
+ end
125
+
126
+ # Adapted from Rackup
127
+ def daemonize!
128
+ if RUBY_VERSION < "1.9"
129
+ logger.debug "Parent Process: #{Process.pid}"
130
+ exit! if fork
131
+ logger.debug "Child Process: #{Process.pid}"
132
+ Dir.chdir "/"
133
+ File.umask 0000
134
+ FileUtils.touch(log_file)
135
+ STDIN.reopen log_file
136
+ STDOUT.reopen log_file, "a"
137
+ STDERR.reopen log_file, "a"
138
+ else
139
+ Process.daemon
140
+ end
141
+ logger.debug "Child Process: #{Process.pid}"
142
+
143
+ File.open(pid_file, 'w') {|f| f.write("#{Process.pid}") }
144
+ at_exit { delete_pid! }
145
+ end
146
+
147
+ def launch!(specific_url = nil)
148
+ return if options[:skip_launch]
149
+ cmd = WINDOWS ? "start" : "sleep 2 && open"
150
+ system "#{cmd} #{specific_url || url}"
151
+ end
152
+
153
+ def kill!
154
+ pid = File.read(pid_file)
155
+ logger.warn "Sending INT to #{pid.to_i}"
156
+ Process.kill(kill_command, pid.to_i)
157
+ rescue => e
158
+ logger.warn "pid not found at #{pid_file} : #{e}"
159
+ end
160
+
161
+ def start
162
+ begin
163
+ launch!
164
+ daemonize! unless options[:foreground]
165
+ run!
166
+ rescue RuntimeError => e
167
+ logger.warn "There was an error starting #{app_name}: #{e}"
168
+ exit
169
+ end
170
+ end
171
+
172
+ def status
173
+ if File.exists?(pid_file)
174
+ logger.info "#{app_name} running"
175
+ logger.info "PID #{File.read(pid_file)}"
176
+ logger.info "URL #{File.read(url_file)}" if File.exists?(url_file)
177
+ else
178
+ logger.info "#{app_name} not running!"
179
+ end
180
+ end
181
+
182
+ def logger
183
+ return @logger if @logger
184
+ @logger = Logger.new(STDOUT)
185
+ @logger.level = options[:debug] ? Logger::DEBUG : Logger::INFO
186
+ @logger.formatter = Proc.new {|s, t, n, msg| "[#{t}] #{msg}\n"}
187
+ @logger
188
+ end
189
+
190
+ private
191
+ def define_options
192
+ OptionParser.new("", 24, ' ') { |opts|
193
+ opts.banner = "Usage: #{app_name} [options]"
194
+
195
+ opts.separator ""
196
+ opts.separator "Vegas options:"
197
+
198
+ opts.on("-s", "--server SERVER", "serve using SERVER (webrick/mongrel)") { |s|
199
+ @rack_handler = Rack::Handler.get(s)
200
+ }
201
+
202
+ opts.on("-o", "--host HOST", "listen on HOST (default: #{HOST})") { |host|
203
+ @options[:host] = host
204
+ }
205
+
206
+ opts.on("-p", "--port PORT", "use PORT (default: #{PORT})") { |port|
207
+ @options[:port] = port
208
+ }
209
+
210
+ opts.on("-e", "--env ENVIRONMENT", "use ENVIRONMENT for defaults (default: development)") { |e|
211
+ @options[:environment] = e
212
+ }
213
+
214
+ opts.on("-F", "--foreground", "don't daemonize, run in the foreground") { |f|
215
+ @options[:foreground] = true
216
+ }
217
+
218
+ opts.on("-L", "--no-launch", "don't launch the browser") { |f|
219
+ @options[:skip_launch] = true
220
+ }
221
+
222
+ opts.on('-K', "--kill", "kill the running process and exit") {|k|
223
+ kill!
224
+ exit
225
+ }
226
+
227
+ opts.on('-S', "--status", "display the current running PID and URL then quit") {|s|
228
+ status
229
+ exit!
230
+ }
231
+
232
+ opts.on('-d', "--debug", "raise the log level to :debug (default: :info)") {|s|
233
+ @options[:debug] = true
234
+ }
235
+
236
+ yield opts if block_given?
237
+
238
+ opts.separator ""
239
+ opts.separator "Common options:"
240
+
241
+ opts.on_tail("-h", "--help", "Show this message") do
242
+ puts opts
243
+ exit
244
+ end
245
+
246
+ opts.on_tail("--version", "Show version") do
247
+ if app.respond_to?(:version)
248
+ puts "#{app_name} #{app.version}"
249
+ end
250
+ puts "sinatra #{Sinatra::VERSION}"
251
+ puts "vegas #{Vegas::VERSION}"
252
+ exit
253
+ end
254
+
255
+ opts.parse! ARGV
256
+ }
257
+ rescue OptionParser::MissingArgument => e
258
+ logger.warn "#{e}, run -h for options"
259
+ exit
260
+ end
261
+
262
+ def kill_command
263
+ WINDOWS ? 1 : :INT
264
+ end
265
+
266
+ def delete_pid!
267
+ File.delete(pid_file) if File.exist?(pid_file)
268
+ end
269
+ end
270
+ end
@@ -0,0 +1,9 @@
1
+ #!/usr/bin/env ruby
2
+ #
3
+ # Created on 2009-2-27.
4
+ # Copyright (c) 2009. All rights reserved.
5
+
6
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', 'test_app.rb'))
7
+ require File.expand_path(File.join(File.dirname(__FILE__), '..', '..', '..', 'lib','vegas.rb'))
8
+
9
+ Vegas::Runner.new(TestApp, 'test_app')
@@ -0,0 +1,10 @@
1
+ require 'rubygems'
2
+ require 'sinatra'
3
+
4
+ class TestApp < Sinatra::Base
5
+
6
+ get '/' do
7
+ 'This is a TEST'
8
+ end
9
+
10
+ end
@@ -0,0 +1,22 @@
1
+ class TestApp1 < Sinatra::Default
2
+
3
+ get '/' do
4
+ 'TestApp1 Index'
5
+ end
6
+
7
+ get '/route' do
8
+ 'TestApp1 route'
9
+ end
10
+ end
11
+
12
+
13
+ class TestApp2 < Sinatra::Default
14
+
15
+ get '/' do
16
+ 'TestApp2 Index'
17
+ end
18
+
19
+ get '/route' do
20
+ 'TestApp2 route'
21
+ end
22
+ end
@@ -0,0 +1,59 @@
1
+ dependencies = %w{
2
+ bacon
3
+ sinatra
4
+ rack/test
5
+ nokogiri
6
+ }
7
+
8
+ begin
9
+ dependencies.each {|f| require f }
10
+ rescue LoadError
11
+ require 'rubygems'
12
+ dependencies.each {|f| require f }
13
+ end
14
+
15
+ require File.join(File.dirname(__FILE__), '..', 'lib', 'vegas.rb')
16
+
17
+ module TestHelper
18
+ def rackup(app)
19
+ Rack::Test::Session.new(app)
20
+ end
21
+
22
+ def body
23
+ last_response.body.to_s
24
+ end
25
+
26
+ def instance_of(klass)
27
+ lambda {|obj| obj.is_a?(klass) }
28
+ end
29
+
30
+ def html_body
31
+ body =~ /^\<html/ ? body : "<html><body>#{body}</body></html>"
32
+ end
33
+
34
+ end
35
+
36
+ Bacon::Context.send(:include, TestHelper)
37
+
38
+ class Should
39
+
40
+ def have_element(search, content = nil)
41
+ satisfy "have element matching #{search}" do
42
+ doc = Nokogiri.parse(@object.to_s)
43
+ node_set = doc.search(search)
44
+ if node_set.empty?
45
+ false
46
+ else
47
+ collected_content = node_set.collect {|t| t.content }.join(' ')
48
+ case content
49
+ when Regexp
50
+ collected_content =~ content
51
+ when String
52
+ collected_content.include?(content)
53
+ when nil
54
+ true
55
+ end
56
+ end
57
+ end
58
+ end
59
+ end
@@ -0,0 +1,8 @@
1
+ require File.join(File.dirname(__FILE__), 'test_helper.rb')
2
+
3
+ describe 'Vegas::Runner' do
4
+
5
+
6
+
7
+ end
8
+
@@ -0,0 +1,45 @@
1
+ # -*- encoding: utf-8 -*-
2
+
3
+ Gem::Specification.new do |s|
4
+ s.name = %q{vegas}
5
+ s.version = "0.0.4.1"
6
+
7
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
+ s.authors = ["Aaron Quint"]
9
+ s.date = %q{2009-08-09}
10
+ s.description = %q{Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps. It includes a class Vegas::Runner that wraps Rack/Sinatra applications and provides a simple command line interface and launching mechanism.}
11
+ s.email = ["aaron@quirkey.com"]
12
+ s.extra_rdoc_files = ["History.txt"]
13
+ s.files = ["History.txt", "LICENSE", "README.rdoc", "lib/vegas.rb", "lib/vegas/runner.rb", "test/test_app/test_app.rb", "test/test_apps.rb", "test/test_helper.rb", "test/test_vegas_runner.rb"]
14
+ s.rdoc_options = ["--main", "README.txt"]
15
+ s.require_paths = ["lib"]
16
+ s.rubyforge_project = %q{quirkey}
17
+ s.rubygems_version = %q{1.3.5}
18
+ s.summary = %q{Vegas aims to solve the simple problem of creating executable versions of Sinatra/Rack apps.}
19
+ s.test_files = ["test/test_app/test_app.rb", "test/test_apps.rb", "test/test_helper.rb", "test/test_vegas_runner.rb"]
20
+
21
+ if s.respond_to? :specification_version then
22
+ current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
23
+ s.specification_version = 3
24
+
25
+ if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
+ s.add_runtime_dependency(%q<sinatra>, [">= 0.9.1"])
27
+ s.add_development_dependency(%q<newgem>, [">= 1.5.1"])
28
+ s.add_development_dependency(%q<nokogiri>, [">= 1.0.6"])
29
+ s.add_development_dependency(%q<bacon>, [">= 1.1.0"])
30
+ s.add_development_dependency(%q<hoe>, [">= 2.3.3"])
31
+ else
32
+ s.add_dependency(%q<sinatra>, [">= 0.9.1"])
33
+ s.add_dependency(%q<newgem>, [">= 1.5.1"])
34
+ s.add_dependency(%q<nokogiri>, [">= 1.0.6"])
35
+ s.add_dependency(%q<bacon>, [">= 1.1.0"])
36
+ s.add_dependency(%q<hoe>, [">= 2.3.3"])
37
+ end
38
+ else
39
+ s.add_dependency(%q<sinatra>, [">= 0.9.1"])
40
+ s.add_dependency(%q<newgem>, [">= 1.5.1"])
41
+ s.add_dependency(%q<nokogiri>, [">= 1.0.6"])
42
+ s.add_dependency(%q<bacon>, [">= 1.1.0"])
43
+ s.add_dependency(%q<hoe>, [">= 2.3.3"])
44
+ end
45
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ginatra
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.1
4
+ version: 2.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sam Elliott
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2009-08-25 00:00:00 +01:00
13
+ date: 2009-08-26 00:00:00 +01:00
14
14
  default_executable:
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
@@ -101,6 +101,19 @@ files:
101
101
  - spec/repo_list_spec.rb
102
102
  - spec/repo_spec.rb
103
103
  - spec/spec_helper.rb
104
+ - vendor/vegas/History.txt
105
+ - vendor/vegas/LICENSE
106
+ - vendor/vegas/Manifest.txt
107
+ - vendor/vegas/README.rdoc
108
+ - vendor/vegas/Rakefile
109
+ - vendor/vegas/lib/vegas.rb
110
+ - vendor/vegas/lib/vegas/runner.rb
111
+ - vendor/vegas/test/test_app/bin/test_app
112
+ - vendor/vegas/test/test_app/test_app.rb
113
+ - vendor/vegas/test/test_apps.rb
114
+ - vendor/vegas/test/test_helper.rb
115
+ - vendor/vegas/test/test_vegas_runner.rb
116
+ - vendor/vegas/vegas.gemspec
104
117
  - views/_actor_box.erb
105
118
  - views/_commit_info_box.erb
106
119
  - views/_header.erb