Sha256: 56f96b3ef02d297e184a9dc16de9060ef5e93e3c1b0e717b15bcb5873157fe6e
Contents?: true
Size: 1001 Bytes
Versions: 2
Compression:
Stored size: 1001 Bytes
Contents
class MagicField < ActiveRecord::Base has_many :magic_field_relationships, :dependent => :destroy has_many :owners, :through => :magic_field_relationships, :as => :owner has_many :magic_attributes, :dependent => :destroy validates_presence_of :name, :datatype validates_format_of :name, :with => /\A[a-z][a-z0-9_]+\z/ before_save :set_pretty_name def self.datatypes ["string","check_box_boolean", "date", "datetime", "integer"] end def type_cast(value) begin case datatype.to_sym when :check_box_boolean (value.to_int == 1) ? true : false when :date Date.parse(value) when :datetime Time.parse(value) when :integer value.to_int else value end rescue value end end # Display a nicer (possibly user-defined) name for the column or use a fancified default. def set_pretty_name self.pretty_name = name.humanize if pretty_name.blank? end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
has_magic_fields-0.2.0 | lib/app/models/magic_field.rb |
has_magic_fields-0.1.2 | lib/app/models/magic_field.rb |