ramaze 2012.04.14 → 2012.12.08b
Sign up to get free protection for your applications and to get access to all the features.
- data/.gems +28 -35
- data/.gitignore +4 -0
- data/.travis.yml +3 -3
- data/Gemfile +3 -0
- data/README.md +1 -5
- data/Rakefile +9 -20
- data/examples/app/blog/app.rb +5 -14
- data/examples/app/todolist/start.rb +1 -5
- data/guide/AUTHORS +8 -3
- data/guide/CHANGELOG +587 -0
- data/guide/general/cache.md +1 -0
- data/guide/general/configuration.md +2 -1
- data/guide/general/contributing.md +1 -0
- data/guide/general/controllers.md +105 -10
- data/guide/general/helpers.md +6 -7
- data/guide/general/installation.md +2 -1
- data/guide/general/logging.md +1 -4
- data/guide/general/middlewares.md +15 -23
- data/guide/general/models.md +1 -0
- data/guide/general/principles.md +1 -0
- data/guide/general/ramaze_command.md +9 -54
- data/guide/general/routes.md +1 -0
- data/guide/general/sessions.md +3 -2
- data/guide/general/special_thanks.md +1 -0
- data/guide/general/testing.md +1 -0
- data/guide/general/views.md +35 -22
- data/lib/proto/Gemfile +4 -0
- data/lib/proto/README.md +35 -0
- data/lib/proto/Rakefile +1 -0
- data/lib/proto/app.rb +2 -6
- data/lib/proto/spec/helper.rb +39 -0
- data/lib/proto/task/ramaze.rake +57 -0
- data/lib/ramaze.rb +12 -39
- data/lib/ramaze/bin/create.rb +1 -3
- data/lib/ramaze/bin/runner.rb +0 -14
- data/lib/ramaze/cache.rb +21 -0
- data/lib/ramaze/cache/memcache.rb +1 -3
- data/lib/ramaze/cache/redis.rb +2 -4
- data/lib/ramaze/cache/sequel.rb +4 -5
- data/lib/ramaze/controller.rb +10 -3
- data/lib/ramaze/default_middleware.rb +24 -0
- data/lib/ramaze/files.rb +5 -5
- data/lib/ramaze/gestalt.rb +10 -10
- data/lib/ramaze/helper/blue_form.rb +33 -6
- data/lib/ramaze/helper/csrf.rb +22 -30
- data/lib/ramaze/helper/flash.rb +1 -1
- data/lib/ramaze/helper/upload.rb +5 -3
- data/lib/ramaze/helper/user.rb +1 -0
- data/lib/ramaze/log.rb +0 -5
- data/lib/ramaze/log/informer.rb +3 -3
- data/lib/ramaze/log/logging.rb +4 -4
- data/lib/ramaze/log/syslog.rb +2 -2
- data/lib/ramaze/response.rb +1 -1
- data/lib/ramaze/snippets.rb +0 -20
- data/lib/ramaze/spec/bacon.rb +5 -13
- data/lib/ramaze/version.rb +1 -1
- data/lib/ramaze/view/erector.rb +1 -3
- data/lib/ramaze/view/erubis.rb +1 -3
- data/lib/ramaze/view/ezamar.rb +1 -3
- data/lib/ramaze/view/haml.rb +1 -4
- data/lib/ramaze/view/liquid.rb +1 -3
- data/lib/ramaze/view/lokar.rb +1 -3
- data/lib/ramaze/view/mustache.rb +1 -3
- data/lib/ramaze/view/nagoro.rb +1 -4
- data/lib/ramaze/view/remarkably.rb +1 -4
- data/lib/ramaze/view/sass.rb +2 -5
- data/lib/ramaze/view/slim.rb +1 -3
- data/lib/ramaze/view/slippers.rb +1 -3
- data/lib/ramaze/view/tagz.rb +1 -3
- data/lib/ramaze/view/tenjin.rb +1 -3
- data/ramaze.gemspec +45 -16
- data/spec/helper.rb +0 -1
- data/spec/ramaze/cache/localmemcache.rb +0 -4
- data/spec/ramaze/controller/mapping.rb +17 -0
- data/spec/ramaze/dispatcher/directory.rb +6 -5
- data/spec/ramaze/dispatcher/file.rb +7 -4
- data/spec/ramaze/files.rb +0 -2
- data/spec/ramaze/helper/csrf.rb +0 -26
- data/spec/ramaze/helper/upload.rb +1 -0
- data/spec/ramaze/helper/user.rb +12 -0
- data/spec/ramaze/log/syslog.rb +5 -1
- data/spec/ramaze/view/lokar.rb +1 -1
- data/spec/ramaze/view/nagoro.rb +1 -1
- data/tasks/bacon.rake +1 -1
- data/tasks/gems.rake +15 -0
- data/tasks/release.rake +37 -8
- metadata +106 -139
- data/guide/_static/ramaze_console.png +0 -0
- data/guide/tutorials/introduction.md +0 -263
- data/lib/proto/model/init.rb +0 -6
- data/lib/proto/public/.htaccess +0 -24
- data/lib/proto/public/dispatch.fcgi +0 -11
- data/lib/proto/spec/main.rb +0 -20
- data/lib/proto/start.rb +0 -20
- data/lib/ramaze/app_graph.rb +0 -105
- data/lib/ramaze/bin/console.rb +0 -87
- data/lib/ramaze/bin/helper.rb +0 -107
- data/lib/ramaze/bin/restart.rb +0 -95
- data/lib/ramaze/bin/start.rb +0 -221
- data/lib/ramaze/bin/status.rb +0 -152
- data/lib/ramaze/bin/stop.rb +0 -112
- data/lib/ramaze/dependencies.rb +0 -84
- data/lib/ramaze/helper/disqus.rb +0 -27
- data/lib/ramaze/helper/ultraviolet.rb +0 -49
- data/lib/ramaze/log/analogger.rb +0 -50
- data/lib/ramaze/log/growl.rb +0 -55
- data/lib/ramaze/log/knotify.rb +0 -31
- data/lib/ramaze/log/xosd.rb +0 -94
- data/lib/ramaze/middleware_compiler.rb +0 -36
- data/lib/ramaze/plugin.rb +0 -69
- data/lib/ramaze/setup.rb +0 -210
- data/lib/ramaze/snippets/array/put_within.rb +0 -38
- data/lib/ramaze/snippets/binding/locals.rb +0 -20
- data/lib/ramaze/snippets/fiber.rb +0 -41
- data/lib/ramaze/snippets/kernel/pretty_inspect.rb +0 -18
- data/lib/ramaze/snippets/metaid.rb +0 -17
- data/lib/ramaze/snippets/numeric/filesize_format.rb +0 -30
- data/lib/ramaze/snippets/numeric/time.rb +0 -59
- data/lib/ramaze/snippets/object/instance_variable_defined.rb +0 -16
- data/lib/ramaze/snippets/object/pretty.rb +0 -12
- data/lib/ramaze/snippets/object/scope.rb +0 -16
- data/lib/ramaze/snippets/ordered_set.rb +0 -51
- data/lib/ramaze/snippets/proc/locals.rb +0 -19
- data/lib/ramaze/snippets/ramaze/acquire.rb +0 -32
- data/lib/ramaze/snippets/ramaze/dictionary.rb +0 -400
- data/lib/ramaze/snippets/ramaze/fiber.rb +0 -24
- data/lib/ramaze/snippets/ramaze/struct.rb +0 -43
- data/lib/ramaze/snippets/string/end_with.rb +0 -17
- data/lib/ramaze/snippets/string/ord.rb +0 -16
- data/lib/ramaze/snippets/string/start_with.rb +0 -14
- data/lib/ramaze/snippets/thread/into.rb +0 -16
- data/lib/ramaze/spec.rb +0 -4
- data/spec/ramaze/bin/start.rb +0 -34
- data/spec/ramaze/log/growl.rb +0 -45
- data/spec/ramaze/struct.rb +0 -50
- data/spec/snippets/array/put_within.rb +0 -38
- data/spec/snippets/binding/locals.rb +0 -12
- data/spec/snippets/numeric/filesize_format.rb +0 -15
- data/spec/snippets/numeric/time.rb +0 -15
- data/spec/snippets/ordered_set.rb +0 -66
- data/spec/snippets/ramaze/acquire.rb +0 -80
- data/spec/snippets/ramaze/dictionary.rb +0 -113
- data/spec/snippets/ramaze/struct.rb +0 -15
- data/spec/snippets/thread/into.rb +0 -12
- data/tasks/gem.rake +0 -21
- data/tasks/setup.rake +0 -14
data/lib/ramaze/log/informer.rb
CHANGED
@@ -40,15 +40,15 @@ module Ramaze
|
|
40
40
|
# Informer.new # => logs to stdout with all levels being shown.
|
41
41
|
# Informer.new($stderr) # => same, but to stderr
|
42
42
|
#
|
43
|
-
# # same, but logs to the file foo.log (or creates it if it doesn't
|
43
|
+
# # same, but logs to the file foo.log (or creates it if it doesn't
|
44
44
|
# # exist yet)
|
45
45
|
# Informer.new("foo.log")
|
46
46
|
#
|
47
47
|
# Informer.new($stdout, [:info]) #=> show only #info messages to stdout.
|
48
48
|
#
|
49
|
-
# @param [String] out Specifies where the output should go. By default
|
49
|
+
# @param [String] out Specifies where the output should go. By default
|
50
50
|
# this is set to STDOUT.
|
51
|
-
# @param [Array]
|
51
|
+
# @param [Array] log_levels Array containing the levels that should be
|
52
52
|
# logged.
|
53
53
|
#
|
54
54
|
def initialize(out = $stdout, log_levels = [:debug, :error, :info, :warn])
|
data/lib/ramaze/log/logging.rb
CHANGED
@@ -4,7 +4,7 @@
|
|
4
4
|
module Ramaze
|
5
5
|
##
|
6
6
|
# This module provides a basic skeleton for your own loggers to be compatible.
|
7
|
-
#
|
7
|
+
#
|
8
8
|
# @example
|
9
9
|
# class MyLogger
|
10
10
|
# include Logging
|
@@ -22,7 +22,7 @@ module Ramaze
|
|
22
22
|
# If you include this module you have to define #log or it will raise.
|
23
23
|
#
|
24
24
|
# @param [String] tag The level of the log message.
|
25
|
-
# @param [String]
|
25
|
+
# @param [String] meth
|
26
26
|
# @param [Array] msgs The data that should be logged.
|
27
27
|
#
|
28
28
|
def tag_log(tag, meth, *msgs)
|
@@ -35,7 +35,7 @@ module Ramaze
|
|
35
35
|
##
|
36
36
|
# Converts everything given to strings and passes them on with :info
|
37
37
|
#
|
38
|
-
# @param [Array] objects An array of objects that need to be converted to
|
38
|
+
# @param [Array] objects An array of objects that need to be converted to
|
39
39
|
# strings.
|
40
40
|
#
|
41
41
|
def info(*objects)
|
@@ -45,7 +45,7 @@ module Ramaze
|
|
45
45
|
##
|
46
46
|
# Converts everything given to strings and passes them on with :warn
|
47
47
|
#
|
48
|
-
# @param [Array] objects An array of objects that need to be converted to
|
48
|
+
# @param [Array] objects An array of objects that need to be converted to
|
49
49
|
# strings.
|
50
50
|
#
|
51
51
|
def warn(*objects)
|
data/lib/ramaze/log/syslog.rb
CHANGED
@@ -38,8 +38,7 @@ module Ramaze
|
|
38
38
|
# Just sends all messages received to ::Syslog
|
39
39
|
# We simply return if the log was closed for some reason, this behavior
|
40
40
|
# was copied from Informer. We do not handle levels here. This will
|
41
|
-
# be done by
|
42
|
-
#
|
41
|
+
# be done by the syslog daemon based on it's configuration.
|
43
42
|
def log(tag, *messages)
|
44
43
|
return if !::Syslog.opened?
|
45
44
|
tag = tag.to_sym
|
@@ -48,6 +47,7 @@ module Ramaze
|
|
48
47
|
tag = ALIASES[tag]
|
49
48
|
end
|
50
49
|
|
50
|
+
messages = messages.map {|m| m.gsub(/(%[^m])/,'%\1')}
|
51
51
|
::Syslog.send(tag, *messages)
|
52
52
|
end
|
53
53
|
|
data/lib/ramaze/response.rb
CHANGED
@@ -22,7 +22,7 @@ module Ramaze
|
|
22
22
|
# @param [Fixnum] status The HTPP status code for the response.
|
23
23
|
# @param [Hash] header A hash containing additional headers and their
|
24
24
|
# values.
|
25
|
-
# @param [Proc]
|
25
|
+
# @param [Proc] block
|
26
26
|
#
|
27
27
|
def initialize(body = [], status = 200, header = {}, &block)
|
28
28
|
modified_header = Ramaze.options.header.merge(header)
|
data/lib/ramaze/snippets.rb
CHANGED
@@ -1,35 +1,15 @@
|
|
1
1
|
# Copyright (c) 2009 Michael Fellinger m.fellinger@gmail.com
|
2
2
|
# All files in this distribution are subject to the terms of the MIT license.
|
3
3
|
|
4
|
-
require 'ramaze/snippets/array/put_within'
|
5
|
-
require 'ramaze/snippets/binding/locals'
|
6
4
|
require 'ramaze/snippets/blankslate'
|
7
|
-
require 'ramaze/snippets/fiber'
|
8
|
-
require 'ramaze/snippets/kernel/pretty_inspect'
|
9
|
-
require 'ramaze/snippets/metaid'
|
10
|
-
require 'ramaze/snippets/numeric/filesize_format'
|
11
|
-
require 'ramaze/snippets/numeric/time'
|
12
5
|
require 'ramaze/snippets/object/__dir__'
|
13
|
-
require 'ramaze/snippets/object/instance_variable_defined'
|
14
|
-
require 'ramaze/snippets/object/pretty'
|
15
|
-
require 'ramaze/snippets/object/scope'
|
16
|
-
require 'ramaze/snippets/ordered_set'
|
17
|
-
require 'ramaze/snippets/proc/locals'
|
18
|
-
require 'ramaze/snippets/ramaze/acquire'
|
19
6
|
require 'ramaze/snippets/ramaze/deprecated'
|
20
|
-
require 'ramaze/snippets/ramaze/dictionary'
|
21
|
-
require 'ramaze/snippets/ramaze/fiber'
|
22
7
|
require 'ramaze/snippets/ramaze/lru_hash'
|
23
|
-
require 'ramaze/snippets/ramaze/struct'
|
24
8
|
require 'ramaze/snippets/string/camel_case'
|
25
9
|
require 'ramaze/snippets/string/color'
|
26
|
-
require 'ramaze/snippets/string/end_with'
|
27
10
|
require 'ramaze/snippets/string/esc'
|
28
|
-
require 'ramaze/snippets/string/ord'
|
29
11
|
require 'ramaze/snippets/string/snake_case'
|
30
|
-
require 'ramaze/snippets/string/start_with'
|
31
12
|
require 'ramaze/snippets/string/unindent'
|
32
|
-
require 'ramaze/snippets/thread/into'
|
33
13
|
|
34
14
|
Ramaze::CoreExtensions.constants.each do |const|
|
35
15
|
ext = Ramaze::CoreExtensions.const_get(const)
|
data/lib/ramaze/spec/bacon.rb
CHANGED
@@ -1,13 +1,9 @@
|
|
1
|
-
begin
|
2
|
-
require 'bacon'
|
3
|
-
rescue LoadError
|
4
|
-
require 'rubygems'
|
5
|
-
require 'bacon'
|
6
|
-
end
|
7
|
-
|
8
1
|
require File.expand_path('../../../ramaze', __FILE__)
|
2
|
+
require 'bacon'
|
9
3
|
require 'innate/spec/bacon'
|
10
4
|
|
5
|
+
Ramaze.middleware(:spec) { run Ramaze.core }
|
6
|
+
|
11
7
|
def spec_requires(*libs)
|
12
8
|
spec_precondition 'require' do
|
13
9
|
libs.each { |lib| require(lib) }
|
@@ -25,16 +21,12 @@ rescue Exception => ex
|
|
25
21
|
exit 0
|
26
22
|
end
|
27
23
|
|
28
|
-
# minimal middleware, no exception handling
|
29
|
-
Ramaze.middleware!(:spec) do |m|
|
30
|
-
m.run(Ramaze::AppMap)
|
31
|
-
end
|
32
|
-
|
33
24
|
shared :rack_test do
|
34
25
|
Ramaze.setup_dependencies
|
26
|
+
|
35
27
|
extend Rack::Test::Methods
|
36
28
|
|
37
|
-
def app; Ramaze
|
29
|
+
def app; Ramaze; end
|
38
30
|
end
|
39
31
|
|
40
32
|
shared :webrat do
|
data/lib/ramaze/version.rb
CHANGED
data/lib/ramaze/view/erector.rb
CHANGED
data/lib/ramaze/view/erubis.rb
CHANGED
data/lib/ramaze/view/ezamar.rb
CHANGED
data/lib/ramaze/view/haml.rb
CHANGED
data/lib/ramaze/view/liquid.rb
CHANGED
data/lib/ramaze/view/lokar.rb
CHANGED
data/lib/ramaze/view/mustache.rb
CHANGED
data/lib/ramaze/view/nagoro.rb
CHANGED
data/lib/ramaze/view/sass.rb
CHANGED
data/lib/ramaze/view/slim.rb
CHANGED
data/lib/ramaze/view/slippers.rb
CHANGED
data/lib/ramaze/view/tagz.rb
CHANGED
data/lib/ramaze/view/tenjin.rb
CHANGED
data/ramaze.gemspec
CHANGED
@@ -1,28 +1,57 @@
|
|
1
|
-
require File.expand_path('../lib/ramaze/version'
|
2
|
-
require File.expand_path('../lib/ramaze/dependencies', __FILE__)
|
1
|
+
require File.expand_path('../lib/ramaze/version', __FILE__)
|
3
2
|
|
4
|
-
# Get all the files from the manifest
|
5
3
|
path = File.expand_path('../', __FILE__)
|
6
4
|
|
7
5
|
Gem::Specification.new do |s|
|
8
|
-
s.name
|
9
|
-
s.version
|
10
|
-
s.date
|
11
|
-
s.authors
|
12
|
-
s.email
|
13
|
-
s.summary
|
14
|
-
s.homepage
|
15
|
-
s.description
|
6
|
+
s.name = 'ramaze'
|
7
|
+
s.version = Ramaze::VERSION
|
8
|
+
s.date = Time.now.strftime('%Y-%m-%d')
|
9
|
+
s.authors = ['Michael \'manveru\' Fellinger', 'Yorick Peterse']
|
10
|
+
s.email = ['m.fellinger@gmail.com', 'yorickpeterse@gmail.com']
|
11
|
+
s.summary = 'Ramaze is a simple and modular web framework'
|
12
|
+
s.homepage = 'http://ramaze.net/'
|
13
|
+
s.description = s.summary
|
14
|
+
|
16
15
|
s.required_rubygems_version = '>= 1.3.5'
|
17
16
|
s.files = `cd #{path}; git ls-files`.split("\n").sort
|
18
17
|
s.has_rdoc = 'yard'
|
19
18
|
s.executables = ['ramaze']
|
20
19
|
|
21
|
-
|
22
|
-
|
20
|
+
s.add_dependency 'innate', '>= 2012.12'
|
21
|
+
s.add_dependency 'rake'
|
22
|
+
|
23
|
+
s.add_development_dependency 'Remarkably'
|
24
|
+
s.add_development_dependency 'bacon'
|
25
|
+
s.add_development_dependency 'dalli'
|
26
|
+
s.add_development_dependency 'erector'
|
27
|
+
s.add_development_dependency 'erubis'
|
28
|
+
s.add_development_dependency 'ezamar'
|
29
|
+
s.add_development_dependency 'haml'
|
30
|
+
s.add_development_dependency 'hpricot'
|
31
|
+
s.add_development_dependency 'liquid'
|
32
|
+
s.add_development_dependency 'locale'
|
33
|
+
s.add_development_dependency 'maruku'
|
34
|
+
s.add_development_dependency 'mustache'
|
35
|
+
s.add_development_dependency 'rack-contrib'
|
36
|
+
s.add_development_dependency 'rack-test'
|
37
|
+
s.add_development_dependency 'rdiscount'
|
38
|
+
s.add_development_dependency 'redis'
|
39
|
+
s.add_development_dependency 'sass'
|
40
|
+
s.add_development_dependency 'sequel'
|
41
|
+
s.add_development_dependency 'slim'
|
42
|
+
s.add_development_dependency 'slippers'
|
43
|
+
s.add_development_dependency 'sqlite3'
|
44
|
+
s.add_development_dependency 'tagz'
|
45
|
+
s.add_development_dependency 'tenjin'
|
46
|
+
s.add_development_dependency 'yard'
|
47
|
+
s.add_development_dependency 'localmemcache'
|
48
|
+
|
49
|
+
if RUBY_VERSION.to_f >= 1.9
|
50
|
+
s.add_development_dependency 'lokar'
|
23
51
|
end
|
24
52
|
|
25
|
-
|
26
|
-
|
53
|
+
# Nagoro doesn't seem to work on Rbx
|
54
|
+
if !RUBY_DESCRIPTION.include?('rubinius')
|
55
|
+
s.add_development_dependency 'nagoro'
|
27
56
|
end
|
28
|
-
end
|
57
|
+
end
|
data/spec/helper.rb
CHANGED
@@ -3,10 +3,6 @@
|
|
3
3
|
|
4
4
|
require File.expand_path('../../../../spec/helper', __FILE__)
|
5
5
|
|
6
|
-
spec_precondition 'LocalMemcache should be supported' do
|
7
|
-
should.flunk if Ramaze::UNSUPPORTED_GEMS.include?('localmemcache')
|
8
|
-
end
|
9
|
-
|
10
6
|
spec_require 'localmemcache'
|
11
7
|
|
12
8
|
describe Ramaze::Cache::LocalMemCache do
|
@@ -20,6 +20,10 @@ describe 'Controller::generate_mapping' do
|
|
20
20
|
gen('Module::ClassController').should == '/module/class'
|
21
21
|
end
|
22
22
|
|
23
|
+
it 'maps Module::MainController to /module/' do
|
24
|
+
gen('Module::MainController').should == '/module/'
|
25
|
+
end
|
26
|
+
|
23
27
|
it 'maps Class to /class' do
|
24
28
|
gen('Class').should == '/class'
|
25
29
|
end
|
@@ -32,6 +36,10 @@ describe 'Controller::generate_mapping' do
|
|
32
36
|
gen('Module::Module::Class').should == '/module/module/class'
|
33
37
|
end
|
34
38
|
|
39
|
+
it 'maps Module::Module::MainController to module/module/' do
|
40
|
+
gen('Module::Module::MainController').should == '/module/module/'
|
41
|
+
end
|
42
|
+
|
35
43
|
it "maps MainController to '/'" do
|
36
44
|
gen('MainController').should == '/'
|
37
45
|
end
|
@@ -40,7 +48,16 @@ describe 'Controller::generate_mapping' do
|
|
40
48
|
gen('Controller').should == nil
|
41
49
|
end
|
42
50
|
|
51
|
+
it "doesn't map Module::Controller" do
|
52
|
+
gen('Module::Controller').should == nil
|
53
|
+
end
|
54
|
+
|
43
55
|
it "doesn't map anonymous classes" do
|
44
56
|
gen(Class.new.name).should == nil
|
45
57
|
end
|
58
|
+
|
59
|
+
it "respects custom irregular mappings" do
|
60
|
+
Ramaze::Controller::IRREGULAR_MAPPING['Snake'] = 'snake_on_a_plane'
|
61
|
+
gen('Some::Snake').should == '/some/snake_on_a_plane'
|
62
|
+
end
|
46
63
|
end
|
@@ -5,11 +5,11 @@ require File.expand_path('../../../../spec/helper', __FILE__)
|
|
5
5
|
|
6
6
|
spec_require 'hpricot'
|
7
7
|
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
8
|
+
Ramaze.middleware(:spec) do
|
9
|
+
run Rack::ETag.new(
|
10
|
+
Rack::ConditionalGet.new(Rack::Directory.new(__DIR__('public'))),
|
11
|
+
'public'
|
12
|
+
)
|
13
13
|
end
|
14
14
|
|
15
15
|
describe 'Directory listing' do
|
@@ -30,6 +30,7 @@ describe 'Directory listing' do
|
|
30
30
|
end
|
31
31
|
|
32
32
|
Ramaze.map('/', lambda{|env| [404, {}, ['not found']]})
|
33
|
+
Ramaze.recompile_middleware(:spec)
|
33
34
|
|
34
35
|
def build_listing(path)
|
35
36
|
get('path').body
|