Question

I'm looking for a ruby class that could generate the sequel model file for Ramaze after reading the definition of the table in a mySQL database. For example, I would like to type : ruby mySuperGenerator.rb "mytable"

And the result shold be the file "mytable.rb" in "model" directory, containing :


class Mytable < Sequel::Model(:mytable)
  # All plugins I've defined somewhere before lauching the generator
  plugin :validation_helpers
  plugin :json_serializer
  one_to_many :othertable
  many_to_one :othertable2

  def validate
        # Generating this if there are some not null attributes in this table
    validates_presence [:fieldthatshoulnotbenull1, :fieldthatshoulnotbenull2]
    errors.add(:fieldthatshoulnotbenull1, 'The field fieldthatshoulnotbenull1 should not be null.') if self.fieldthatshoulnotbenull1.nil?

  end

  def before_create
    # All the default values found for each table attributes
    self.creation_time ||= Time.now
  end

  def before_destroy
    # referential integrity
    self.othertable_dataset.destroy unless self.othertable.nil?
  end
end

Does someone knows if such a generator exists ?

Was it helpful?

Solution

Well... I finally wrote my script. see https://github.com/Pilooz/sequel_model_generator Have look and fork !

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top