私は WCF の DataContract と DataContractSerializer を使用して、オブジェクトを XML ファイルに読み書きしています。Ruby on Rails版に切り替えたいのですが、何が使えるか知りたいです。次のような属性を持つオブジェクトがあります (これらは単なる例であり、正確なオブジェクトではありません)。
[DataContract]
public class City
{
[DataMember]
public string Name { get; set; }
[DataMember]
public string Location { get; set; }
}
[DataContract]
public class Person
{
[DataMember]
public string Name { get; set; }
[DataMember]
public City Home {get; set; }
// returns true if the city is near me
public bool NearMe(City myCity) { // insert code to compare cities }
}
オブジェクトを読み込むコードは次のとおりです。
DataContractSerializer ds = new DataContractSerializer(typeof(Person));
using (Stream s = File.OpenRead("person1.xml"))
{
Person p = (Person) ds.ReadObject(s);
}
Ruby/Rails で同じことを行うための同等の形式は何ですか? オブジェクトを定義するにはどうすればよいですか? XML ファイルからそれらを読み込むにはどのような方法がありますか? すべてをモデルとして定義してから、各オブジェクトのバックエンド DB を作成できることがわかりました。このアプリケーションには db は必要なく、XML ファイルからオブジェクトの静的セットを読み取るだけなので、すべての db テーブルを作成せずにそれを行う方法はありますか。