Automated operations on a database


#1

Hello, i have a question about a problem i can’t figure out how to
solve.

I have a standard RoR application made with the classic MVC model, and I
need to (for example) edit a value in a table with a time-based rule.

EX:

starting table:

user | money

    |

john | 500

after 1 minute:

user | money

    |

john | 510

etc…

How to do that?
Really thank you.


#2

I don’t know if there’s a more Rails or Ruby way to do this, but the
best I’ve done is write a ruby script that bootstraps Rails, get my
work done through ActiveRecord (so I don’t by pass any of my business
logic), and then tell cron to run this script every so often.

The following code works for me in bootstrapping Rails:

#!/usr/bin/env ruby

Ensure the environment was specified

if ARGV.length != 1
puts “usage: ruby dummy_records.rb <rails_env>”
exit 1
end

$LOAD_PATH << File.expand_path(File.dirname(FILE))

ENV[‘RAILS_ENV’] = ARGV.first || ENV[‘RAILS_ENV’]

require ‘rubygems’
require File.dirname(FILE) + ‘/…/config/boot’
require “#{RAILS_ROOT}/config/environment”

def connect(environment)
conf = YAML::load(File.open(File.dirname(FILE) + ‘/…/config/
database.yml’))
ActiveRecord::Base.establish_connection(conf[environment])
end

Open ActiveRecord connection

connect(ARGV.first)

Enter code here to interact with your models.

Warm regards,

David R.

On May 23, 10:55 pm, Sonny C. removed_email_address@domain.invalid