waves-stable 0.7.7
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/app/Rakefile +72 -0
- data/app/bin/waves-console +4 -0
- data/app/bin/waves-server +4 -0
- data/app/configurations/development.rb.erb +31 -0
- data/app/configurations/mapping.rb.erb +14 -0
- data/app/configurations/production.rb.erb +31 -0
- data/app/controllers/.gitignore +0 -0
- data/app/doc/.gitignore +0 -0
- data/app/helpers/.gitignore +0 -0
- data/app/lib/application.rb.erb +5 -0
- data/app/lib/tasks/.gitignore +0 -0
- data/app/log/.gitignore +0 -0
- data/app/models/.gitignore +0 -0
- data/app/public/css/.gitignore +0 -0
- data/app/public/flash/.gitignore +0 -0
- data/app/public/images/.gitignore +0 -0
- data/app/public/javascript/.gitignore +0 -0
- data/app/schema/migrations/.gitignore +0 -0
- data/app/startup.rb +5 -0
- data/app/templates/errors/not_found_404.mab +2 -0
- data/app/templates/errors/server_error_500.mab +2 -0
- data/app/templates/layouts/default.mab +14 -0
- data/app/tmp/sessions/.gitignore +0 -0
- data/app/views/.gitignore +0 -0
- data/bin/waves +84 -0
- data/bin/waves-console +4 -0
- data/bin/waves-server +4 -0
- data/doc/HISTORY +44 -0
- data/doc/LICENSE +22 -0
- data/lib/commands/waves-console.rb +21 -0
- data/lib/commands/waves-server.rb +55 -0
- data/lib/controllers/base.rb +11 -0
- data/lib/controllers/mixin.rb +165 -0
- data/lib/dispatchers/base.rb +67 -0
- data/lib/dispatchers/default.rb +81 -0
- data/lib/foundations/default.rb +27 -0
- data/lib/foundations/simple.rb +30 -0
- data/lib/helpers/asset_helper.rb +67 -0
- data/lib/helpers/common.rb +66 -0
- data/lib/helpers/default.rb +13 -0
- data/lib/helpers/form.rb +40 -0
- data/lib/helpers/formatting.rb +30 -0
- data/lib/helpers/model.rb +33 -0
- data/lib/helpers/number_helper.rb +25 -0
- data/lib/helpers/tag_helper.rb +58 -0
- data/lib/helpers/url_helper.rb +77 -0
- data/lib/helpers/view.rb +24 -0
- data/lib/layers/default_errors.rb +26 -0
- data/lib/layers/inflect/english.rb +24 -0
- data/lib/layers/inflect/english/rules.rb +88 -0
- data/lib/layers/inflect/english/string.rb +24 -0
- data/lib/layers/mvc.rb +54 -0
- data/lib/layers/orm/active_record.rb +92 -0
- data/lib/layers/orm/active_record/migrations/empty.rb.erb +9 -0
- data/lib/layers/orm/active_record/tasks/generate.rb +28 -0
- data/lib/layers/orm/active_record/tasks/schema.rb +22 -0
- data/lib/layers/orm/data_mapper.rb +38 -0
- data/lib/layers/orm/filebase.rb +22 -0
- data/lib/layers/orm/migration.rb +79 -0
- data/lib/layers/orm/sequel.rb +86 -0
- data/lib/layers/orm/sequel/migrations/empty.rb.erb +9 -0
- data/lib/layers/orm/sequel/tasks/generate.rb +28 -0
- data/lib/layers/orm/sequel/tasks/schema.rb +16 -0
- data/lib/layers/simple.rb +32 -0
- data/lib/layers/simple_errors.rb +23 -0
- data/lib/mapping/mapping.rb +289 -0
- data/lib/mapping/pretty_urls.rb +96 -0
- data/lib/renderers/erubis.rb +63 -0
- data/lib/renderers/haml.rb +45 -0
- data/lib/renderers/markaby.rb +33 -0
- data/lib/renderers/mixin.rb +50 -0
- data/lib/runtime/application.rb +69 -0
- data/lib/runtime/blackboard.rb +57 -0
- data/lib/runtime/configuration.rb +185 -0
- data/lib/runtime/console.rb +20 -0
- data/lib/runtime/debugger.rb +9 -0
- data/lib/runtime/logger.rb +59 -0
- data/lib/runtime/mime_types.rb +22 -0
- data/lib/runtime/request.rb +78 -0
- data/lib/runtime/response.rb +40 -0
- data/lib/runtime/response_mixin.rb +38 -0
- data/lib/runtime/response_proxy.rb +30 -0
- data/lib/runtime/server.rb +107 -0
- data/lib/runtime/session.rb +66 -0
- data/lib/tasks/cluster.rb +26 -0
- data/lib/tasks/gem.rb +31 -0
- data/lib/tasks/generate.rb +80 -0
- data/lib/utilities/hash.rb +31 -0
- data/lib/utilities/inflect.rb +110 -0
- data/lib/utilities/integer.rb +24 -0
- data/lib/utilities/module.rb +21 -0
- data/lib/utilities/object.rb +25 -0
- data/lib/utilities/proc.rb +16 -0
- data/lib/utilities/string.rb +49 -0
- data/lib/utilities/symbol.rb +10 -0
- data/lib/utilities/tempfile.rb +9 -0
- data/lib/views/base.rb +9 -0
- data/lib/views/mixin.rb +110 -0
- data/lib/waves.rb +84 -0
- data/samples/blog/Rakefile +14 -0
- data/samples/blog/bin/waves-console +3 -0
- data/samples/blog/bin/waves-server +3 -0
- data/samples/blog/configurations/development.rb +31 -0
- data/samples/blog/configurations/mapping.rb +23 -0
- data/samples/blog/configurations/production.rb +30 -0
- data/samples/blog/doc/EMTPY +0 -0
- data/samples/blog/lib/application.rb +5 -0
- data/samples/blog/models/comment.rb +14 -0
- data/samples/blog/models/entry.rb +14 -0
- data/samples/blog/public/css/site.css +2 -0
- data/samples/blog/public/javascript/site.js +13 -0
- data/samples/blog/schema/migrations/001_initial_schema.rb +17 -0
- data/samples/blog/schema/migrations/002_add_comments.rb +18 -0
- data/samples/blog/schema/migrations/templates/empty.rb.erb +9 -0
- data/samples/blog/startup.rb +6 -0
- data/samples/blog/templates/comment/add.mab +10 -0
- data/samples/blog/templates/comment/list.mab +6 -0
- data/samples/blog/templates/entry/editor.mab +13 -0
- data/samples/blog/templates/entry/list.mab +11 -0
- data/samples/blog/templates/entry/show.mab +9 -0
- data/samples/blog/templates/entry/summary.mab +5 -0
- data/samples/blog/templates/errors/not_found_404.mab +2 -0
- data/samples/blog/templates/errors/server_error_500.mab +2 -0
- data/samples/blog/templates/layouts/default.mab +17 -0
- data/verify/app_generation/helpers.rb +24 -0
- data/verify/app_generation/startup.rb +39 -0
- data/verify/blackboard/blackboard_verify.rb +92 -0
- data/verify/blackboard/helpers.rb +5 -0
- data/verify/configurations/attributes.rb +37 -0
- data/verify/configurations/helpers.rb +1 -0
- data/verify/configurations/rack_integration.rb +29 -0
- data/verify/controllers/base.rb +37 -0
- data/verify/controllers/helpers.rb +13 -0
- data/verify/controllers/interface.rb +51 -0
- data/verify/core/helpers.rb +3 -0
- data/verify/core/utilities.rb +177 -0
- data/verify/foundations/default.rb +86 -0
- data/verify/foundations/default_application/Rakefile +14 -0
- data/verify/foundations/default_application/bin/waves-console +3 -0
- data/verify/foundations/default_application/bin/waves-server +3 -0
- data/verify/foundations/default_application/configurations/development.rb +26 -0
- data/verify/foundations/default_application/configurations/mapping.rb +14 -0
- data/verify/foundations/default_application/configurations/production.rb +30 -0
- data/verify/foundations/default_application/controllers/default.rb +15 -0
- data/verify/foundations/default_application/controllers/loaded.rb +15 -0
- data/verify/foundations/default_application/defaultapplication.db +0 -0
- data/verify/foundations/default_application/helpers/loaded.rb +10 -0
- data/verify/foundations/default_application/lib/application.rb +5 -0
- data/verify/foundations/default_application/models/default.rb +13 -0
- data/verify/foundations/default_application/models/loaded.rb +13 -0
- data/verify/foundations/default_application/schema/migrations/templates/empty.rb.erb +9 -0
- data/verify/foundations/default_application/startup.rb +7 -0
- data/verify/foundations/default_application/templates/errors/not_found_404.mab +2 -0
- data/verify/foundations/default_application/templates/errors/server_error_500.mab +2 -0
- data/verify/foundations/default_application/templates/layouts/default.mab +14 -0
- data/verify/foundations/default_application/views/default.rb +7 -0
- data/verify/foundations/default_application/views/loaded.rb +15 -0
- data/verify/foundations/helpers.rb +1 -0
- data/verify/foundations/simple.rb +25 -0
- data/verify/helpers.rb +76 -0
- data/verify/layers/data_mapper/association_verify.rb +87 -0
- data/verify/layers/default_errors.rb +29 -0
- data/verify/layers/helpers.rb +1 -0
- data/verify/layers/migration.rb +33 -0
- data/verify/layers/sequel/model.rb +41 -0
- data/verify/mapping/always.rb +19 -0
- data/verify/mapping/filters.rb +65 -0
- data/verify/mapping/handle.rb +24 -0
- data/verify/mapping/helpers.rb +7 -0
- data/verify/mapping/matches.rb +27 -0
- data/verify/mapping/named.rb +29 -0
- data/verify/mapping/options.rb +17 -0
- data/verify/mapping/path.rb +40 -0
- data/verify/mapping/response_proxy.rb +50 -0
- data/verify/mapping/threaded.rb +25 -0
- data/verify/requests/helpers.rb +16 -0
- data/verify/requests/request.rb +73 -0
- data/verify/requests/response.rb +59 -0
- data/verify/requests/session.rb +54 -0
- data/verify/views/helpers.rb +1 -0
- data/verify/views/rendering.rb +34 -0
- data/verify/views/templates/foo.erb +0 -0
- data/verify/views/templates/moo.erb +0 -0
- data/verify/views/templates/moo.mab +0 -0
- metadata +439 -0
data/app/Rakefile
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
#
|
|
3
|
+
# Warning: This file is clobbered when you update your
|
|
4
|
+
# application with the waves script. Accordingly, you may
|
|
5
|
+
# wish to keep your tasks in .rb or .rake files in lib/tasks
|
|
6
|
+
|
|
7
|
+
begin
|
|
8
|
+
require 'startup'
|
|
9
|
+
Waves::Console.load(:mode => ENV['mode'])
|
|
10
|
+
|
|
11
|
+
# load tasks from waves framework
|
|
12
|
+
%w( cluster generate gem ).each { |task| require "tasks/#{task}.rb" }
|
|
13
|
+
|
|
14
|
+
# load tasks from this app's lib/tasks
|
|
15
|
+
Dir["lib/tasks/*.{rb,rake}"].each { |task| require task }
|
|
16
|
+
|
|
17
|
+
rescue LoadError => e
|
|
18
|
+
if e.message == 'no such file to load -- waves'
|
|
19
|
+
puts "Can't find Waves source. Install gem, freeze Waves, or define WAVES in startup.rb"
|
|
20
|
+
puts
|
|
21
|
+
else
|
|
22
|
+
raise e
|
|
23
|
+
end
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
namespace :waves do
|
|
27
|
+
|
|
28
|
+
desc "freeze src=<wherever> to ./waves"
|
|
29
|
+
task :freeze do
|
|
30
|
+
|
|
31
|
+
target = "#{Dir.pwd}/waves"
|
|
32
|
+
src = ENV['src']
|
|
33
|
+
raise "Please specify the location of waves using src=wherever" unless src
|
|
34
|
+
raise "No directory found at '#{src}'" unless File.directory?(src)
|
|
35
|
+
|
|
36
|
+
items = FileList["#{src}/*"]
|
|
37
|
+
puts "Freezing from: #{src}"
|
|
38
|
+
items.each do |item|
|
|
39
|
+
puts "copying #{item}"
|
|
40
|
+
cp_r item, target
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
desc "unfreeze (i.e. delete) the waves source at ./waves"
|
|
46
|
+
task :unfreeze do
|
|
47
|
+
frozen = "#{Dir.pwd}/waves"
|
|
48
|
+
rm_r frozen if File.exist?(frozen)
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Convenience task to allow you to freeze the current Waves
|
|
52
|
+
# source without knowing where it is. This task only gets
|
|
53
|
+
# defined when the Rakefile successfully loaded Waves and if
|
|
54
|
+
# there's nothing in the way at ./waves
|
|
55
|
+
if defined?(WAVES) && !File.exist?("#{Dir.pwd}/waves")
|
|
56
|
+
namespace :freeze do
|
|
57
|
+
desc "freeze current Waves source to ./waves"
|
|
58
|
+
task :current do
|
|
59
|
+
target = "#{Dir.pwd}/waves"
|
|
60
|
+
current = File.expand_path( WAVES )
|
|
61
|
+
items = FileList["#{current}/*"]
|
|
62
|
+
puts "Freezing from: #{current}"
|
|
63
|
+
items.each do |item|
|
|
64
|
+
puts "copying #{item}"
|
|
65
|
+
cp_r item, target
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
end
|
|
69
|
+
end
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module <%= @name %>
|
|
2
|
+
|
|
3
|
+
module Configurations
|
|
4
|
+
|
|
5
|
+
class Development < Default
|
|
6
|
+
|
|
7
|
+
database :adapter => 'sqlite', :database => '<%= @name.downcase %>'
|
|
8
|
+
|
|
9
|
+
reloadable [ <%= @name %> ]
|
|
10
|
+
|
|
11
|
+
log :level => :debug
|
|
12
|
+
|
|
13
|
+
host '127.0.0.1'
|
|
14
|
+
|
|
15
|
+
port 3000
|
|
16
|
+
|
|
17
|
+
handler ::Rack::Handler::Mongrel, :Host => host, :Port => port
|
|
18
|
+
# handler ::Rack::Handler::WEBrick, :BindAddress => host, :Port => port
|
|
19
|
+
# handler ::Rack::Handler::Thin, :Host => host, :Port => port
|
|
20
|
+
|
|
21
|
+
application do
|
|
22
|
+
use ::Rack::ShowExceptions
|
|
23
|
+
use ::Rack::Static, :urls => [ '/css/', '/javascript/', '/images/' ], :root => 'public'
|
|
24
|
+
run ::Waves::Dispatchers::Default.new
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
end
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
module <%= @name %>
|
|
2
|
+
|
|
3
|
+
module Configurations
|
|
4
|
+
|
|
5
|
+
class Production < Default
|
|
6
|
+
|
|
7
|
+
database :host => 'localhost', :adapter => 'mysql', :database => '<%= @name.downcase %>',
|
|
8
|
+
:user => 'root', :password => ''
|
|
9
|
+
|
|
10
|
+
reloadable []
|
|
11
|
+
|
|
12
|
+
log :level => :error,
|
|
13
|
+
:output => ( :log / "waves.#{$$}" ),
|
|
14
|
+
:rotation => :weekly
|
|
15
|
+
|
|
16
|
+
host '0.0.0.0'
|
|
17
|
+
|
|
18
|
+
port 80
|
|
19
|
+
|
|
20
|
+
handler ::Rack::Handler::Mongrel, :Host => host, :Port => port
|
|
21
|
+
# handler ::Rack::Handler::WEBrick, :BindAddress => host, :Port => port
|
|
22
|
+
# handler ::Rack::Handler::Thin, :Host => host, :Port => port
|
|
23
|
+
|
|
24
|
+
application do
|
|
25
|
+
use ::Rack::Static, :urls => [ '/css/', '/javascript/', '/images/' ], :root => 'public'
|
|
26
|
+
run ::Waves::Dispatchers::Default.new
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
end
|
|
File without changes
|
data/app/doc/.gitignore
ADDED
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/app/log/.gitignore
ADDED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
data/app/startup.rb
ADDED
|
File without changes
|
|
File without changes
|
data/bin/waves
ADDED
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
# = Generate or update a Waves application
|
|
4
|
+
#
|
|
5
|
+
# The +waves+ script generates a new Waves application or updates an existing app. The script uses {RakeGen}[http://github.com/automatthew/rakegen] for file copies and template processing, and the current version of RakeGen requires you to affirm that you want to clobber each and every file when doing an update.
|
|
6
|
+
#
|
|
7
|
+
# == Usage
|
|
8
|
+
#
|
|
9
|
+
# # Generate a Waves app using the default ORM layer, which is currently Sequel
|
|
10
|
+
# waves /path/to/app
|
|
11
|
+
#
|
|
12
|
+
# # Generate an app using the default ORM layer, which is currently Sequel
|
|
13
|
+
# waves /path/to/app --orm=active_record
|
|
14
|
+
#
|
|
15
|
+
# # Generate an app that does not include an ORM layer
|
|
16
|
+
# waves /path/to/app -o none
|
|
17
|
+
|
|
18
|
+
require 'rubygems'
|
|
19
|
+
require 'choice'
|
|
20
|
+
require 'rakegen'
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
# if we're in the waves source, prepend it to the load path
|
|
25
|
+
waves_lib = File.expand_path( "#{File.dirname(__FILE__)}/../../waves/lib" )
|
|
26
|
+
$:.unshift waves_lib if File.exist?(waves_lib)
|
|
27
|
+
require 'waves'
|
|
28
|
+
|
|
29
|
+
begin
|
|
30
|
+
require 'utilities/string'
|
|
31
|
+
rescue LoadError
|
|
32
|
+
require File.join(File.dirname(__FILE__), '..', 'lib', 'utilities', 'string')
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
Choice.options do
|
|
36
|
+
banner 'Usage: waves path/to/app [-h]'
|
|
37
|
+
option :help do
|
|
38
|
+
long '--help'
|
|
39
|
+
desc 'Show this message'
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
option :orm do
|
|
43
|
+
short '-o'
|
|
44
|
+
long '--orm=ORM'
|
|
45
|
+
desc "Select an ORM (e.g. active_record, sequel, none)"
|
|
46
|
+
default "sequel"
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
orm = Choice.choices.orm.snake_case
|
|
52
|
+
orm_require, orm_include = case orm
|
|
53
|
+
when 'sequel'
|
|
54
|
+
["require 'layers/orm/sequel'", "include Waves::Layers::ORM::Sequel"]
|
|
55
|
+
when 'active_record'
|
|
56
|
+
["require 'layers/orm/active_record'", "include Waves::Layers::ORM::ActiveRecord"]
|
|
57
|
+
when 'none'
|
|
58
|
+
['', '# This app was generated without an ORM layer']
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
app_path = ARGV[0]
|
|
62
|
+
app_name = File.basename(app_path)
|
|
63
|
+
if app_name =~ /[^\w\d_]/
|
|
64
|
+
raise ArgumentError, <<-TEXT
|
|
65
|
+
Unusable name: \"#{app_name}\"
|
|
66
|
+
Application names may contain only letters, numbers, and underscores."
|
|
67
|
+
TEXT
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
template = "#{WAVES}/app"
|
|
71
|
+
|
|
72
|
+
generator = Rakegen.new("waves:app") do |gen|
|
|
73
|
+
gen.source = template
|
|
74
|
+
gen.target = app_path
|
|
75
|
+
gen.template_assigns = {:name => app_name.camel_case, :orm_require => orm_require, :orm_include => orm_include }
|
|
76
|
+
gen.executables = %w{ bin/waves-console bin/waves-server}
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
puts "** Creating new Waves application ..."
|
|
80
|
+
|
|
81
|
+
Rake::Task["waves:app"].invoke
|
|
82
|
+
|
|
83
|
+
puts "** Application created!"
|
|
84
|
+
|
data/bin/waves-console
ADDED
data/bin/waves-server
ADDED
data/doc/HISTORY
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
0.7.7
|
|
2
|
+
- ActiveRecord ORM layer
|
|
3
|
+
- base controller helpers that rely on a particular ORM are now defined in the ORM layers
|
|
4
|
+
- Sequel requires moved into the self.included block, to help with the mem footprint
|
|
5
|
+
- rake generate:model reappeared
|
|
6
|
+
- rake waves:freeze and waves:unfreeze
|
|
7
|
+
- Rack::Static declared for /css, /javascript, and /images in generated applications
|
|
8
|
+
- added Lawrence Pit's Haml renderer
|
|
9
|
+
- English inflector pulled into its own layer, in the hope of allowing localization someday
|
|
10
|
+
- utility monkeypatches pulled into modules where possible, for better troubleshooting
|
|
11
|
+
- docs, samples, and verify now actually included in the gem
|
|
12
|
+
- monkeypatch to Tempfile to work around problem with file uploading and Rack.
|
|
13
|
+
0.7.6
|
|
14
|
+
- added metaid as gem dependency
|
|
15
|
+
- Special handling in Windows for interrupts ('cause Windows has trouble with those)
|
|
16
|
+
- Fixed query param destructuring to work for 3+ levels
|
|
17
|
+
0.7.5
|
|
18
|
+
- Foundations and Layers
|
|
19
|
+
- Sequel ORM is now a Layer, instead of being baked in
|
|
20
|
+
- Almost all boilerplate code removed from generated app, by virtue of the Layers refactoring
|
|
21
|
+
- Configuration attribute for selecting a Rack handler
|
|
22
|
+
- Mapping#handle method to register blocks that handle exceptions (e.g. NotFoundError)
|
|
23
|
+
- Blackboard, a very simple shared storaged usable during request processing.
|
|
24
|
+
- Fixed waves script to work when installed as gem (regression)
|
|
25
|
+
- Revised and extended documentation
|
|
26
|
+
- Expanded spec coverage
|
|
27
|
+
0.7.3:
|
|
28
|
+
- Added explicit require for daemons gem
|
|
29
|
+
- Added support for running off source
|
|
30
|
+
- Added support for using SQLite
|
|
31
|
+
- Improved inflection
|
|
32
|
+
- Windows support for waves, waves-server, and waves-console
|
|
33
|
+
0.7.2:
|
|
34
|
+
- Minor bug fixes, improved documentation
|
|
35
|
+
0.7.1:
|
|
36
|
+
- Minor bug fixes, improved documentation
|
|
37
|
+
0.7.0:
|
|
38
|
+
- Minor bug fixes, improved documentation
|
|
39
|
+
0.6.9:
|
|
40
|
+
- Minor bug fixes, improved documentation
|
|
41
|
+
0.6.8:
|
|
42
|
+
- Minor bug fixes, improved documentation
|
|
43
|
+
0.6.7:
|
|
44
|
+
- Initial gem release.
|
data/doc/LICENSE
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
Copyright (c) 2007-8 Dan Yoder
|
|
2
|
+
|
|
3
|
+
Permission is hereby granted, free of charge, to any person
|
|
4
|
+
obtaining a copy of this software and associated documentation
|
|
5
|
+
files (the "Software"), to deal in the Software without
|
|
6
|
+
restriction, including without limitation the rights to use,
|
|
7
|
+
copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
8
|
+
copies of the Software, and to permit persons to whom the
|
|
9
|
+
Software is furnished to do so, subject to the following
|
|
10
|
+
conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be
|
|
13
|
+
included in all copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
|
16
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
|
|
17
|
+
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
|
18
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
|
|
19
|
+
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
|
20
|
+
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
|
21
|
+
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
|
|
22
|
+
OTHER DEALINGS IN THE SOFTWARE.
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require 'choice'
|
|
2
|
+
|
|
3
|
+
Choice.options do
|
|
4
|
+
header 'Run waves in console mode.'
|
|
5
|
+
header ''
|
|
6
|
+
option :mode do
|
|
7
|
+
short '-c'
|
|
8
|
+
long '--config=CONFIG'
|
|
9
|
+
desc 'Configuration to use.'
|
|
10
|
+
desc 'Defaults to development.'
|
|
11
|
+
cast Symbol
|
|
12
|
+
end
|
|
13
|
+
separator ''
|
|
14
|
+
end
|
|
15
|
+
|
|
16
|
+
console = Waves::Console.load( Choice.choices )
|
|
17
|
+
Object.send(:define_method, :waves) { console }
|
|
18
|
+
require 'irb'
|
|
19
|
+
require 'irb/completion'
|
|
20
|
+
ARGV.clear
|
|
21
|
+
IRB.start
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
require 'choice'
|
|
2
|
+
|
|
3
|
+
Choice.options do
|
|
4
|
+
header 'Run a waves application server.'
|
|
5
|
+
header ''
|
|
6
|
+
option :port do
|
|
7
|
+
short '-p'
|
|
8
|
+
long '--port=PORT'
|
|
9
|
+
desc 'Port to listen on.'
|
|
10
|
+
desc 'Defaults to value given in configuration.'
|
|
11
|
+
cast Integer
|
|
12
|
+
end
|
|
13
|
+
separator ''
|
|
14
|
+
option :host do
|
|
15
|
+
short '-h'
|
|
16
|
+
long '--host=HOST'
|
|
17
|
+
desc 'Host or IP address of the host to bind.'
|
|
18
|
+
desc 'Defaults to value given in configuration.'
|
|
19
|
+
end
|
|
20
|
+
separator ''
|
|
21
|
+
option :mode do
|
|
22
|
+
short '-c'
|
|
23
|
+
long '--config=CONFIG'
|
|
24
|
+
desc 'Configuration to use.'
|
|
25
|
+
desc 'Defaults to development.'
|
|
26
|
+
cast Symbol
|
|
27
|
+
end
|
|
28
|
+
separator ''
|
|
29
|
+
option :directory do
|
|
30
|
+
short '-D'
|
|
31
|
+
long '--dir=DIR'
|
|
32
|
+
desc 'Directory containing the application.'
|
|
33
|
+
desc 'Defaults to the current directory.'
|
|
34
|
+
end
|
|
35
|
+
separator ''
|
|
36
|
+
option :daemon do
|
|
37
|
+
short '-d'
|
|
38
|
+
long '--daemon'
|
|
39
|
+
desc 'Run as a daemon.'
|
|
40
|
+
end
|
|
41
|
+
separator ''
|
|
42
|
+
option :debugger do
|
|
43
|
+
short '-u'
|
|
44
|
+
long '--debugger'
|
|
45
|
+
desc 'Enable ruby-debug.'
|
|
46
|
+
end
|
|
47
|
+
separator ''
|
|
48
|
+
option :startup do
|
|
49
|
+
short '-s'
|
|
50
|
+
long '--startup'
|
|
51
|
+
desc 'Startup file to load.'
|
|
52
|
+
desc 'Defaults to "lib/startup.rb"'
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
Waves::Server.run( Choice.choices )
|