Class: Relation

Inherits:
ActiveRecord::Base
  • Object
show all
Defined in:
app/models/relation.rb

Direct Known Subclasses

RelationProxy

Constant Summary collapse

EXPORT_FIELDS =
%w{target_name target_icon target_unique source_role source_icon source_unique rel_group}

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

Returns the value of attribute link.



6
7
8
# File 'app/models/relation.rb', line 6

def link
  @link
end

Returns the value of attribute link_errors.



6
7
8
# File 'app/models/relation.rb', line 6

def link_errors
  @link_errors
end

#sideObject

Returns the value of attribute side.



6
7
8
# File 'app/models/relation.rb', line 6

def side
  @side
end

#startObject

Returns the value of attribute start.



6
7
8
# File 'app/models/relation.rb', line 6

def start
  @start
end

Instance Method Details

#exportObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# File 'app/models/relation.rb', line 21

def export
  res = Zafu::OrderedHash.new
  EXPORT_FIELDS.each do |key|
    if key == 'target_name'
      res[key] = VirtualClass.find_by_kpath(self['target_kpath']).name
    else
      value = self[key]
      if !value.blank?
        res[key] = value
      end
    end
  end
  
  res
end

#source_roleObject

FIXME: validate uniqueness of source_role and target_role in scope site_id FIXME: set kpath from class



13
14
15
# File 'app/models/relation.rb', line 13

def source_role
  source_unique ? self[:source_role] : self[:source_role].pluralize
end

#target_roleObject



17
18
19
# File 'app/models/relation.rb', line 17

def target_role
  target_unique ? self[:target_role] : self[:target_role].pluralize
end