Compiling ActiveSupport produces a bug on require
-------------------------------------------------

                 Key: JRUBY-3325
                 URL: http://jira.codehaus.org/browse/JRUBY-3325
             Project: JRuby
          Issue Type: Bug
          Components: Compiler, Core Classes/Modules
    Affects Versions: ActiveRecord-JDBC-0.9, JRuby 1.1.6
            Reporter: Logan Barnett


When running from the jar:
{noformat}
NameError - undefined method `+' for class `Date'
lib/ruby/activesupport/lib/active_support/core_ext/date/conversions.rb:15:in 
`included'
lib/ruby/activesupport/lib/active_support/core_ext/date/calculations.rb:9:in 
`instance_eval'
lib/ruby/activesupport/lib/active_support/core_ext/date/calculations.rb:9:in 
`included'
lib/ruby/activesupport/lib/active_support/core_ext/date.rb:8:in `require'
src/database_manager.rb:3:in `require'
src/main.rb:53:in `require'
{noformat}

There aren't any errors when running from .rb scripts directly.

Active Support's conversions.rb 
{noformat}
module ActiveSupport #:nodoc:
  module CoreExtensions #:nodoc:
    module Date #:nodoc:
      # Converting dates to formatted strings, times, and datetimes.
      module Conversions
        DATE_FORMATS = {
          :short        => "%e %b",
          :long         => "%B %e, %Y",
          :db           => "%Y-%m-%d",
          :number       => "%Y%m%d",
          :long_ordinal => lambda { |date| date.strftime("%B 
#{date.day.ordinalize}, %Y") }, # => "April 25th, 2007"
          :rfc822       => "%e %b %Y"
        }

        def self.included(base) #:nodoc:
          base.instance_eval do
            alias_method :to_default_s, :to_s
            alias_method :to_s, :to_formatted_s
            alias_method :default_inspect, :inspect
            alias_method :inspect, :readable_inspect

            # Ruby 1.9 has Date#to_time which converts to localtime only.
            remove_method :to_time if base.instance_methods.include?(:to_time)

            # Ruby 1.9 has Date#xmlschema which converts to a string without 
the time component.
            remove_method :xmlschema if 
base.instance_methods.include?(:xmlschema)
          end
        end
...
{noformat}

ActiveSupport's calculations.rb 
{noformat}
module ActiveSupport #:nodoc:
  module CoreExtensions #:nodoc:
    module Date #:nodoc:
      # Enables the use of time calculations within Time itself
      module Calculations
        def self.included(base) #:nodoc:
          base.extend ClassMethods

          base.instance_eval do
            alias_method :plus_without_duration, :+
            alias_method :+, :plus_with_duration

            alias_method :minus_without_duration, :-
            alias_method :-, :minus_with_duration
          end
        end
...
{noformat}

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe from this list, please visit:

    http://xircles.codehaus.org/manage_email


Reply via email to