waves 0.7.6 → 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 +64 -6
- data/app/configurations/development.rb.erb +2 -1
- data/app/configurations/mapping.rb.erb +1 -0
- data/app/configurations/production.rb.erb +1 -0
- data/app/lib/application.rb.erb +2 -2
- data/bin/waves +36 -1
- data/doc/HISTORY +44 -0
- data/doc/LICENSE +22 -0
- data/doc/rdoc/classes/Erubis/Context.html +218 -0
- data/doc/rdoc/classes/Kernel.html +145 -0
- data/doc/rdoc/classes/Symbol.html +154 -0
- data/doc/rdoc/classes/Tempfile.html +161 -0
- data/doc/rdoc/classes/Waves.html +455 -0
- data/doc/rdoc/classes/Waves/Application.html +371 -0
- data/doc/rdoc/classes/Waves/Blackboard.html +296 -0
- data/doc/rdoc/classes/Waves/Configurations.html +283 -0
- data/doc/rdoc/classes/Waves/Configurations/Base.html +209 -0
- data/doc/rdoc/classes/Waves/Configurations/Default.html +237 -0
- data/doc/rdoc/classes/Waves/Console.html +187 -0
- data/doc/rdoc/classes/Waves/Controllers.html +203 -0
- data/doc/rdoc/classes/Waves/Controllers/Base.html +151 -0
- data/doc/rdoc/classes/Waves/Controllers/Mixin.html +312 -0
- data/doc/rdoc/classes/Waves/Dispatchers.html +118 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Base.html +198 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Default.html +224 -0
- data/doc/rdoc/classes/Waves/Dispatchers/NotFoundError.html +122 -0
- data/doc/rdoc/classes/Waves/Dispatchers/Redirect.html +173 -0
- data/doc/rdoc/classes/Waves/Foundations.html +131 -0
- data/doc/rdoc/classes/Waves/Foundations/Default.html +179 -0
- data/doc/rdoc/classes/Waves/Foundations/Simple.html +167 -0
- data/doc/rdoc/classes/Waves/Helpers.html +176 -0
- data/doc/rdoc/classes/Waves/Helpers/AssetHelper.html +212 -0
- data/doc/rdoc/classes/Waves/Helpers/Common.html +213 -0
- data/doc/rdoc/classes/Waves/Helpers/Default.html +135 -0
- data/doc/rdoc/classes/Waves/Helpers/Form.html +201 -0
- data/doc/rdoc/classes/Waves/Helpers/Formatting.html +232 -0
- data/doc/rdoc/classes/Waves/Helpers/Model.html +194 -0
- data/doc/rdoc/classes/Waves/Helpers/NumberHelper.html +165 -0
- data/doc/rdoc/classes/Waves/Helpers/TagHelper.html +226 -0
- data/doc/rdoc/classes/Waves/Helpers/UrlHelper.html +242 -0
- data/doc/rdoc/classes/Waves/Helpers/View.html +163 -0
- data/doc/rdoc/classes/Waves/Inflect/InflectorMethods.html +475 -0
- data/doc/rdoc/classes/Waves/Layers.html +175 -0
- data/doc/rdoc/classes/Waves/Layers/DefaultErrors.html +161 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect.html +119 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English.html +168 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English/Rules.html +112 -0
- data/doc/rdoc/classes/Waves/Layers/Inflect/English/StringMethods.html +194 -0
- data/doc/rdoc/classes/Waves/Layers/MVC.html +204 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord.html +239 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/ControllerMethods.html +246 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/ActiveRecord/Symbol.html +132 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/DataMapper.html +166 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Filebase.html +157 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Sequel.html +232 -0
- data/doc/rdoc/classes/Waves/Layers/ORM/Sequel/ControllerMethods.html +246 -0
- data/doc/rdoc/classes/Waves/Layers/Simple.html +169 -0
- data/doc/rdoc/classes/Waves/Layers/SimpleErrors.html +159 -0
- data/doc/rdoc/classes/Waves/Logger.html +288 -0
- data/doc/rdoc/classes/Waves/Mapping.html +760 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls.html +129 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/GetRules.html +174 -0
- data/doc/rdoc/classes/Waves/Mapping/PrettyUrls/RestRules.html +180 -0
- data/doc/rdoc/classes/Waves/MimeTypes.html +200 -0
- data/doc/rdoc/classes/Waves/Renderers/Erubis.html +162 -0
- data/doc/rdoc/classes/Waves/Renderers/Haml.html +160 -0
- data/doc/rdoc/classes/Waves/Renderers/Markaby.html +167 -0
- data/doc/rdoc/classes/Waves/Renderers/Mixin.html +191 -0
- data/doc/rdoc/classes/Waves/Renderers/Scope.html +181 -0
- data/doc/rdoc/classes/Waves/Request.html +441 -0
- data/doc/rdoc/classes/Waves/Request/ParseError.html +111 -0
- data/doc/rdoc/classes/Waves/Response.html +283 -0
- data/doc/rdoc/classes/Waves/ResponseMixin.html +460 -0
- data/doc/rdoc/classes/Waves/ResponseProxy.html +269 -0
- data/doc/rdoc/classes/Waves/Server.html +488 -0
- data/doc/rdoc/classes/Waves/Session.html +330 -0
- data/doc/rdoc/classes/Waves/Utilities/Hash.html +185 -0
- data/doc/rdoc/classes/Waves/Utilities/Integer.html +424 -0
- data/doc/rdoc/classes/Waves/Utilities/Module.html +174 -0
- data/doc/rdoc/classes/Waves/Utilities/Object.html +155 -0
- data/doc/rdoc/classes/Waves/Utilities/Proc.html +145 -0
- data/doc/rdoc/classes/Waves/Utilities/String.html +290 -0
- data/doc/rdoc/classes/Waves/Views.html +278 -0
- data/doc/rdoc/classes/Waves/Views/Base.html +118 -0
- data/doc/rdoc/classes/Waves/Views/Mixin.html +279 -0
- data/doc/rdoc/classes/Waves/Views/NoTemplateError.html +111 -0
- data/doc/rdoc/created.rid +1 -0
- data/doc/rdoc/files/README_rdoc.html +415 -0
- data/doc/rdoc/files/bin/waves.html +135 -0
- data/doc/rdoc/files/doc/HISTORY.html +265 -0
- data/doc/rdoc/files/lib/commands/waves-console_rb.html +110 -0
- data/doc/rdoc/files/lib/commands/waves-server_rb.html +108 -0
- data/doc/rdoc/files/lib/controllers/base_rb.html +101 -0
- data/doc/rdoc/files/lib/controllers/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/dispatchers/base_rb.html +101 -0
- data/doc/rdoc/files/lib/dispatchers/default_rb.html +101 -0
- data/doc/rdoc/files/lib/foundations/default_rb.html +101 -0
- data/doc/rdoc/files/lib/foundations/simple_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/asset_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/common_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/default_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/form_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/formatting_rb.html +108 -0
- data/doc/rdoc/files/lib/helpers/model_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/number_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/tag_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/url_helper_rb.html +101 -0
- data/doc/rdoc/files/lib/helpers/view_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/default_errors_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english/rules_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english/string_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/inflect/english_rb.html +109 -0
- data/doc/rdoc/files/lib/layers/mvc_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record/tasks/schema_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/active_record_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/orm/data_mapper_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/orm/filebase_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/migration_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel/tasks/schema_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/orm/sequel_rb.html +108 -0
- data/doc/rdoc/files/lib/layers/simple_errors_rb.html +101 -0
- data/doc/rdoc/files/lib/layers/simple_rb.html +101 -0
- data/doc/rdoc/files/lib/mapping/mapping_rb.html +101 -0
- data/doc/rdoc/files/lib/mapping/pretty_urls_rb.html +101 -0
- data/doc/rdoc/files/lib/renderers/erubis_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/haml_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/markaby_rb.html +108 -0
- data/doc/rdoc/files/lib/renderers/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/application_rb.html +107 -0
- data/doc/rdoc/files/lib/runtime/blackboard_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/configuration_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/console_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/debugger_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/logger_rb.html +108 -0
- data/doc/rdoc/files/lib/runtime/mime_types_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/request_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_proxy_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/response_rb.html +101 -0
- data/doc/rdoc/files/lib/runtime/server_rb.html +108 -0
- data/doc/rdoc/files/lib/runtime/session_rb.html +101 -0
- data/doc/rdoc/files/lib/tasks/cluster_rb.html +101 -0
- data/doc/rdoc/files/lib/tasks/gem_rb.html +108 -0
- data/doc/rdoc/files/lib/tasks/generate_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/hash_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/inflect_rb.html +111 -0
- data/doc/rdoc/files/lib/utilities/integer_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/module_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/object_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/proc_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/string_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/symbol_rb.html +101 -0
- data/doc/rdoc/files/lib/utilities/tempfile_rb.html +115 -0
- data/doc/rdoc/files/lib/views/base_rb.html +101 -0
- data/doc/rdoc/files/lib/views/mixin_rb.html +101 -0
- data/doc/rdoc/files/lib/waves_rb.html +195 -0
- data/doc/rdoc/fr_class_index.html +104 -0
- data/doc/rdoc/fr_file_index.html +97 -0
- data/doc/rdoc/fr_method_index.html +233 -0
- data/doc/rdoc/index.html +24 -0
- data/doc/rdoc/rdoc-style.css +208 -0
- data/lib/foundations/default.rb +1 -0
- data/lib/layers/default_errors.rb +10 -13
- 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 +31 -35
- data/lib/layers/orm/active_record.rb +83 -32
- data/lib/layers/orm/active_record/tasks/generate.rb +28 -0
- data/lib/layers/orm/active_record/tasks/schema.rb +7 -15
- data/lib/layers/orm/data_mapper.rb +12 -16
- data/lib/layers/orm/migration.rb +20 -11
- data/lib/layers/orm/sequel.rb +53 -49
- data/lib/layers/orm/sequel/tasks/generate.rb +28 -0
- data/lib/layers/orm/sequel/tasks/schema.rb +6 -14
- data/lib/layers/simple.rb +6 -13
- data/lib/layers/simple_errors.rb +5 -8
- data/lib/renderers/haml.rb +45 -0
- data/lib/runtime/application.rb +0 -2
- data/lib/tasks/cluster.rb +1 -1
- data/lib/utilities/inflect.rb +86 -168
- data/lib/utilities/integer.rb +23 -16
- data/lib/utilities/module.rb +19 -15
- data/lib/utilities/object.rb +22 -14
- data/lib/utilities/proc.rb +13 -7
- data/lib/utilities/string.rb +0 -12
- data/lib/utilities/symbol.rb +4 -1
- data/lib/utilities/tempfile.rb +9 -0
- data/lib/waves.rb +3 -1
- 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/blog.db +0 -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/samples/jub/Rakefile +72 -0
- data/samples/jub/bin/waves-console +4 -0
- data/samples/jub/bin/waves-server +4 -0
- data/samples/jub/configurations/development.rb +31 -0
- data/samples/jub/configurations/mapping.rb +18 -0
- data/samples/jub/configurations/production.rb +31 -0
- data/samples/jub/lib/application.rb +5 -0
- data/samples/jub/startup.rb +6 -0
- data/samples/jub/templates/errors/not_found_404.mab +2 -0
- data/samples/jub/templates/errors/server_error_500.mab +2 -0
- data/samples/jub/templates/layouts/default.mab +14 -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/layers/sequeltest.db +0 -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 +597 -224
- data/lib/utilities/kernel.rb +0 -34
data/app/Rakefile
CHANGED
|
@@ -3,12 +3,70 @@
|
|
|
3
3
|
# Warning: This file is clobbered when you update your
|
|
4
4
|
# application with the waves script. Accordingly, you may
|
|
5
5
|
# wish to keep your tasks in .rb or .rake files in lib/tasks
|
|
6
|
-
require 'startup'
|
|
7
|
-
Waves::Console.load(:mode => ENV['mode'])
|
|
8
6
|
|
|
9
|
-
|
|
10
|
-
|
|
7
|
+
begin
|
|
8
|
+
require 'startup'
|
|
9
|
+
Waves::Console.load(:mode => ENV['mode'])
|
|
11
10
|
|
|
12
|
-
# load tasks from
|
|
13
|
-
|
|
11
|
+
# load tasks from waves framework
|
|
12
|
+
%w( cluster generate gem ).each { |task| require "tasks/#{task}.rb" }
|
|
14
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
|
|
@@ -14,12 +14,13 @@ module <%= @name %>
|
|
|
14
14
|
|
|
15
15
|
port 3000
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
handler ::Rack::Handler::Mongrel, :Host => host, :Port => port
|
|
18
18
|
# handler ::Rack::Handler::WEBrick, :BindAddress => host, :Port => port
|
|
19
19
|
# handler ::Rack::Handler::Thin, :Host => host, :Port => port
|
|
20
20
|
|
|
21
21
|
application do
|
|
22
22
|
use ::Rack::ShowExceptions
|
|
23
|
+
use ::Rack::Static, :urls => [ '/css/', '/javascript/', '/images/' ], :root => 'public'
|
|
23
24
|
run ::Waves::Dispatchers::Default.new
|
|
24
25
|
end
|
|
25
26
|
|
data/app/lib/application.rb.erb
CHANGED
data/bin/waves
CHANGED
|
@@ -1,8 +1,26 @@
|
|
|
1
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
|
+
|
|
2
18
|
require 'rubygems'
|
|
3
19
|
require 'choice'
|
|
4
20
|
require 'rakegen'
|
|
5
21
|
|
|
22
|
+
|
|
23
|
+
|
|
6
24
|
# if we're in the waves source, prepend it to the load path
|
|
7
25
|
waves_lib = File.expand_path( "#{File.dirname(__FILE__)}/../../waves/lib" )
|
|
8
26
|
$:.unshift waves_lib if File.exist?(waves_lib)
|
|
@@ -21,6 +39,23 @@ Choice.options do
|
|
|
21
39
|
desc 'Show this message'
|
|
22
40
|
end
|
|
23
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']
|
|
24
59
|
end
|
|
25
60
|
|
|
26
61
|
app_path = ARGV[0]
|
|
@@ -37,7 +72,7 @@ template = "#{WAVES}/app"
|
|
|
37
72
|
generator = Rakegen.new("waves:app") do |gen|
|
|
38
73
|
gen.source = template
|
|
39
74
|
gen.target = app_path
|
|
40
|
-
gen.template_assigns = {:name => app_name.camel_case}
|
|
75
|
+
gen.template_assigns = {:name => app_name.camel_case, :orm_require => orm_require, :orm_include => orm_include }
|
|
41
76
|
gen.executables = %w{ bin/waves-console bin/waves-server}
|
|
42
77
|
end
|
|
43
78
|
|
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,218 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="iso-8859-1"?>
|
|
2
|
+
<!DOCTYPE html
|
|
3
|
+
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
|
4
|
+
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
|
5
|
+
|
|
6
|
+
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
|
|
7
|
+
<head>
|
|
8
|
+
<title>Class: Erubis::Context</title>
|
|
9
|
+
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
|
|
10
|
+
<meta http-equiv="Content-Script-Type" content="text/javascript" />
|
|
11
|
+
<link rel="stylesheet" href="../.././rdoc-style.css" type="text/css" media="screen" />
|
|
12
|
+
<script type="text/javascript">
|
|
13
|
+
// <![CDATA[
|
|
14
|
+
|
|
15
|
+
function popupCode( url ) {
|
|
16
|
+
window.open(url, "Code", "resizable=yes,scrollbars=yes,toolbar=no,status=no,height=150,width=400")
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
function toggleCode( id ) {
|
|
20
|
+
if ( document.getElementById )
|
|
21
|
+
elem = document.getElementById( id );
|
|
22
|
+
else if ( document.all )
|
|
23
|
+
elem = eval( "document.all." + id );
|
|
24
|
+
else
|
|
25
|
+
return false;
|
|
26
|
+
|
|
27
|
+
elemStyle = elem.style;
|
|
28
|
+
|
|
29
|
+
if ( elemStyle.display != "block" ) {
|
|
30
|
+
elemStyle.display = "block"
|
|
31
|
+
} else {
|
|
32
|
+
elemStyle.display = "none"
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
return true;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
// Make codeblocks hidden by default
|
|
39
|
+
document.writeln( "<style type=\"text/css\">div.method-source-code { display: none }</style>" )
|
|
40
|
+
|
|
41
|
+
// ]]>
|
|
42
|
+
</script>
|
|
43
|
+
|
|
44
|
+
</head>
|
|
45
|
+
<body>
|
|
46
|
+
|
|
47
|
+
|
|
48
|
+
|
|
49
|
+
<div id="classHeader">
|
|
50
|
+
<table class="header-table">
|
|
51
|
+
<tr class="top-aligned-row">
|
|
52
|
+
<td><strong>Class</strong></td>
|
|
53
|
+
<td class="class-name-in-header">Erubis::Context</td>
|
|
54
|
+
</tr>
|
|
55
|
+
<tr class="top-aligned-row">
|
|
56
|
+
<td><strong>In:</strong></td>
|
|
57
|
+
<td>
|
|
58
|
+
<a href="../../files/lib/renderers/erubis_rb.html">
|
|
59
|
+
lib/renderers/erubis.rb
|
|
60
|
+
</a>
|
|
61
|
+
<br />
|
|
62
|
+
</td>
|
|
63
|
+
</tr>
|
|
64
|
+
|
|
65
|
+
<tr class="top-aligned-row">
|
|
66
|
+
<td><strong>Parent:</strong></td>
|
|
67
|
+
<td>
|
|
68
|
+
Object
|
|
69
|
+
</td>
|
|
70
|
+
</tr>
|
|
71
|
+
</table>
|
|
72
|
+
</div>
|
|
73
|
+
<!-- banner header -->
|
|
74
|
+
|
|
75
|
+
<div id="bodyContent">
|
|
76
|
+
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
<div id="contextContent">
|
|
80
|
+
|
|
81
|
+
<div id="description">
|
|
82
|
+
<p>
|
|
83
|
+
This is added to the Erubis Content class to allow the same helper methods
|
|
84
|
+
to be used with both Markaby and Erubis.
|
|
85
|
+
</p>
|
|
86
|
+
|
|
87
|
+
</div>
|
|
88
|
+
|
|
89
|
+
|
|
90
|
+
</div>
|
|
91
|
+
|
|
92
|
+
<div id="method-list">
|
|
93
|
+
<h3 class="section-bar">Methods</h3>
|
|
94
|
+
|
|
95
|
+
<div class="name-list">
|
|
96
|
+
<a href="#M000004"><<</a>
|
|
97
|
+
<a href="#M000005">capture</a>
|
|
98
|
+
<a href="#M000006">render</a>
|
|
99
|
+
</div>
|
|
100
|
+
</div>
|
|
101
|
+
|
|
102
|
+
</div>
|
|
103
|
+
|
|
104
|
+
|
|
105
|
+
<!-- if includes -->
|
|
106
|
+
<div id="includes">
|
|
107
|
+
<h3 class="section-bar">Included Modules</h3>
|
|
108
|
+
|
|
109
|
+
<div id="includes-list">
|
|
110
|
+
<span class="include-name"><a href="../Waves/Helpers/UrlHelper.html">Waves::Helpers::UrlHelper</a></span>
|
|
111
|
+
<span class="include-name"><a href="../Waves/Helpers/TagHelper.html">Waves::Helpers::TagHelper</a></span>
|
|
112
|
+
<span class="include-name"><a href="../Waves/Helpers/AssetHelper.html">Waves::Helpers::AssetHelper</a></span>
|
|
113
|
+
<span class="include-name"><a href="../Waves/Helpers/NumberHelper.html">Waves::Helpers::NumberHelper</a></span>
|
|
114
|
+
</div>
|
|
115
|
+
</div>
|
|
116
|
+
|
|
117
|
+
<div id="section">
|
|
118
|
+
|
|
119
|
+
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
|
|
123
|
+
|
|
124
|
+
|
|
125
|
+
|
|
126
|
+
<!-- if method_list -->
|
|
127
|
+
<div id="methods">
|
|
128
|
+
<h3 class="section-bar">Public Instance methods</h3>
|
|
129
|
+
|
|
130
|
+
<div id="method-M000004" class="method-detail">
|
|
131
|
+
<a name="M000004"></a>
|
|
132
|
+
|
|
133
|
+
<div class="method-heading">
|
|
134
|
+
<a href="#M000004" class="method-signature">
|
|
135
|
+
<span class="method-name"><<</span><span class="method-args">(s)</span>
|
|
136
|
+
</a>
|
|
137
|
+
</div>
|
|
138
|
+
|
|
139
|
+
<div class="method-description">
|
|
140
|
+
<p><a class="source-toggle" href="#"
|
|
141
|
+
onclick="toggleCode('M000004-source');return false;">[Source]</a></p>
|
|
142
|
+
<div class="method-source-code" id="M000004-source">
|
|
143
|
+
<pre>
|
|
144
|
+
<span class="ruby-comment cmt"># File lib/renderers/erubis.rb, line 13</span>
|
|
145
|
+
13: <span class="ruby-keyword kw">def</span> <span class="ruby-operator"><<</span>(<span class="ruby-identifier">s</span>)
|
|
146
|
+
14: <span class="ruby-identifier">eval</span>(<span class="ruby-value str">"_buf"</span>, <span class="ruby-ivar">@binding</span>).<span class="ruby-identifier">concat</span> <span class="ruby-identifier">s</span> <span class="ruby-comment cmt"># add to rendered output</span>
|
|
147
|
+
15: <span class="ruby-keyword kw">end</span>
|
|
148
|
+
</pre>
|
|
149
|
+
</div>
|
|
150
|
+
</div>
|
|
151
|
+
</div>
|
|
152
|
+
|
|
153
|
+
<div id="method-M000005" class="method-detail">
|
|
154
|
+
<a name="M000005"></a>
|
|
155
|
+
|
|
156
|
+
<div class="method-heading">
|
|
157
|
+
<a href="#M000005" class="method-signature">
|
|
158
|
+
<span class="method-name">capture</span><span class="method-args">() {|| ...}</span>
|
|
159
|
+
</a>
|
|
160
|
+
</div>
|
|
161
|
+
|
|
162
|
+
<div class="method-description">
|
|
163
|
+
<p><a class="source-toggle" href="#"
|
|
164
|
+
onclick="toggleCode('M000005-source');return false;">[Source]</a></p>
|
|
165
|
+
<div class="method-source-code" id="M000005-source">
|
|
166
|
+
<pre>
|
|
167
|
+
<span class="ruby-comment cmt"># File lib/renderers/erubis.rb, line 17</span>
|
|
168
|
+
17: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">capture</span>
|
|
169
|
+
18: <span class="ruby-identifier">eval</span>(<span class="ruby-value str">"_context.push(_buf); _buf = ''"</span>, <span class="ruby-ivar">@binding</span>) <span class="ruby-comment cmt">#ignore output from that eval, will be added via "<<"</span>
|
|
170
|
+
19: <span class="ruby-identifier">result</span> = <span class="ruby-constant">Erubis</span><span class="ruby-operator">::</span><span class="ruby-constant">Eruby</span>.<span class="ruby-identifier">new</span>(<span class="ruby-keyword kw">yield</span>).<span class="ruby-identifier">result</span> <span class="ruby-ivar">@binding</span>
|
|
171
|
+
20: <span class="ruby-identifier">eval</span>(<span class="ruby-value str">"_buf = _context.pop"</span>, <span class="ruby-ivar">@binding</span>)
|
|
172
|
+
21: <span class="ruby-identifier">result</span>
|
|
173
|
+
22: <span class="ruby-keyword kw">end</span>
|
|
174
|
+
</pre>
|
|
175
|
+
</div>
|
|
176
|
+
</div>
|
|
177
|
+
</div>
|
|
178
|
+
|
|
179
|
+
<div id="method-M000006" class="method-detail">
|
|
180
|
+
<a name="M000006"></a>
|
|
181
|
+
|
|
182
|
+
<div class="method-heading">
|
|
183
|
+
<a href="#M000006" class="method-signature">
|
|
184
|
+
<span class="method-name">render</span><span class="method-args">(eruby)</span>
|
|
185
|
+
</a>
|
|
186
|
+
</div>
|
|
187
|
+
|
|
188
|
+
<div class="method-description">
|
|
189
|
+
<p><a class="source-toggle" href="#"
|
|
190
|
+
onclick="toggleCode('M000006-source');return false;">[Source]</a></p>
|
|
191
|
+
<div class="method-source-code" id="M000006-source">
|
|
192
|
+
<pre>
|
|
193
|
+
<span class="ruby-comment cmt"># File lib/renderers/erubis.rb, line 24</span>
|
|
194
|
+
24: <span class="ruby-keyword kw">def</span> <span class="ruby-identifier">render</span>(<span class="ruby-identifier">eruby</span>)
|
|
195
|
+
25: <span class="ruby-keyword kw">unless</span> <span class="ruby-ivar">@binding</span>
|
|
196
|
+
26: <span class="ruby-ivar">@binding</span> = <span class="ruby-identifier">binding</span>
|
|
197
|
+
27: <span class="ruby-identifier">eval</span>(<span class="ruby-value str">"_buf = ''; _context = []"</span>, <span class="ruby-ivar">@binding</span>)
|
|
198
|
+
28: <span class="ruby-keyword kw">end</span>
|
|
199
|
+
29: <span class="ruby-identifier">eruby</span>.<span class="ruby-identifier">result</span> <span class="ruby-ivar">@binding</span>
|
|
200
|
+
30: <span class="ruby-keyword kw">end</span>
|
|
201
|
+
</pre>
|
|
202
|
+
</div>
|
|
203
|
+
</div>
|
|
204
|
+
</div>
|
|
205
|
+
|
|
206
|
+
|
|
207
|
+
</div>
|
|
208
|
+
|
|
209
|
+
|
|
210
|
+
</div>
|
|
211
|
+
|
|
212
|
+
|
|
213
|
+
<div id="validator-badges">
|
|
214
|
+
<p><small><a href="http://validator.w3.org/check/referer">[Validate]</a></small></p>
|
|
215
|
+
</div>
|
|
216
|
+
|
|
217
|
+
</body>
|
|
218
|
+
</html>
|