2009/2/24 Hello G. [email protected]:
 Alle Attribute in Patient belegen
 save aufrufen
bei Datenbank abmelden
-Thomas
also das buch habe ich leider nicht.
ist aber sehr empfehlenswert, was alle möglichen Themengebiete rund um
Ruby anbelangt.
Klasse patient ist ja schon definiert in Rails in Model patient.rb.
wenn es über ein separates Programm laufen soll, mußt du auch dort
Patient noch definieren.
muss ich die verbindung zur datenbank auch noch mal in diesem
separatesprogramm.rb herstellen, obwohl schon eine verbindung zur
datenbank in database.yml vorhanden ist? eigentlich ja oder? oder darf
ich die rails api mit dem separaten program nicht getrennt sehen???
es läßt sich sicher auch in die Rails-Applikation integrieren, aber
wenn mir von einem separaten Programm ausgehen, mußt du dort auch die
Verbindung zu Datenbank selbst handeln (ist aber auch nicht weiter
schlimm).
Hier ist mal ein Skript von mir, das in etwa das gleiche macht, du
müßtest es halt darauf anpassen, daß der Input nicht von einer
Webseite sondern aus einer Datei kommt.
require ‘rss/2.0’
require ‘open-uri’
require ‘date’
require ‘rubygems’
require ‘active_record’
def activerecord_connect
ActiveRecord::Base.establish_connection(:adapter => “mysql”,
:host => “localhost”,
:username => “root”,
:password => nil,
:database => “jobs”)
end
activerecord_connect
class Posts < ActiveRecord::Base
end
url=‘http://berlin.kijiji.de/f-SearchAdRss?CatId=65’
feed = RSS::Parser.parse(open(url).read, false)
puts “=== Channels: #{feed.channel.title} ===”
feed.items.each do |item|
found = Posts.find_by_pubdate(item.pubDate.to_s)
unless found
puts item.title
puts item.pubDate
puts item.description
# TODO: uninteressante immer wieder gepostete
# Angebote generell als uninteressant markieren
if item.title =~ / Franzosen / or
item.title =~ /MA aus UK\/USA\/Irland /
interesting = false
else
interesting = true
end
# Mon, 19 Jan 2009 13:43:55 +0100
# puts Date.strptime(item.pubDate,'')
s = item.pubDate.to_s
d = ParseDate.parsedate(s)
dd = DateTime.new(d[0],d[1],d[2],d[3],d[4],d[5])
pubtime = dd
post = Posts.create(:pubdate => item.pubDate.to_s,
:pubtime => pubtime,
:title => item.title,
:link => item.link,
:description => item.description,
:interesting => interesting)
puts "gespeichert"
end
end
-Thomas
–
Thomas P.
[email protected]