Sha256: 29847ca28167c41af4c2adb6e953209ea2abdf736e2da3c7fda8109c9f2cd7a2
Contents?: true
Size: 1.32 KB
Versions: 3
Compression:
Stored size: 1.32 KB
Contents
# -*- encoding : utf-8 -*- require 'mdwa/generators' module MDWA module DSL class EntityAttribute attr_accessor :entity, :name, :type, :default, :options ACCEPTED_TYPES = MDWA::Generators::ModelAttribute::STATIC_TYPES def initialize(entity) self.entity = entity self.default = false end def raise_errors_if_invalid! if !valid? raise "Invalid entity attribute: name is blank" if self.name.blank? raise "Invalid entity attribute: '#{name}' - type is blank" if self.type.blank? raise "Invalid entity attribute: '#{name}' - type '#{type}' is invalid" if self.type_invalid? raise "Invalid entity attribute: '#{name}' - entity is nil" if self.entity.blank? end end def valid? !entity.nil? and !name.blank? and !type.blank? and !type_invalid? end def type_invalid? !ACCEPTED_TYPES.include?( self.type.to_sym ) end def default? self.default end def generate "#{name}:#{type}" end # # Return the model attribute generator. # def to_model_attribute self.entity.generator_model.attributes.select{ |m_attr| m_attr.name == self.name }.first end end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
mdd-3.1.4 | lib/mdwa/dsl/entity_attribute.rb |
mdd-3.1.2 | lib/mdwa/dsl/entity_attribute.rb |
mdd-3.1.1 | lib/mdwa/dsl/entity_attribute.rb |