waves 0.8.0 → 0.8.1

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/bin/waves CHANGED
@@ -8,20 +8,21 @@ require 'rubygems'
8
8
  WAVES = "#{File.dirname(__FILE__)}/.." unless defined? WAVES
9
9
 
10
10
  waves = [
11
- WAVES, ENV['WAVES'], './waves'
12
- ].compact.map { |dir| File.join(dir, 'lib') }.find( &File.method( :directory? ) )
11
+ WAVES, ENV['WAVES'], './waves'
12
+ ].compact.map { |dir| File.join(dir, 'lib') }.find { |d|
13
+ File.exist? File.join( d, 'waves.rb' )
14
+ }
13
15
  if waves
14
- $: << waves
15
- waves = File.join( waves, 'waves' )
16
+ $: << waves
17
+ waves = File.join( waves, 'waves' )
16
18
  else
17
- waves = 'waves'
19
+ waves = 'waves'
18
20
  end
19
- require waves
20
21
 
22
+ require waves
21
23
 
22
24
  puts "** Waves #{Waves.version} **"
23
25
 
24
-
25
26
  begin
26
27
  require "commands/#{ARGV.first}"
27
28
  rescue LoadError => e
data/doc/VERSION CHANGED
@@ -1 +1 @@
1
- 0.8.0
1
+ 0.8.1
data/lib/commands/help.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  puts <<-HELP
2
- Usage: waves [ gen | start | console ] [ options ]
2
+ Usage: waves [ generate | server | console ] [ options ]
3
3
  Run a waves command with the given options. Use --help with any command to learn
4
- more about that command. EXAMPLE: waves gen --help
4
+ more about that command. EXAMPLE: waves generate --help
5
5
  HELP
@@ -8,7 +8,7 @@ module Waves
8
8
 
9
9
  # Redirect exceptions are rescued by the Waves dispatcher and used to set the
10
10
  # response status and location.
11
- class Redirect < Exception
11
+ class Redirect < SignalException
12
12
  attr_reader :path, :status
13
13
  def initialize( path, status = '302' )
14
14
  @path = path
@@ -2,10 +2,6 @@ module Waves
2
2
 
3
3
  module Dispatchers
4
4
 
5
- #
6
- # Waves::Dispatchers::Default processes a Waves::Request and returns a Waves::Response as follows:
7
- #
8
-
9
5
  class Default < Base
10
6
 
11
7
  # Takes a Waves::Request and returns a Waves::Response
@@ -14,6 +14,7 @@ module Waves
14
14
  require 'layers/inflect/english'
15
15
  require 'helpers/extended'
16
16
  require 'layers/renderers/erubis'
17
+ require 'layers/renderers/markaby'
17
18
 
18
19
  app.module_eval do
19
20
 
@@ -21,7 +22,7 @@ module Waves
21
22
 
22
23
  app.auto_create_module( :Configurations ) do
23
24
  include AutoCode
24
- auto_create_class :Default
25
+ auto_create_class :Default, Waves::Configurations::Default
25
26
  auto_load :Default, :directories => [ :configurations ]
26
27
  end
27
28
 
@@ -51,6 +52,7 @@ module Waves
51
52
  include Waves::Layers::Inflect::English
52
53
  include Waves::Layers::MVC
53
54
  include Waves::Renderers::Erubis
55
+ include Waves::Renderers::Markaby
54
56
 
55
57
  end
56
58
 
@@ -56,7 +56,7 @@ module Waves
56
56
  # <em>orm</em> can be a symbol or string
57
57
  def self.migration_template(orm, name=nil)
58
58
  file = ( name || 'empty' ) + '.rb.erb'
59
- source = File.dirname(__FILE__) / orm / :migrations / file
59
+ source = File.dirname(__FILE__) / :providers / orm / :migrations / file
60
60
  end
61
61
 
62
62
  # Given a migration name, returns the path of the file that would be created.
@@ -82,7 +82,6 @@ module Waves
82
82
  response.status = ( StatusCodes[ e.class ] || 500 )
83
83
  ( body = handler( e ) ) rescue raise e
84
84
  Waves::Logger.warn e.to_s
85
- Waves::Logger.debug "#{e.class.name} : #{e.message}"
86
85
  e.backtrace.each { |t| Waves::Logger.debug " #{t}" }
87
86
  ensure
88
87
  always
@@ -98,7 +97,7 @@ module Waves
98
97
  begin
99
98
  Waves.main::Resources[ resource ]
100
99
  rescue NameError
101
- raise Waves::Dispatchers::NotFoundError
100
+ raise Waves::Dispatchers::NotFoundError
102
101
  end
103
102
  Waves.main::Resources[ resource ]
104
103
  end
@@ -113,6 +112,7 @@ module Waves
113
112
  def deferred? ; false ; end
114
113
 
115
114
  before {} ; after {} ; always {}
115
+ handler( Waves::Dispatchers::Redirect ) { |e| raise e }
116
116
 
117
117
  %w( post get put delete head ).each do | method |
118
118
  on( method ) { not_found }
@@ -52,9 +52,6 @@ module Waves
52
52
  # parameters for the database connection, varies by ORM
53
53
  attribute( :database )
54
54
 
55
- # options for the session: options for duration and path
56
- attribute( :session )
57
-
58
55
  # set the debug mode flag; typically done in dev / test configurations
59
56
  attribute( :debug )
60
57
 
@@ -85,7 +82,6 @@ module Waves
85
82
 
86
83
  # default options
87
84
  debug true
88
- session :duration => 30.minutes, :path => '/tmp/sessions'
89
85
  log :level => :info, :output => $stderr
90
86
  reloadable []
91
87
  dependencies []
@@ -97,7 +93,6 @@ module Waves
97
93
  :path => '/',
98
94
  :expire_after => 2592000,
99
95
  :secret => 'Change it'
100
-
101
96
  run ::Waves::Dispatchers::Default.new
102
97
  }
103
98
  end
@@ -4,83 +4,43 @@
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
6
 
7
+ require 'rubygems'
8
+
9
+ WAVES = "#{File.dirname(__FILE__)}/.." unless defined? WAVES
10
+
11
+ waves = [
12
+ WAVES, ENV['WAVES'], './waves'
13
+ ].compact.map { |dir| File.join(dir, 'lib') }.find { |d|
14
+ File.exist? File.join( d, 'waves.rb' )
15
+ }
16
+ if waves
17
+ $: << waves
18
+ waves = File.join( waves, 'waves' )
19
+ else
20
+ waves = 'waves'
21
+ end
22
+
23
+ require waves
24
+ require 'runtime/console'
25
+
7
26
  begin
8
- require 'startup'
9
27
  Waves::Console.load(:mode => ENV['mode'])
10
28
 
11
29
  # load tasks from waves framework
12
- %w( cluster generate gem ).each { |task| require "tasks/#{task}.rb" }
30
+ %w( generate gem ).each { |task| require "tasks/#{task}.rb" }
13
31
 
14
32
  # load tasks from this app's lib/tasks
15
33
  Dir["lib/tasks/*.{rb,rake}"].each { |task| require task }
16
34
 
17
35
  rescue LoadError => e
18
36
  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"
37
+ puts "Can't find Waves source. Install gem, freeze Waves, or define WAVES at the top of the Rakefile"
20
38
  puts
21
39
  else
22
40
  raise e
23
41
  end
24
42
  end
25
43
 
26
- namespace :dep do
27
-
28
- desc "check if all the dependencies specified in the configuration"
29
- task :check do
30
-
31
- gems = Gem::SourceIndex.from_installed_gems.to_a.to_s
32
- missing = Array.new
33
-
34
- puts "\nApplication-level dependencies:"
35
- puts " ('*' means gem is installed and available)"
36
-
37
- Waves.config.dependencies.each do |dep|
38
- pattern = /=#{dep}\s/
39
- print "\t#{dep}:\t\t"
40
- print "\t" if dep.length < 7 # keep our formatting pretty, please.
41
- unless pattern.match(gems).nil?
42
- print "[*]\n"
43
- else
44
- print "[ ]\n"
45
- end
46
- end
47
- end
48
-
49
- desc "install any missing dependencies specified in the configuration"
50
- task :install do
51
-
52
- gems = Gem::SourceIndex.from_installed_gems.to_a.to_s
53
- missing = Array.new
54
-
55
- Waves.config.dependencies.each do |dep|
56
- pattern = /=#{dep}\s/
57
- missing << dep if pattern.match(gems).nil?
58
- end
59
-
60
- missing.each do |m|
61
- dep,ver = m.is_a?(String) ? [m,''] : m
62
- puts "Installing dependency: #{dep}"
63
- puts ver
64
- begin
65
- require 'rubygems/dependency_installer'
66
- if Gem::RubyGemsVersion =~ /^1\.0\./
67
- Gem::DependencyInstaller.new(dep).install
68
- else
69
- # as of 1.1.0
70
- Gem::DependencyInstaller.new.install(dep)
71
- end
72
- rescue LoadError # < rubygems 1.0.1
73
- require 'rubygems/remote_installer'
74
- Gem::RemoteInstaller.new.install(dep)
75
- end
76
- end
77
-
78
- puts "Environment complete. Nothing to install." if missing.empty?
79
-
80
- end
81
-
82
- end
83
-
84
44
  namespace :waves do
85
45
 
86
46
  desc "freeze src=<wherever> to ./waves"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -1,2 +1,7 @@
1
+ style <<-STYLE
2
+ body { background: #933; padding: 20px; font-family: verdana, sans-serif; }
3
+ h1 { font-size: 60px; font-weight: bold; margin: 0px; }
4
+ p { font-size: 24px; margin: 0px; }
5
+ STYLE
1
6
  h1 '404'
2
- p %q( That URL does not exist on this server. )
7
+ p { 'That URL does not exist on this server.' }
@@ -1,2 +1,7 @@
1
+ style <<-STYLE
2
+ body { background: #c93; padding: 20px; font-family: verdana, sans-serif; }
3
+ h1 { font-size: 60px; font-weight: bold; margin: 0px; }
4
+ p { font-size: 24px; margin: 0px; }
5
+ STYLE
1
6
  h1 '500'
2
7
  p %q( Internal server error. Sorry, but your request could not be processed. )
File without changes
File without changes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: waves
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.8.0
4
+ version: 0.8.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dan Yoder
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-11-02 01:00:00 -07:00
12
+ date: 2008-11-07 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -18,9 +18,19 @@ dependencies:
18
18
  version_requirement:
19
19
  version_requirements: !ruby/object:Gem::Requirement
20
20
  requirements:
21
- - - ">="
21
+ - - ~>
22
+ - !ruby/object:Gem::Version
23
+ version: "0.6"
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: choice
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
22
32
  - !ruby/object:Gem::Version
23
- version: 0.6.6
33
+ version: "0.1"
24
34
  version:
25
35
  - !ruby/object:Gem::Dependency
26
36
  name: autocode
@@ -38,9 +48,9 @@ dependencies:
38
48
  version_requirement:
39
49
  version_requirements: !ruby/object:Gem::Requirement
40
50
  requirements:
41
- - - ">="
51
+ - - ~>
42
52
  - !ruby/object:Gem::Version
43
- version: 0.2.0
53
+ version: "0.2"
44
54
  version:
45
55
  - !ruby/object:Gem::Dependency
46
56
  name: rack
@@ -48,9 +58,9 @@ dependencies:
48
58
  version_requirement:
49
59
  version_requirements: !ruby/object:Gem::Requirement
50
60
  requirements:
51
- - - ">="
61
+ - - ~>
52
62
  - !ruby/object:Gem::Version
53
- version: 0.4.0
63
+ version: "0.4"
54
64
  version:
55
65
  - !ruby/object:Gem::Dependency
56
66
  name: filebase
@@ -68,9 +78,9 @@ dependencies:
68
78
  version_requirement:
69
79
  version_requirements: !ruby/object:Gem::Requirement
70
80
  requirements:
71
- - - ">="
81
+ - - ~>
72
82
  - !ruby/object:Gem::Version
73
- version: 0.3.0
83
+ version: "0.3"
74
84
  version:
75
85
  - !ruby/object:Gem::Dependency
76
86
  name: extensions
@@ -78,9 +88,9 @@ dependencies:
78
88
  version_requirement:
79
89
  version_requirements: !ruby/object:Gem::Requirement
80
90
  requirements:
81
- - - ">="
91
+ - - ~>
82
92
  - !ruby/object:Gem::Version
83
- version: 0.6.0
93
+ version: "0.6"
84
94
  version:
85
95
  - !ruby/object:Gem::Dependency
86
96
  name: RedCloth
@@ -88,9 +98,9 @@ dependencies:
88
98
  version_requirement:
89
99
  version_requirements: !ruby/object:Gem::Requirement
90
100
  requirements:
91
- - - ">="
101
+ - - ~>
92
102
  - !ruby/object:Gem::Version
93
- version: 4.0.0
103
+ version: "4.0"
94
104
  version:
95
105
  - !ruby/object:Gem::Dependency
96
106
  name: live_console
@@ -98,9 +108,9 @@ dependencies:
98
108
  version_requirement:
99
109
  version_requirements: !ruby/object:Gem::Requirement
100
110
  requirements:
101
- - - ">="
111
+ - - ~>
102
112
  - !ruby/object:Gem::Version
103
- version: 0.2.0
113
+ version: "0.2"
104
114
  version:
105
115
  - !ruby/object:Gem::Dependency
106
116
  name: functor
@@ -121,6 +131,50 @@ extensions: []
121
131
  extra_rdoc_files: []
122
132
 
123
133
  files:
134
+ - templates/classic
135
+ - templates/classic/configurations
136
+ - templates/classic/configurations/default.rb.erb
137
+ - templates/classic/configurations/development.rb.erb
138
+ - templates/classic/configurations/production.rb.erb
139
+ - templates/classic/controllers
140
+ - templates/classic/helpers
141
+ - templates/classic/lib
142
+ - templates/classic/lib/tasks
143
+ - templates/classic/models
144
+ - templates/classic/public
145
+ - templates/classic/public/css
146
+ - templates/classic/public/flash
147
+ - templates/classic/public/images
148
+ - templates/classic/public/javascript
149
+ - templates/classic/Rakefile
150
+ - templates/classic/resources
151
+ - templates/classic/resources/map.rb.erb
152
+ - templates/classic/schema
153
+ - templates/classic/schema/migrations
154
+ - templates/classic/startup.rb.erb
155
+ - templates/classic/templates
156
+ - templates/classic/templates/errors
157
+ - templates/classic/templates/errors/not_found_404.mab
158
+ - templates/classic/templates/errors/server_error_500.mab
159
+ - templates/classic/templates/layouts
160
+ - templates/classic/templates/layouts/default.mab
161
+ - templates/classic/tmp
162
+ - templates/classic/tmp/sessions
163
+ - templates/classic/views
164
+ - templates/compact
165
+ - templates/compact/startup.rb.erb
166
+ - templates/classic/controllers/.gitignore
167
+ - templates/classic/helpers/.gitignore
168
+ - templates/classic/lib/tasks/.gitignore
169
+ - templates/classic/models/.gitignore
170
+ - templates/classic/public/css/.gitignore
171
+ - templates/classic/public/flash/.gitignore
172
+ - templates/classic/public/images/.gitignore
173
+ - templates/classic/public/javascript/.gitignore
174
+ - templates/classic/resources/.gitignore
175
+ - templates/classic/schema/migrations/.gitignore
176
+ - templates/classic/tmp/sessions/.gitignore
177
+ - templates/classic/views/.gitignore
124
178
  - lib/caches/file.rb
125
179
  - lib/caches/memcached.rb
126
180
  - lib/caches/simple.rb
@@ -251,38 +305,6 @@ files:
251
305
  - samples/blog/templates/waves/status.mab
252
306
  - samples/blog/tmp
253
307
  - samples/blog/tmp/sessions
254
- - templates/classic
255
- - templates/classic/configurations
256
- - templates/classic/configurations/default.rb.erb
257
- - templates/classic/configurations/development.rb.erb
258
- - templates/classic/configurations/production.rb.erb
259
- - templates/classic/controllers
260
- - templates/classic/helpers
261
- - templates/classic/lib
262
- - templates/classic/lib/tasks
263
- - templates/classic/models
264
- - templates/classic/public
265
- - templates/classic/public/css
266
- - templates/classic/public/flash
267
- - templates/classic/public/images
268
- - templates/classic/public/javascript
269
- - templates/classic/Rakefile
270
- - templates/classic/resources
271
- - templates/classic/resources/map.rb.erb
272
- - templates/classic/schema
273
- - templates/classic/schema/migrations
274
- - templates/classic/startup.rb.erb
275
- - templates/classic/templates
276
- - templates/classic/templates/errors
277
- - templates/classic/templates/errors/not_found_404.mab
278
- - templates/classic/templates/errors/server_error_500.mab
279
- - templates/classic/templates/layouts
280
- - templates/classic/templates/layouts/default.mab
281
- - templates/classic/tmp
282
- - templates/classic/tmp/sessions
283
- - templates/classic/views
284
- - templates/compact
285
- - templates/compact/startup.rb.erb
286
308
  has_rdoc: true
287
309
  homepage: http://rubywaves.com
288
310
  post_install_message: