ramaze 2010.06.18 → 2011.01
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/MANIFEST +9 -16
- data/README.md +37 -30
- data/Rakefile +5 -1
- data/TODO.md +19 -0
- data/doc/AUTHORS +5 -1
- data/doc/CHANGELOG +3553 -3272
- data/doc/tutorial/todolist.html +1512 -1512
- data/examples/app/blog/app.rb +2 -0
- data/examples/app/todolist/controller/init.rb +1 -2
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-21-12.mkd +1 -1
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-23-10.mkd +1 -1
- data/examples/app/wiktacular/mkd/main/2007-07-20_19-45-07.mkd +1 -1
- data/examples/app/wiktacular/mkd/main/current.mkd +1 -1
- data/examples/app/wiktacular/mkd/testing/2007-07-20_16-43-46.mkd +1 -1
- data/examples/app/wiktacular/mkd/testing/2007-07-20_19-43-50.mkd +2 -2
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-47-08.mkd +16 -16
- data/examples/app/wiktacular/mkd/testing/2007-07-21_18-47-54.mkd +16 -16
- data/examples/app/wiktacular/mkd/testing/current.mkd +16 -16
- data/lib/proto/model/init.rb +1 -1
- data/lib/proto/public/js/jquery.js +2034 -1095
- data/lib/proto/start.rb +2 -0
- data/lib/proto/view/index.xhtml +3 -3
- data/lib/ramaze.rb +1 -2
- data/lib/ramaze/cache.rb +1 -0
- data/lib/ramaze/cache/sequel.rb +131 -37
- data/lib/ramaze/controller.rb +1 -0
- data/lib/ramaze/gestalt.rb +75 -46
- data/lib/ramaze/helper.rb +1 -0
- data/lib/ramaze/helper/auth.rb +38 -4
- data/lib/ramaze/helper/blue_form.rb +498 -78
- data/lib/ramaze/helper/cache.rb +2 -2
- data/lib/ramaze/helper/csrf.rb +225 -0
- data/lib/ramaze/helper/erector.rb +67 -9
- data/lib/ramaze/helper/flash.rb +4 -2
- data/lib/ramaze/helper/gestalt.rb +2 -0
- data/lib/ramaze/helper/gravatar.rb +1 -1
- data/lib/ramaze/helper/localize.rb +4 -0
- data/lib/ramaze/helper/send_file.rb +30 -0
- data/lib/ramaze/helper/thread.rb +5 -0
- data/lib/ramaze/helper/user.rb +4 -3
- data/lib/ramaze/helper/xhtml.rb +87 -8
- data/lib/ramaze/log.rb +13 -0
- data/lib/ramaze/log/analogger.rb +15 -5
- data/lib/ramaze/log/growl.rb +28 -13
- data/lib/ramaze/log/hub.rb +12 -4
- data/lib/ramaze/log/informer.rb +28 -11
- data/lib/ramaze/log/knotify.rb +7 -2
- data/lib/ramaze/log/logger.rb +12 -4
- data/lib/ramaze/log/logging.rb +40 -14
- data/lib/ramaze/log/rotatinginformer.rb +47 -23
- data/lib/ramaze/log/syslog.rb +37 -31
- data/lib/ramaze/log/xosd.rb +7 -4
- data/lib/ramaze/middleware_compiler.rb +2 -2
- data/lib/ramaze/snippets/fiber.rb +63 -63
- data/lib/ramaze/snippets/ramaze/lru_hash.rb +1 -1
- data/lib/ramaze/tool/bin.rb +1 -1
- data/lib/ramaze/version.rb +1 -1
- data/lib/ramaze/view.rb +4 -4
- data/lib/ramaze/view/erector.rb +88 -13
- data/ramaze.gemspec +65 -65
- data/spec/ramaze/bin/ramaze.rb +1 -1
- data/spec/ramaze/cache/localmemcache.rb +20 -12
- data/spec/ramaze/cache/sequel.rb +19 -19
- data/spec/ramaze/helper/blue_form.rb +549 -257
- data/spec/ramaze/helper/csrf.rb +109 -0
- data/spec/ramaze/helper/httpdigest.rb +31 -29
- data/spec/ramaze/helper/user.rb +1 -1
- data/spec/ramaze/helper/xhtml.rb +17 -0
- data/spec/ramaze/log/growl.rb +34 -0
- data/spec/ramaze/log/informer.rb +1 -0
- data/spec/ramaze/view/erector.rb +49 -71
- data/spec/ramaze/view/erector/external_view.erector +5 -0
- data/spec/ramaze/view/erector/index.erector +5 -0
- data/spec/ramaze/view/erector/layout.erector +13 -3
- data/spec/ramaze/view/erector/tables.erector +23 -0
- data/spec/ramaze/view/erector/view.erector +6 -0
- data/tasks/git.rake +2 -2
- metadata +133 -176
- data/examples/helpers/form_with_sequel.rb +0 -24
- data/examples/helpers/nitro_form.rb +0 -23
- data/lib/ramaze/helper/form.rb +0 -133
- data/lib/ramaze/helper/nitroform.rb +0 -14
- data/lib/ramaze/helper/pager.rb +0 -367
- data/lib/ramaze/helper/partial.rb +0 -100
- data/lib/ramaze/helper/sequel.rb +0 -55
- data/lib/ramaze/helper/sequel_form.rb +0 -284
- data/lib/vendor/etag.rb +0 -22
- data/spec/ramaze/helper/form.rb +0 -360
- data/spec/ramaze/helper/pager.rb +0 -96
- data/spec/ramaze/helper/sequel_form.rb +0 -94
- data/spec/ramaze/view/erector/external.erector +0 -1
- data/spec/ramaze/view/erector/invoke_helper_method.erector +0 -1
- data/spec/ramaze/view/erector/strict_xhtml.erector +0 -3
- data/spec/ramaze/view/erector/sum.erector +0 -1
data/lib/ramaze/helper/user.rb
CHANGED
@@ -4,7 +4,7 @@ module Ramaze
|
|
4
4
|
# This helper provides a convenience wrapper for handling authentication
|
5
5
|
# and persistence of users.
|
6
6
|
#
|
7
|
-
# On every request, when you use the {
|
7
|
+
# On every request, when you use the {UserHelper#user} method for the first time,
|
8
8
|
# we confirm the authentication and store the returned object in the
|
9
9
|
# request.env, usually this will involve a request to your database.
|
10
10
|
#
|
@@ -94,8 +94,8 @@ module Ramaze
|
|
94
94
|
# end
|
95
95
|
#
|
96
96
|
# @author manveru
|
97
|
-
#
|
98
|
-
module
|
97
|
+
# TODO: convert the examples into real examples with specs
|
98
|
+
module UserHelper
|
99
99
|
# Using this as key in request.env
|
100
100
|
RAMAZE_HELPER_USER = 'ramaze.helper.user'.freeze
|
101
101
|
|
@@ -173,6 +173,7 @@ module Ramaze
|
|
173
173
|
# @author manveru
|
174
174
|
def _login(creds = _persistence)
|
175
175
|
if @_user = _would_login?(creds)
|
176
|
+
Current.session.resid!
|
176
177
|
self._persistence = creds
|
177
178
|
end
|
178
179
|
end
|
data/lib/ramaze/helper/xhtml.rb
CHANGED
@@ -2,34 +2,113 @@ module Ramaze
|
|
2
2
|
module Helper
|
3
3
|
|
4
4
|
# Provides shortcuts to the link/script tags.
|
5
|
+
##
|
6
|
+
# The XHTML helper can be used for generating CSS and Javascript tags.
|
7
|
+
# Generating a CSS tag can be done by calling the css() method:
|
8
|
+
#
|
9
|
+
# css 'reset', 'screen', :only => 'ie'
|
10
|
+
#
|
11
|
+
# This would result in a stylesheet named "reset.css" being loaded only when the user
|
12
|
+
# is using Internet Explorer.
|
13
|
+
#
|
5
14
|
module XHTML
|
6
15
|
LINK_TAG = '<link href=%p media=%p rel="stylesheet" type="text/css" />'
|
7
16
|
SCRIPT_TAG = '<script src=%p type="text/javascript"></script>'
|
8
17
|
|
18
|
+
##
|
19
|
+
# Generate a CSS tag based on the name, media type and a hash containing
|
20
|
+
# additional options. For example, if we want to load the stylesheet only when the user
|
21
|
+
# is using Internet Explorer we would have to add a key 'only' with a value of 'ie' to the hash.
|
22
|
+
#
|
23
|
+
# @param [String] name The name of the CSS file to load.
|
24
|
+
# @param [String] media The media type for which the stylesheet should be loaded.
|
25
|
+
# @param [Hash] options A hash containing additional options for the stylesheet tag.
|
26
|
+
# @example
|
27
|
+
#
|
28
|
+
# # A very basic example.
|
29
|
+
# css 'reset'
|
30
|
+
#
|
31
|
+
# # Oh shiny, IE only
|
32
|
+
# css 'reset', 'screen', :only => 'ie'
|
33
|
+
#
|
34
|
+
# @return [String] String containing the stylesheet tag.
|
35
|
+
#
|
9
36
|
def css(name, media = 'screen', options = {})
|
10
|
-
if
|
11
|
-
|
37
|
+
if media.respond_to?(:keys)
|
38
|
+
options = media
|
39
|
+
media = 'screen'
|
40
|
+
end
|
41
|
+
|
42
|
+
if only = options.delete(:only) and only.to_s == 'ie'
|
43
|
+
"<!--[if IE]>#{css(name, media, options)}<![endif]-->"
|
44
|
+
else
|
45
|
+
if name =~ /^http/
|
12
46
|
LINK_TAG % [name, media]
|
13
47
|
else
|
14
|
-
|
48
|
+
prefix = options[:prefix] || 'css'
|
49
|
+
LINK_TAG % ["#{Ramaze.options.prefix.chomp("/")}/#{prefix}/#{name}.css", media]
|
15
50
|
end
|
16
|
-
elsif options[:only].to_s.downcase == 'ie'
|
17
|
-
"<!--[if IE]>#{css(name, media)}<![endif]-->"
|
18
51
|
end
|
19
52
|
end
|
20
53
|
|
54
|
+
##
|
55
|
+
# The css_for method can be used when you want to load multiple stylesheets and don't
|
56
|
+
# want to call the css() method over and over again.
|
57
|
+
#
|
58
|
+
# @example
|
59
|
+
#
|
60
|
+
# # This is pretty basic
|
61
|
+
# css_for 'reset', '960', 'style'
|
62
|
+
#
|
63
|
+
# # Loading multiple stylesheets with custom options
|
64
|
+
# css_for ['reset', 'print'], ['960', 'print']
|
65
|
+
#
|
66
|
+
# @see css()
|
67
|
+
# @param [Array] args An array containing either the names of all stylesheets to load or a collection of arrays
|
68
|
+
# of which each array defines the name, media and additional parameters.
|
69
|
+
# @return [String]
|
70
|
+
#
|
21
71
|
def css_for(*args)
|
22
72
|
args.map{|arg| css(*arg) }.join("\n")
|
23
73
|
end
|
24
74
|
|
25
|
-
|
75
|
+
##
|
76
|
+
# Generates a Javascript tag that loads an external Javascript file. This tag can't be used for loading inline
|
77
|
+
# javascript files.
|
78
|
+
#
|
79
|
+
# @example
|
80
|
+
#
|
81
|
+
# # Simple isn't it?
|
82
|
+
# js 'jquery'
|
83
|
+
#
|
84
|
+
# # Let's change the directory to "some_other_directory"
|
85
|
+
# js 'jquery', :prefix => 'some_other_directory'
|
86
|
+
#
|
87
|
+
# @param [String] name The name of the Javascript file that should be loaded.
|
88
|
+
# @param [Hash] options Hash that can contain a :prefix key that defines the directory in which the JS file
|
89
|
+
# is located. By default this key is set to "js".
|
90
|
+
# @return [String]
|
91
|
+
# TODO: The js() method 2nd argument is a hash but only supports the :prefix key. Perhaps changing this hash into a string would be better - Yorick
|
92
|
+
#
|
93
|
+
def js(name, options={})
|
26
94
|
if name =~ /^http/ # consider it external full url
|
27
95
|
SCRIPT_TAG % name
|
28
96
|
else
|
29
|
-
SCRIPT_TAG % "#{Ramaze.options.prefix.chomp("/")}
|
97
|
+
SCRIPT_TAG % "#{Ramaze.options.prefix.chomp("/")}/#{options[:prefix] || 'js'}/#{name}.js"
|
30
98
|
end
|
31
99
|
end
|
32
|
-
|
100
|
+
|
101
|
+
##
|
102
|
+
# Generate multiple Javascript tags using the js() method.
|
103
|
+
#
|
104
|
+
# @example
|
105
|
+
#
|
106
|
+
# # Pretty simple isn't it?
|
107
|
+
# js_for 'jquery', 'application', 'jquery.gritter'
|
108
|
+
#
|
109
|
+
# @param [Array] args Array containing the Javascript files to load.
|
110
|
+
# @return [String]
|
111
|
+
#
|
33
112
|
def js_for(*args)
|
34
113
|
args.map{|arg| js(*arg) }.join("\n")
|
35
114
|
end
|
data/lib/ramaze/log.rb
CHANGED
@@ -15,6 +15,19 @@ end
|
|
15
15
|
module Ramaze
|
16
16
|
Log = Innate::Log
|
17
17
|
|
18
|
+
##
|
19
|
+
# Logger module that will autoload a certain logging helper if it's needed.
|
20
|
+
# Ramaze ships with the following logging helpers:
|
21
|
+
#
|
22
|
+
# * Analogger
|
23
|
+
# * Knotify
|
24
|
+
# * Syslog
|
25
|
+
# * Growl
|
26
|
+
# * Xosd
|
27
|
+
# * Logger
|
28
|
+
# * Informer
|
29
|
+
# * RotatingInformer
|
30
|
+
#
|
18
31
|
module Logger
|
19
32
|
autoload :Analogger, 'ramaze/log/analogger'
|
20
33
|
autoload :Knotify, "ramaze/log/knotify"
|
data/lib/ramaze/log/analogger.rb
CHANGED
@@ -5,12 +5,13 @@ require 'swiftcore/Analogger/Client'
|
|
5
5
|
|
6
6
|
module Ramaze
|
7
7
|
module Logger
|
8
|
-
|
8
|
+
|
9
|
+
##
|
9
10
|
# Informer for the Swiftcore Analogger logging system.
|
10
11
|
#
|
11
12
|
# You can find it at http://analogger.swiftcore.org and install with
|
12
13
|
# gem install analogger
|
13
|
-
|
14
|
+
#
|
14
15
|
class Analogger < ::Swiftcore::Analogger::Client
|
15
16
|
include Logging
|
16
17
|
|
@@ -23,14 +24,23 @@ module Ramaze
|
|
23
24
|
# Port analogger runs on
|
24
25
|
trait :port => 6766
|
25
26
|
|
27
|
+
##
|
26
28
|
# Create a new instance, parameters default to the traits.
|
27
|
-
|
29
|
+
#
|
30
|
+
# @param [String] name The name of the logging system (can be anything you like).
|
31
|
+
# @param [String] host The IP/hostname on which the logging system is running.
|
32
|
+
# @param [Integer] port The port of the logging system.
|
33
|
+
#
|
28
34
|
def initialize(name = class_trait[:name], host = class_trait[:host], port = class_trait[:port])
|
29
35
|
super
|
30
36
|
end
|
31
37
|
|
32
|
-
|
33
|
-
|
38
|
+
##
|
39
|
+
# Integration to Logging
|
40
|
+
#
|
41
|
+
# @param [String] tag
|
42
|
+
# @param [Hash] args
|
43
|
+
#
|
34
44
|
def log(tag, *args)
|
35
45
|
super(tag, args.join("\n"))
|
36
46
|
end
|
data/lib/ramaze/log/growl.rb
CHANGED
@@ -6,31 +6,46 @@ require 'ruby-growl'
|
|
6
6
|
module Ramaze
|
7
7
|
module Logger
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
##
|
10
|
+
# Informer for the Growl notification system
|
11
|
+
# Growl lets Mac OS X applications unintrusively tell you when things happen.
|
12
|
+
#
|
13
|
+
# Growl can be downloaded from the following website: http://growl.info/
|
14
|
+
#
|
11
15
|
class Growl < ::Growl
|
12
|
-
|
16
|
+
include Innate::Traited
|
17
|
+
include Logging
|
18
|
+
|
13
19
|
trait :defaults => {
|
14
|
-
:name
|
15
|
-
:host
|
16
|
-
:password
|
17
|
-
:all_notifies
|
20
|
+
:name => 'walrus' ,
|
21
|
+
:host => 'localhost',
|
22
|
+
:password => 'walrus' ,
|
23
|
+
:all_notifies => %w[error warn debug info dev],
|
18
24
|
:default_notifies => %w[error warn info]
|
19
25
|
}
|
20
26
|
|
27
|
+
##
|
21
28
|
# Takes the options from the default trait for merging.
|
22
|
-
|
29
|
+
#
|
30
|
+
# @param [Hash] options A hash containing extra options to use when initializing the Growl logger.
|
31
|
+
#
|
23
32
|
def initialize(options = {})
|
24
33
|
options = class_trait[:defaults].merge(options).values_at(:host, :name, :all_notifies, :default_notifies, :password)
|
25
34
|
super(*options)
|
26
35
|
end
|
27
36
|
|
28
|
-
|
29
|
-
|
37
|
+
##
|
38
|
+
# Integration to Logging
|
39
|
+
#
|
40
|
+
# @param [String] tag
|
41
|
+
# @param [Hash] args
|
42
|
+
#
|
30
43
|
def log(tag, *args)
|
31
|
-
|
32
|
-
|
33
|
-
|
44
|
+
begin
|
45
|
+
notify(tag.to_s, Time.now.strftime("%X"), args.join("\n")[0..100])
|
46
|
+
rescue Errno::EMSGSIZE
|
47
|
+
# Send size was to big (not really), ignore
|
48
|
+
end
|
34
49
|
end
|
35
50
|
end
|
36
51
|
|
data/lib/ramaze/log/hub.rb
CHANGED
@@ -4,18 +4,22 @@
|
|
4
4
|
module Ramaze
|
5
5
|
module Logger
|
6
6
|
|
7
|
+
##
|
7
8
|
# Bundles different informer instances and sends incoming messages to each.
|
8
9
|
# This is the default with Informer as only member.
|
9
|
-
|
10
|
+
#
|
10
11
|
class LogHub
|
11
12
|
include Logging
|
12
13
|
|
13
14
|
attr_accessor :loggers
|
14
15
|
attr_accessor :ignored_tags
|
15
16
|
|
17
|
+
##
|
16
18
|
# Takes a list of instances or classes (which will be initialized) and that
|
17
19
|
# are added to @loggers. All messages are then sent to each member.
|
18
|
-
|
20
|
+
#
|
21
|
+
# @param [Array] loggers
|
22
|
+
#
|
19
23
|
def initialize(*loggers)
|
20
24
|
@loggers = loggers
|
21
25
|
@ignored_tags = Set.new
|
@@ -27,8 +31,12 @@ module Ramaze
|
|
27
31
|
@loggers.compact!
|
28
32
|
end
|
29
33
|
|
30
|
-
|
31
|
-
|
34
|
+
##
|
35
|
+
# Integration to Logging
|
36
|
+
#
|
37
|
+
# @param [String] tag
|
38
|
+
# @param [Hash] args
|
39
|
+
#
|
32
40
|
def log(tag, *args)
|
33
41
|
return if @ignored_tags.include?(tag)
|
34
42
|
@loggers.each do |logger|
|
data/lib/ramaze/log/informer.rb
CHANGED
@@ -4,9 +4,10 @@
|
|
4
4
|
module Ramaze
|
5
5
|
module Logger
|
6
6
|
|
7
|
+
##
|
7
8
|
# A minimal logger for Ramaze, supports files, CLI, colors and some
|
8
9
|
# customization.
|
9
|
-
|
10
|
+
#
|
10
11
|
class Informer
|
11
12
|
include Logging
|
12
13
|
include Innate::Traited
|
@@ -31,17 +32,21 @@ module Ramaze
|
|
31
32
|
:error => :red,
|
32
33
|
}
|
33
34
|
|
35
|
+
##
|
34
36
|
# Create a new instance of Informer.
|
35
|
-
# You can spcify
|
36
37
|
#
|
37
|
-
#
|
38
|
+
# @example
|
39
|
+
#
|
38
40
|
# Informer.new #=> logs to stdout with all levels being
|
39
41
|
# shown.
|
40
42
|
# Informer.new($stderr) #=> same, but to stderr
|
41
43
|
# Informer.new("foo.log") #=> same, but logs to the file foo.log
|
42
44
|
# (or creates it if it doesn't exist yet)
|
43
45
|
# Informer.new($stdout, [:info]) #=> show only #info messages to stdout.
|
44
|
-
|
46
|
+
#
|
47
|
+
# @param [String] out Specifies where the output should go. By default this is set to STDOUT.
|
48
|
+
# @param [Array] log_leves Array containing the levels that should be logged.
|
49
|
+
#
|
45
50
|
def initialize(out = $stdout, log_levels = [:debug, :error, :info, :warn])
|
46
51
|
@colorize = false
|
47
52
|
|
@@ -68,8 +73,9 @@ module Ramaze
|
|
68
73
|
@log_levels = log_levels
|
69
74
|
end
|
70
75
|
|
76
|
+
##
|
71
77
|
# Close the file we log to if it isn't closed already.
|
72
|
-
|
78
|
+
#
|
73
79
|
def shutdown
|
74
80
|
if @out.respond_to?(:close)
|
75
81
|
Log.debug("close, #{@out.inspect}")
|
@@ -77,8 +83,12 @@ module Ramaze
|
|
77
83
|
end
|
78
84
|
end
|
79
85
|
|
80
|
-
|
81
|
-
|
86
|
+
##
|
87
|
+
# Integration to Logging
|
88
|
+
#
|
89
|
+
# @param [String] tag The log level for the current message(s).
|
90
|
+
# @param [Array] messages Array containing the data that should be logged.
|
91
|
+
#
|
82
92
|
def log tag, *messages
|
83
93
|
return if closed? || !@log_levels.include?(tag)
|
84
94
|
messages.flatten!
|
@@ -97,9 +107,14 @@ module Ramaze
|
|
97
107
|
@out.flush if @out.respond_to?(:flush)
|
98
108
|
end
|
99
109
|
|
110
|
+
##
|
100
111
|
# Takes the prefix (tag), text and timestamp and applies it to
|
101
112
|
# the :format trait.
|
102
|
-
|
113
|
+
#
|
114
|
+
# @param [String] prefix
|
115
|
+
# @param [String] text
|
116
|
+
# @param [Integer] time
|
117
|
+
#
|
103
118
|
def log_interpolate prefix, text, time = timestamp
|
104
119
|
message = class_trait[:format].dup
|
105
120
|
|
@@ -109,17 +124,19 @@ module Ramaze
|
|
109
124
|
message
|
110
125
|
end
|
111
126
|
|
127
|
+
##
|
112
128
|
# This uses timestamp trait or a date in the format of
|
113
129
|
# %Y-%m-%d %H:%M:%S
|
114
130
|
# # => "2007-01-19 21:09:32"
|
115
|
-
|
131
|
+
#
|
116
132
|
def timestamp
|
117
133
|
mask = class_trait[:timestamp]
|
118
134
|
Time.now.strftime(mask || "%Y-%m-%d %H:%M:%S")
|
119
135
|
end
|
120
136
|
|
121
|
-
|
122
|
-
|
137
|
+
##
|
138
|
+
# Is @out closed?
|
139
|
+
#
|
123
140
|
def closed?
|
124
141
|
@out.respond_to?(:closed?) and @out.closed?
|
125
142
|
end
|
data/lib/ramaze/log/knotify.rb
CHANGED
@@ -4,17 +4,22 @@
|
|
4
4
|
module Ramaze
|
5
5
|
module Logger
|
6
6
|
|
7
|
+
##
|
7
8
|
# Informer for the Knotify notfication system used on KDE.
|
8
9
|
# Doesn't need any special libraries.
|
9
|
-
|
10
|
+
#
|
10
11
|
class Knotify
|
11
12
|
include Logging
|
12
13
|
|
13
14
|
trait :present => 16
|
14
15
|
|
16
|
+
##
|
15
17
|
# Please see for more information on the API used here:
|
16
18
|
# http://lukeplant.me.uk/articles.php?id=3
|
17
|
-
|
19
|
+
#
|
20
|
+
# @param [String] tag
|
21
|
+
# @param [Hash] args
|
22
|
+
#
|
18
23
|
def log(tag, *messages)
|
19
24
|
present = class_trait[:present]
|
20
25
|
tag = tag.to_s.capitalize
|
data/lib/ramaze/log/logger.rb
CHANGED
@@ -6,17 +6,25 @@ require 'logger'
|
|
6
6
|
module Ramaze
|
7
7
|
module Logger
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
##
|
10
|
+
# Informer for the Stdlib Logger.
|
11
|
+
#
|
11
12
|
class Logger < ::Logger
|
12
13
|
|
13
|
-
|
14
|
-
|
14
|
+
##
|
15
|
+
# Integration to Logging
|
16
|
+
#
|
17
|
+
# @param [String] tag
|
18
|
+
# @param [Hash] args
|
19
|
+
#
|
15
20
|
def log(tag, *args)
|
16
21
|
__send__(tag, args.join("\n"))
|
17
22
|
end
|
18
23
|
|
24
|
+
##
|
19
25
|
# Stub for compatibility
|
26
|
+
#
|
27
|
+
# @param [Hash] args
|
20
28
|
def dev(*args)
|
21
29
|
debug(*args)
|
22
30
|
end
|