~michaelforrest/use-case-mapper/trunk

« back to all changes in this revision

Viewing changes to vendor/rails/activesupport/lib/active_support/vendor/tzinfo-0.3.12/tzinfo/ruby_core_support.rb

  • Committer: Michael Forrest
  • Date: 2010-10-15 16:28:50 UTC
  • Revision ID: michael.forrest@canonical.com-20101015162850-tj2vchanv0kr0dun
refrozeĀ gems

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#--
 
2
# Copyright (c) 2008 Philip Ross
 
3
 
4
# Permission is hereby granted, free of charge, to any person obtaining a copy
 
5
# of this software and associated documentation files (the "Software"), to deal
 
6
# in the Software without restriction, including without limitation the rights
 
7
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 
8
# copies of the Software, and to permit persons to whom the Software is
 
9
# furnished to do so, subject to the following conditions:
 
10
 
11
# The above copyright notice and this permission notice shall be included in all
 
12
# copies or substantial portions of the Software.
 
13
#
 
14
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 
15
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 
16
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 
17
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 
18
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 
19
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 
20
# THE SOFTWARE.
 
21
#++
 
22
 
 
23
require 'date'
 
24
require 'rational'
 
25
 
 
26
module TZInfo
 
27
  
 
28
  # Methods to support different versions of Ruby.
 
29
  module RubyCoreSupport #:nodoc:
 
30
  
 
31
    # Use Rational.new! for performance reasons in Ruby 1.8.
 
32
    # This has been removed from 1.9, but Rational performs better.        
 
33
    if Rational.respond_to? :new!
 
34
      def self.rational_new!(numerator, denominator = 1)
 
35
        Rational.new!(numerator, denominator)
 
36
      end
 
37
    else
 
38
      def self.rational_new!(numerator, denominator = 1)
 
39
        Rational(numerator, denominator)
 
40
      end
 
41
    end
 
42
    
 
43
    # Ruby 1.8.6 introduced new! and deprecated new0.
 
44
    # Ruby 1.9.0 removed new0.
 
45
    # We still need to support new0 for older versions of Ruby.
 
46
    if DateTime.respond_to? :new!
 
47
      def self.datetime_new!(ajd = 0, of = 0, sg = Date::ITALY)
 
48
        DateTime.new!(ajd, of, sg)
 
49
      end
 
50
    else
 
51
      def self.datetime_new!(ajd = 0, of = 0, sg = Date::ITALY)
 
52
        DateTime.new0(ajd, of, sg)
 
53
      end
 
54
    end
 
55
  end
 
56
end
 
 
b'\\ No newline at end of file'