ramaze 2010.06.18 → 2011.01
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/.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
|