module ActiveFacts::Generators::RubyTraits::ValueType
Public Instance Methods
ruby_definition()
click to toggle source
# File lib/activefacts/generators/traits/ruby.rb, line 150 def ruby_definition return if name == "_ImplicitBooleanValueType" ruby_length = length && length > 0 ? ":length => #{length}" : nil ruby_scale = scale && scale > 0 ? ":scale => #{scale}" : nil params = [ruby_length,ruby_scale].compact * ", " base_type = supertype || self base_type_name = base_type.ruby_type_name ruby_name = ruby_type_name if base_type_name == ruby_name base_type_name = '::'+base_type_name end " class #{ruby_name} < #{base_type_name}\n" + " value_type #{params}\n" + #emit_mapping self if is_table (value_constraint ? " restrict #{value_constraint.all_allowed_range_sorted.map{|ar| ar.to_s}*", "}\n" : "" ) + (unit ? " \# REVISIT: #{ruby_name} is in units of #{unit.name}\n" : "" ) + absorbed_roles.map do |role| role.ruby_role_definition end. compact*"" + " end\n\n" end