Sha256: bf32da5ca44493cec2dfca791378857d140a55ccaf7dd58a47d08a73db47516c
Contents?: true
Size: 926 Bytes
Versions: 1
Compression:
Stored size: 926 Bytes
Contents
module RailsERD class Relationship class Cardinality CARDINALITY_NAMES = %w{one_to_one one_to_many many_to_many} #:nodoc: ORDER = {} #:nodoc: class << self attr_reader :type def from_macro(macro) #:nodoc: case macro when :has_and_belongs_to_many then ManyToMany when :has_many then OneToMany when :has_one then OneToOne end end def <=>(other) #:nodoc: ORDER[self] <=> ORDER[other] end CARDINALITY_NAMES.each do |cardinality| define_method :"#{cardinality}?" do type == cardinality end end end CARDINALITY_NAMES.each_with_index do |cardinality, i| klass = Cardinality.const_set cardinality.camelize.to_sym, Class.new(Cardinality) { @@type = cardinality } ORDER[klass] = i end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
rails-erd-0.1.0 | lib/rails_erd/relationship/cardinality.rb |