Forum: Ruby on Rails Plugin Namespace Oddities?

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
Matthew B. (Guest)
on 2006-06-05 20:32
(Received via mailing list)
Hi all,

I'm trying to throw together an acts_as_copyable, to add the ability to:

  @new_ar_object = @ar_object.copy

I'm using the Fox example for the basic loading into AR with a module:

so in my instance methods:

      module InstanceMethods
        def copy( options = {} )
          copyable_attributes = self.attributes
          copyable_attributes.delete 'id'
          options.each do |key, value|
            next if key.class == String
            options.delete key
            options[key.to_s] = value
          copyable_attributes.merge! options
          new_copy = self.class.send :new, copyable_attributes


Originally I was calling self.create, but that failed as well.  Rails is
tossing my to an error page claiming:

  undefined method `datatype' for false:FalseClass

however, in my log, the self.class.to_s is Datatype, which should load
Datatype class.  IRB shows this:

  irb(main):001:0> class Foo
  irb(main):002:1> def hello
  irb(main):003:2> puts 'hello
  irb(main):004:2' '
  irb(main):005:2> end
  irb(main):006:1> def self.whoa
  irb(main):007:2> puts 'whoa'
  irb(main):008:2> end
  irb(main):009:1> end
  => nil
  irb(main):010:0> a =
  => #<Foo:0x402d862c>
  irb(main):011:0> a.send :hello
  => nil
  irb(main):012:0> a.send :whoa
  NoMethodError: undefined method `whoa' for #<Foo:0x402d862c>
          from (irb):12:in `send'
          from (irb):12
          from :0
  irb(main):013:0> a.class.send :whoa
  => nil

So, why doesn't self.class.send work the same in a rails plugin?  Why is
Datatype being changed to datatype, and being called as a method, not a
class definiton?


Matthew B. :: 607 227 0871
Resume & Portfolio @
This topic is locked and can not be replied to.