Module: Spider::RailsApp::ClassMethods

Defined in:
lib/spiderfw/utils/rails_app.rb

Instance Method Summary collapse

Instance Method Details

#const_missing(name) ⇒ Object



31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/spiderfw/utils/rails_app.rb', line 31

def const_missing(name)
    unless @options[:reload_models]
        local = "#{self.app.models_path}/#{Inflector.underscore(name)}.rb"
        local_ext = "#{self.app.models_path}/extended/#{Inflector.underscore(name)}.rb"
    end
    if (local && File.exist?(local))
        require local
    else
        @rails.start
        define_rails_models
    end
    if (File.exist?(local_ext))
        require local_ext
    end
    klass = const_get(name)
    return klass if klass
    super
end

#define_rails_modelsObject



27
28
29
# File 'lib/spiderfw/utils/rails_app.rb', line 27

def define_rails_models
    @rails.define_models(self)
end

#rails(path, options = {}) ⇒ Object



18
19
20
21
# File 'lib/spiderfw/utils/rails_app.rb', line 18

def rails(path, options={})
    @options = options
    @rails = Spider::Rails.new(path, options)
end

#rails_app_name=(val) ⇒ Object



23
24
25
# File 'lib/spiderfw/utils/rails_app.rb', line 23

def rails_app_name=(val)
    @rails_app_name = val
end