
May 25th, 2009, 10:20 PM
|
|
Contributing User
|
|
Join Date: Mar 2003
Posts: 151
Time spent in forums: 11 h 47 m 42 sec
Reputation Power: 7
|
|
|
Problems w/ class_inheritable_accessor - setting base class vars
Hello,
I'm overriding the initialize method of a base class and I'm trying to get a class_inheritable_accessor class variable to register in the base class but I'm failing miserably.
Here's my code:
Code:
class Base
include Options
class_inheritable_accessor :spec
def initialize(runtime_args, runtime_options = {})
@args = runtime_args
parse!(@args, runtime_options)
# Derive source and destination paths.
@source_root = options[:source] || File.join(spec.path, 'templates')
end
end
class MediaModuleGenerator < Rails::Generator::Base
def initialize(runtime_args, runtime_options = {})
self.spec.path = File.dirname(__FILE__) + '/generators
/media_module'
super
end
end
When I run my generator, I get this error:
You have a nil object when you didn't expect it! (NoMethodError) The error occurred while evaluating nil.path
So when I set the self.spec.path var to File.dirname(__FILE__) + '/generators/media_module', it's not registering in the base class.
Any ideas?
Last edited by CLEM_C_ROCK : May 30th, 2009 at 12:24 AM.
|