Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'rubygems'
- require 'sequel'
- DB = Sequel.connect('jdbc:mysql://localhost/sequel_test?user=root&password=')
- DB.create_table! :policies do # Create a new table
- primary_key :id, :serial
- date :term_start_date
- varchar :policy_ref, :size => 30
- end
- DB.create_table! :covers do
- primary_key :id, :serial
- foreign_key :policy_id, :policies
- varchar :cover_code, :size => 30
- boolean :is_primary
- end
- DB.create_table! :mod_factors do
- integer :policy_id
- varchar :cover_code, :size => 30
- varchar :prem_mod_type
- float :prem_mod_value
- # foreign_key [:policy_id, :cover_code], :covers
- end
- class Policy < Sequel::Model
- set_primary_key :id
- has_many :covers
- set_allowed_columns :term_start_date, :policy_ref, :cover_attributes
- def after_initialize
- puts self.id
- 1.upto(3) do |i|
- add_cover(Cover.new({:cover_code => i}))
- end
- end
- def cover_attributes=(attribs)
- puts "cover_attributes="
- end
- end
- class Cover < Sequel::Model
- has_many :mod_factors
- belongs_to :policy
- end
- class ModFactor < Sequel::Model
- belongs_to :cover
- end
- p = Policy.new.set({
- :term_start_date => Date.today,
- :cover_attributes => [{:cover_code => "1020"}]})
- p.save
Add Comment
Please, Sign In to add comment