Invoke rails model from other ruby files

how can i invoke rails model objects from other non rails ruby
objects. do i have to do a require ‘’ or is there a way i
can refernce rails enviorument from ruby.

Junkone wrote:

how can i invoke rails model objects from other non rails ruby
objects. do i have to do a require ‘’ or is there a way i
can refernce rails enviorument from ruby.

Browse around for past messages on using ActiveRecord apart from the
rest of Rails.

I’ve not done it, but it’s doable.


James B.

“I can see them saying something like ‘OMG Three Wizards Awesome’”

datab.rb:

require ‘rubygems’
require ‘activerecord’
require ‘yaml’
require ‘logger’

class DataB
def connect_to_db(environment=“development”)
conf = YAML::load(File.open(File.dirname(FILE) +
/config/database.yml’))
ActiveRecord::Base.logger = Logger.new(“log/active_record.log”)
ActiveRecord::Base.establish_connection(conf[environment])
end

def load_models()
[“model/list.rb”,
“model/models.rb”,“model/here.rb”,“model/or_use_File.glob”].each do
|lib|
require lib
end
end
end


@db=DataB.new
@db.connect_to_db
@db.load_models

and you’re ready to go!

On Nov 8, 1:27 pm, James B. [email protected] wrote:


James B.

“I can see them saying something like ‘OMG Three Wizards Awesome’”

unfortunatly this is the error i get uninitialized constant
ActiveRecord. any clues how to fix it.

irb(main):010:0> require ‘E:\TradingTools\torontotrader\app\models
\rawdata.rb’
NameError: uninitialized constant ActiveRecord
from E:\TradingTools\torontotrader\app\models\rawdata.rb:1
from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in ge m_original_require' from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in re
quire’
from (irb):10

On Nov 8, 1:53 pm, Marcin R. [email protected] wrote:

/config/database.yml’))
end


@db=DataB.new
@db.connect_to_db
@db.load_models

and you’re ready to go!

thanks. it works

thanks. it works
You are welcome. I know :smiley:

On Nov 8, 1:27 pm, James B. [email protected] wrote:


James B.

“I can see them saying something like ‘OMG Three Wizards Awesome’”

Unfortunately this is the error that i get uninitialized constant
ActiveRecord

irb(main):010:0> require ‘E:\Trad\app\models\rawdata.rb’
NameError: uninitialized constant ActiveRecord
from e:\Trad\app\models\rawdata.rb:1
from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:
27:in ge m_original_require' from e:/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb: 27:in re
quire’
from (irb):10

On Nov 8, 8:31 pm, Marcin R. [email protected] wrote:

thanks. it works

You are welcome. I know :smiley:

hello
Since your code had a include ‘logger’ in it, i assume that i can use
it to log errors to the rails log. however it does not seem to work
the way i imagined. can u point what the issue could be. here is the
snippet of cde and the exception.

require ‘rubygems’
require ‘active_record’
require ‘yaml’
require ‘logger’
… lots of code

rescue => detail
Logger.error( detail.backtrace.join(“\n”))

i get the error

undefined method `error’ for Logger:Class