structured_warnings 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
data/History.txt CHANGED
@@ -1,3 +1,10 @@
1
+ == 0.1.1 2008-02-22
2
+
3
+ * 1 major enhancement:
4
+ * Fully documented library
5
+ * 1 minor fix
6
+ * Warnings can no longer be disabled twice
7
+
1
8
  == 0.1.0 2008-02-21
2
9
 
3
10
  * 1 major enhancement:
data/License.txt CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2008 FIXME full name
1
+ Copyright (c) 2008 Gregor Schmidt
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -17,4 +17,4 @@ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
17
  NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
18
  LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
19
  OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
- WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/Manifest.txt CHANGED
@@ -14,8 +14,6 @@ lib/structured_warnings/test/warner.rb
14
14
  lib/structured_warnings/version.rb
15
15
  lib/structured_warnings/warner.rb
16
16
  lib/structured_warnings/warning.rb
17
- lib/structured_warnings/warnings.rb
18
- log/debug.log
19
17
  script/destroy
20
18
  script/generate
21
19
  script/txt2html
data/README.txt CHANGED
@@ -1,4 +1,19 @@
1
1
  = Structured warnings
2
2
 
3
- See the projects website on http://rug-b.rubyforge.org/structured_warnings or
4
- the inspiring article at http://www.oreillynet.com/ruby/blog/2008/02/structured_warnings_now.html.
3
+ Have closer look at StructuredWarnings::Kernel, Warning and
4
+ Warning::ClassMethods.
5
+
6
+ Part of this library is a set of different warnings:
7
+
8
+ * Warning
9
+ * StandardWarning
10
+ * DeprecationWarning
11
+ * DeprecatedMethodWarning
12
+ * DeprecatedSignatureWarning
13
+
14
+ You are encourage to use your own subclasses of Warning to give as much feedback
15
+ to your users as possible.
16
+
17
+ Also see the projects website on http://rug-b.rubyforge.org/structured_warnings
18
+ and the inspiring article at
19
+ http://www.oreillynet.com/ruby/blog/2008/02/structured_warnings_now.html.
@@ -1,8 +1,9 @@
1
1
  # This library was created by Christian Neukirchen in the context of
2
2
  # EuRuKo 2005 and is licensed under the same terms as Ruby.
3
3
  #
4
- # It provides dynamically scoped variables. It is used within ContextR to
5
- # store the current, thread-wide activated layers.
4
+ # It provides dynamically scoped variables. It is used within
5
+ # +structured_warnings+ to store the current, thread-wide disabled warning
6
+ # classes.
6
7
  #
7
8
  # For more information see the corresponding slides at
8
9
  # http://chneukirchen.org/talks/euruko-2005/chneukirchen-euruko2005-contextr.pdf
@@ -1,5 +1,43 @@
1
1
  module StructuredWarnings
2
+ # This module encapsulates the extensions to Object, that are introduced
3
+ # by this library.
2
4
  module Kernel
5
+
6
+ # :call-seq:
7
+ # warn(message = nil)
8
+ # warn(warning_class, message)
9
+ # warn(warning_instance)
10
+ #
11
+ # This method provides a +raise+-like interface. It extends the default
12
+ # warn in ::Kernel to allow the use of structured warnings.
13
+ #
14
+ # Internally it uses the StructuredWarnings::warner to format a message
15
+ # based on the given warning class, the message and a stack frame.
16
+ # The return value is passed to super, which is likely the implementation
17
+ # in ::Kernel. That way, it is less likely, that structured_warnings
18
+ # interferes with other extensions.
19
+ #
20
+ # It the warner return nil or an empty string the underlying warn will not
21
+ # be called. That way, warnings may be transferred to other devices without
22
+ # the need to redefine ::Kernel#warn.
23
+ #
24
+ # Just like the original version, this method does not take command line
25
+ # switches or verbosity levels into account. In order to deactivate all
26
+ # warnings use <code>Warning.disable</code>.
27
+ #
28
+ # warn "This is an old-style warning" # This will emit a StandardWarning
29
+ #
30
+ # class Foo
31
+ # def bar
32
+ # warn DeprecationWarning, "Never use bar again, use beer"
33
+ # end
34
+ # def beer
35
+ # "Ahhh"
36
+ # end
37
+ # end
38
+ #
39
+ # warn Warning.new("The least specific warning you can get")
40
+ #
3
41
  def warn(*args)
4
42
  first = args.shift
5
43
  if first.is_a? Class and first < Warning
@@ -11,7 +49,7 @@ module StructuredWarnings
11
49
  message = first.message
12
50
 
13
51
  else
14
- warning = Warning
52
+ warning = StandardWarning
15
53
  message = first.to_s
16
54
  end
17
55
 
@@ -21,18 +59,9 @@ module StructuredWarnings
21
59
  end
22
60
 
23
61
  if warning.active?
24
- output = Kernel.warner.format(warning, message, caller[1..-1])
62
+ output = StructuredWarnings.warner.format(warning, message, caller(1))
25
63
  super(output) unless output.nil? or output.to_s.empty?
26
64
  end
27
65
  end
28
-
29
- def self.warner
30
- Dynamic[:warner]
31
- end
32
-
33
- protected
34
- def structured_warn(warning, message)
35
- nil
36
- end
37
66
  end
38
67
  end
@@ -1,17 +1,44 @@
1
1
  module StructuredWarnings
2
+ # This module ecapsulates all extensions to support <code>test/unit</code>.
2
3
  module Test
3
4
  module Assertions
5
+ # Asserts that no warning was emmitted. It may be restricted to a certain
6
+ # subtree of warnings.
7
+ #
8
+ # def foo
9
+ # warn DeprecatedMethodWarning, "used foo, use bar instead"
10
+ # bar
11
+ # end
12
+ #
13
+ # assert_no_warn(StandardWarning) { foo } # passes
14
+ #
15
+ # assert_no_warn(DeprecationWarning) { foo } # fails
16
+ # assert_no_warn() { foo } # fails
4
17
  def assert_no_warn(warning = Warning)
5
18
  w = StructuredWarnings::Test::Warner.new
6
- Dynamic.let(:warner => w) do
19
+ StructuredWarnings::with_warner(w) do
7
20
  yield
8
21
  end
9
22
  assert !w.warned?(warning), "#{warning} has been emitted."
10
23
  end
11
24
 
25
+ # Asserts that a warning was emmitted. It may be restricted to a certain
26
+ # subtree of warnings.
27
+ #
28
+ # def foo
29
+ # warn DeprecatedMethodWarning, "used foo, use bar instead"
30
+ # bar
31
+ # end
32
+ #
33
+ # assert_warn(DeprecatedMethodWarning) { foo } # passes
34
+ # assert_warn(DeprecationWarning) { foo } # passes
35
+ # assert_warn() { foo } # passes
36
+ #
37
+ # assert_warn(StandardWarning) { foo } # fails
38
+ #
12
39
  def assert_warn(warning = Warning)
13
40
  w = StructuredWarnings::Test::Warner.new
14
- Dynamic.let(:warner => w) do
41
+ StructuredWarnings::with_warner(w) do
15
42
  yield
16
43
  end
17
44
  assert w.warned?(warning), "#{warning} has not been emitted."
@@ -19,4 +46,3 @@ module StructuredWarnings
19
46
  end
20
47
  end
21
48
  end
22
-
@@ -1,18 +1,30 @@
1
1
  module StructuredWarnings
2
2
  module Test
3
+ # This warner is used in Assertions#assert_warn and
4
+ # Assertions#assert_no_warn blocks. It captures all warnings in format and
5
+ # provides access to them using the warned? method.
3
6
  class Warner < StructuredWarnings::Warner
7
+ # Overrides the public interface of StructuredWarnings::Warner. This
8
+ # method always returns nil to avoid warnings on stdout during assert_warn
9
+ # and assert_no_warn blocks.
4
10
  def format(warning, message, call_stack)
5
11
  given_warnings << warning
6
12
  nil
7
13
  end
8
14
 
15
+ # Returns true if any warning or a subclass of warning was emitted.
9
16
  def warned?(warning)
10
17
  given_warnings.any? {|w| (w <= warning)}
11
18
  end
12
19
 
20
+ # :stopdoc:
21
+ protected
22
+ # Returns an array of all warning classes, that were given to this
23
+ # warner's format method, including duplications.
13
24
  def given_warnings
14
25
  @given_warnings ||= []
15
26
  end
27
+ # :startdoc:
16
28
  end
17
29
  end
18
30
  end
@@ -2,7 +2,7 @@ module StructuredWarnings #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 1
5
- TINY = 0
5
+ TINY = 1
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -1,12 +1,13 @@
1
1
  module StructuredWarnings
2
+ # The Warner class implements a very simple interface. It simply formats
3
+ # a warning, so it is more than just the message itself. This default
4
+ # warner uses a format comparable to warnings emitted by rb_warn including
5
+ # the place where the "thing that caused the warning" resides.
2
6
  class Warner
7
+ # Warner.new.format(DeprecationWarning, "more info..", caller)
8
+ # # => "demo.rb:5 : more info.. (DeprecationWarning)"
3
9
  def format(warning, message, stack)
4
10
  "#{stack.shift} : #{message} (#{warning})"
5
11
  end
6
-
7
- # formats an exception like stack frame
8
- # def collect_frame(stack)
9
- # stack.collect { |frame| " from #{frame}" }.join("\n")
10
- # end
11
12
  end
12
13
  end
@@ -1,47 +1,129 @@
1
+ # Descendents of class Warning are used to raise structured warnings. They
2
+ # programmers to explicitly supress certain kinds of warnings and provide
3
+ # additional information in contrast to the plain warn method. They
4
+ # implement an Exception-like interface and carry information about the
5
+ # warning -- its type (the warning's class name), an optional descriptive
6
+ # string, and optional traceback information. Programs may subclass Warning
7
+ # to add additional information.
8
+ #
9
+ # Large portions of this class's documentation are taken from the Exception
10
+ # RDoc.
1
11
  class Warning
2
- attr_accessor :message
12
+ # Construct a new Warning object, optionally passing in a message.
13
+ def initialize(message = nil)
14
+ @message = message
15
+ @backtrace = caller(1)
16
+ end
17
+
18
+
19
+ # call-seq:
20
+ # warning.backtrace => array
21
+ #
22
+ # Returns any backtrace associated with the warning. The backtrace
23
+ # is an array of strings, each containing either ``filename:lineNo: in
24
+ # `method''' or ``filename:lineNo.''
25
+ def backtrace
26
+ @backtrace
27
+ end
28
+
29
+ # Sets the backtrace information associated with warning. The argument must
30
+ # be an array of String objects in the format described in
31
+ # Exception#backtrace.
32
+ def set_backtrace(backtrace)
33
+ @backtrace = backtrace
34
+ end
35
+
36
+ # Returns warning's message (or the name of the warning if no message is set).
37
+ def to_s
38
+ @message || self.class.name
39
+ end
40
+ alias_method :to_str, :to_s
41
+ alias_method :message, :to_s
3
42
 
4
- def initialize(message)
5
- self.message = message
43
+ # Return this warning's class name and message
44
+ def inspect
45
+ "#<#{self.class}: #{self}>"
6
46
  end
7
47
 
48
+ # This module extends Warning and each subclass. It may be used to activate
49
+ # or deactivate a set of warnings.
8
50
  module ClassMethods
51
+ # returns a Boolean, stating whether a warning of this type would be
52
+ # emmitted or not.
9
53
  def active?
10
- disabled_warnings.all? {|w| !(w >= self)}
54
+ StructuredWarnings::disabled_warnings.all? {|w| !(w >= self)}
11
55
  end
12
56
 
57
+ # call-seq:
58
+ # disable()
59
+ # disable() {...}
60
+ #
61
+ # If called without a block, Warnings of this type will be disabled in the
62
+ # current thread and all new child threads.
63
+ #
64
+ # warn("this will be printed") # creates a StandardWarning which is
65
+ # # enabled by default
66
+ #
67
+ # Warning.disable
68
+ #
69
+ # warn("this will not be printed") # creates a StandardWarning which is
70
+ # # currently disabled
71
+ #
72
+ # If called with a block, warnings of this type will be disabled in the
73
+ # dynamic scope of the given block.
74
+ #
75
+ # Warning.disable do
76
+ # warn("this will not be printed") # creates a StandardWarning which is
77
+ # # currently disabled
78
+ # end
79
+ #
80
+ # warn("this will be printed") # creates a StandardWarning which is
81
+ # # currently enabled
13
82
  def disable
14
83
  if block_given?
15
- Dynamic.let(:disabled_warnings => disabled_warnings + [self]) do
84
+ StructuredWarnings::with_disabled_warnings(
85
+ StructuredWarnings.disabled_warnings | [self]) do
16
86
  yield
17
87
  end
18
88
  else
19
- self.disabled_warnings += [self]
89
+ StructuredWarnings::disabled_warnings |= [self]
20
90
  end
21
91
  end
22
92
 
93
+ # call-seq:
94
+ # enable()
95
+ # enable() {...}
96
+ #
97
+ # This method has the same semantics as disable, only with the opposite
98
+ # outcome. In general the last assignment wins, so that disabled warnings
99
+ # may be enabled again and so on.
23
100
  def enable
24
101
  if block_given?
25
- Dynamic.let(:disabled_warnings => disabled_warnings - [self]) do
102
+ StructuredWarnings::with_disabled_warnings(
103
+ StructuredWarnings.disabled_warnings - [self]) do
26
104
  yield
27
105
  end
28
106
  else
29
- self.disabled_warnings -= [self]
107
+ StructuredWarnings::disabled_warnings -= [self]
30
108
  end
31
109
  end
32
-
33
- protected
34
- def disabled_warnings
35
- Dynamic[:disabled_warnings]
36
- end
37
- def disabled_warnings=(new)
38
- Dynamic[:disabled_warnings] = new
39
- end
40
110
  end
41
111
 
42
112
  extend ClassMethods
43
113
  end
44
114
 
115
+ # This warning is used when calling #Kernel.warn without arguments.
116
+ class StandardWarning < Warning; end
117
+
118
+ # This is a general warning used to mark certain actions as deprecated. We
119
+ # recommend to add a useful warning message, which alternative to use instead.
45
120
  class DeprecationWarning < Warning; end
121
+
122
+ # This warning marks single methods as deprecated. We
123
+ # recommend to add a useful warning message, which alternative to use instead.
46
124
  class DeprecatedMethodWarning < DeprecationWarning; end
125
+
126
+ # This warning marks the given parameters for a certain methods as
127
+ # deprecated. We recommend to add a useful warning message, which
128
+ # alternative to use instead.
47
129
  class DeprecatedSignatureWarning < DeprecationWarning; end
@@ -1,23 +1,92 @@
1
1
  $:.unshift File.dirname(__FILE__)
2
+
2
3
  require "structured_warnings/dynamic"
3
4
  require "structured_warnings/kernel"
4
5
  require "structured_warnings/warner"
5
6
  require "structured_warnings/warning"
6
7
 
8
+
7
9
  module StructuredWarnings
8
- def self.init
9
- Object.send(:include, Kernel)
10
- unless Dynamic.variables.include?(:disabled_warnings)
11
- Dynamic[:disabled_warnings] = []
12
- Dynamic[:warner] = StructuredWarnings::Warner.new
10
+ # On initialization self.init is called. When a test module is defined, it
11
+ # is a assumed, that <code>test/unit</code> is used and the warn assertions
12
+ # are added to Test::Unit::TestCase. If you <code>require "test/unit"</code>
13
+ # after +structured_warnings+ you have to call #StructuredWarnings::init_test
14
+ # manually.
15
+ module ClassMethods
16
+ # Executes a block using the given warner. This may be used to suppress
17
+ # warnings to stdout, but fetch them and redirect them to somewhere else.
18
+ #
19
+ # This behaviour is used in the StructuredWarnings::Assertions
20
+ def with_warner(warner)
21
+ Dynamic.let(:warner => warner) do
22
+ yield
23
+ end
24
+ end
25
+
26
+ # Gives access to the currently used warner. Default is an instance of
27
+ # StructuredWarnings::Warner
28
+ def warner
29
+ Dynamic[:warner]
30
+ end
31
+
32
+ #:stopdoc:
33
+ # Sets a new warner
34
+ def warner=(new_warner)
35
+ Dynamic[:warner] = new_warner
36
+ end
37
+
38
+ # returns an Array of all currently disabled warnings.
39
+ #
40
+ # *Note*: Everyday users are supposed to use the methods in
41
+ # Warning::ClassMethods
42
+ def disabled_warnings
43
+ Dynamic[:disabled_warnings]
13
44
  end
14
- init_test if defined? ::Test
15
- end
16
45
 
17
- def self.init_test
18
- require "structured_warnings/test.rb"
19
- ::Test::Unit::TestCase.send(:include, StructuredWarnings::Test::Assertions)
46
+ # sets an array of all currently disabled warnings. It is expected that this
47
+ # array consists only of the Warning class and its subclasses.
48
+ #
49
+ # *Note*: Everyday users are supposed to use the methods in
50
+ # Warning::ClassMethods
51
+ def disabled_warnings=(new_disabled_warnings)
52
+ Dynamic[:disabled_warnings] = new_disabled_warnings
53
+ end
54
+
55
+ # Executes a block with the given set of disabled instances.
56
+ #
57
+ # *Note*: Everyday users are supposed to use the methods in
58
+ # Warning::ClassMethods
59
+ def with_disabled_warnings(disabled_warnings)
60
+ Dynamic.let(:disabled_warnings => disabled_warnings) do
61
+ yield
62
+ end
63
+ end
64
+ #:startdoc:
65
+
66
+ protected
67
+ # Initializes the StructuredWarnings library. Includes the Kernel extensions
68
+ # into Object, sets the initial set of disabled_warnings (none) and
69
+ # initializes the warner to an instance of StructuredWarnings::Warner
70
+ def init
71
+ unless Object < StructuredWarnings::Kernel
72
+ Object.class_eval { include StructuredWarnings::Kernel }
73
+ StructuredWarnings::disabled_warnings = []
74
+ StructuredWarnings::warner = StructuredWarnings::Warner.new
75
+ end
76
+ init_test if defined? ::Test
77
+ end
78
+
79
+ # Initializes the StructuredWarnings test extensions - namely adds
80
+ # StructuredWarnings::Test::Assertions to Test::Unit::TestCase
81
+ def init_test
82
+ require "structured_warnings/test.rb"
83
+ ::Test::Unit::TestCase.class_eval do
84
+ include StructuredWarnings::Test::Assertions
85
+ end
86
+ rescue NameError
87
+ end
20
88
  end
21
- end
89
+ extend ClassMethods
22
90
 
23
- StructuredWarnings.init
91
+ init
92
+ end
@@ -78,4 +78,10 @@ class TestStructuredWarnings < Test::Unit::TestCase
78
78
  warn nil
79
79
  end
80
80
  end
81
+
82
+ def test_warnings_may_not_be_disabled_twice
83
+ assert [Warning], Warning.disable
84
+ assert [Warning], Warning.disable
85
+ assert [], Warning.enable
86
+ end
81
87
  end
data/website/index.html CHANGED
@@ -8,9 +8,6 @@
8
8
  rug-b
9
9
  </title>
10
10
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
11
  <script type="text/javascript">
15
12
  window.onload = function() {
16
13
  settings = {
@@ -33,7 +30,7 @@
33
30
  <h1>rug-b</h1>
34
31
  <div id="version" class="clickable" onclick='document.location = "http://rubyforge.org/projects/rug-b"; return false'>
35
32
  <p>Get Version</p>
36
- <a href="http://rubyforge.org/projects/rug-b" class="numbers">0.1.0</a>
33
+ <a href="http://rubyforge.org/projects/rug-b" class="numbers">0.1.1</a>
37
34
  </div>
38
35
  <h1>&#x2192; &#8216;structured_warnings&#8217;</h1>
39
36
 
@@ -122,7 +119,21 @@ the inspiring article at
122
119
  <p>Read the <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/">8 steps for fixing other people&#8217;s code</a> and for section <a href="http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8z-email">8z: Email the project owner</a>, use the Email below.</p>
123
120
 
124
121
 
125
- <p>The trunk repository is <code>svn://rubyforge.org/var/svn/rug-b/structured_warnings/trunk</code> for anonymous access.</p>
122
+ <p>The trunk repository is <code>http://rug-b.rubyforge.org/svn/structured_warnings/trunk</code> for anonymous access.</p>
123
+
124
+
125
+ <h2>Resources</h2>
126
+
127
+
128
+ <ul>
129
+ <li><a href="http://www.nach-vorne.de/2008/2/21/ann-structured_warnings-0-1-0-released">Initial announcement</a></li>
130
+ <li><a href="http://www.oreillynet.com/ruby/blog/2008/02/structured_warnings_now.html">Inspiring article</a></li>
131
+ <li><a href="http://rug-b.rubyforge.org/structured_warnings/">Project&#8217;s website</a></li>
132
+ <li><a href="http://rug-b.rubyforge.org/structured_warnings/rdoc"><span class="caps">API</span> doc</a></li>
133
+ <li><a href="http://www.rug-b.com">rug-b</a></li>
134
+ <li>Other rug-b gems <a href="http://rug-b.rubyforge.org/svn/">in <span class="caps">SVN</span></a> and
135
+ <a href="http://rubyforge.org/projects/rug-b">to download</a></li>
136
+ </ul>
126
137
 
127
138
 
128
139
  <h2>License</h2>
@@ -136,7 +147,7 @@ the inspiring article at
136
147
 
137
148
  <p>Comments are welcome. Send an email to <a href="mailto:ruby@schmidtwisser.de">Gregor Schmidt</a></p>
138
149
  <p class="coda">
139
- <a href="mailto:ruby@schmidtwisser.de">Gregor Schmidt</a>, 21st February 2008<br>
150
+ <a href="mailto:ruby@schmidtwisser.de">Gregor Schmidt</a>, 22nd February 2008<br />
140
151
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
141
152
  </p>
142
153
  </div>
data/website/index.txt CHANGED
@@ -74,7 +74,19 @@ h2. How to submit patches
74
74
 
75
75
  Read the "8 steps for fixing other people's code":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/ and for section "8z: Email the project owner":http://drnicwilliams.com/2007/06/01/8-steps-for-fixing-other-peoples-code/#8z-email, use the Email below.
76
76
 
77
- The trunk repository is <code>svn://rubyforge.org/var/svn/rug-b/structured_warnings/trunk</code> for anonymous access.
77
+ The trunk repository is <code>http://rug-b.rubyforge.org/svn/structured_warnings/trunk</code> for anonymous access.
78
+
79
+ h2. Resources
80
+
81
+ * "Initial announcement":http://www.nach-vorne.de/2008/2/21/ann-structured_warnings-0-1-0-released
82
+ * "Inspiring article":http://www.oreillynet.com/ruby/blog/2008/02/structured_warnings_now.html
83
+ * "Project's website":http://rug-b.rubyforge.org/structured_warnings/
84
+ * "API doc":http://rug-b.rubyforge.org/structured_warnings/rdoc
85
+ * "rug-b":http://www.rug-b.com
86
+ * Other rug-b gems "in SVN":http://rug-b.rubyforge.org/svn/ and
87
+ "to download":http://rubyforge.org/projects/rug-b
88
+
89
+
78
90
 
79
91
  h2. License
80
92
 
@@ -8,9 +8,6 @@
8
8
  <%= title %>
9
9
  </title>
10
10
  <script src="javascripts/rounded_corners_lite.inc.js" type="text/javascript"></script>
11
- <style>
12
-
13
- </style>
14
11
  <script type="text/javascript">
15
12
  window.onload = function() {
16
13
  settings = {
@@ -37,7 +34,7 @@
37
34
  </div>
38
35
  <%= body %>
39
36
  <p class="coda">
40
- <a href="mailto:ruby@schmidtwisser.de">Gregor Schmidt</a>, <%= modified.pretty %><br>
37
+ <a href="mailto:ruby@schmidtwisser.de">Gregor Schmidt</a>, <%= modified.pretty %><br />
41
38
  Theme extended from <a href="http://rb2js.rubyforge.org/">Paul Battley</a>
42
39
  </p>
43
40
  </div>
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: structured_warnings
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gregor Schmidt
@@ -30,7 +30,7 @@ cert_chain:
30
30
  y3O9DT3o4BiyPe77
31
31
  -----END CERTIFICATE-----
32
32
 
33
- date: 2008-02-21 00:00:00 +01:00
33
+ date: 2008-02-22 00:00:00 +01:00
34
34
  default_executable:
35
35
  dependencies: []
36
36
 
@@ -64,8 +64,6 @@ files:
64
64
  - lib/structured_warnings/version.rb
65
65
  - lib/structured_warnings/warner.rb
66
66
  - lib/structured_warnings/warning.rb
67
- - lib/structured_warnings/warnings.rb
68
- - log/debug.log
69
67
  - script/destroy
70
68
  - script/generate
71
69
  - script/txt2html
metadata.gz.sig CHANGED
Binary file
@@ -1,3 +0,0 @@
1
- class DeprecationWarning < Warning; end
2
- class DeprecatedMethodWarning < DeprecationWarning; end
3
- class DeprecatedSignatureWarning < DeprecationWarning; end
data/log/debug.log DELETED
File without changes