class Eventifier::Relationship

Attributes

relation[R]
source[R]

Public Class Methods

new(source, relation) click to toggle source
# File lib/eventifier/relationship.rb, line 2
def initialize(source, relation)
  @source, @relation = source, relation
end

Public Instance Methods

key() click to toggle source
# File lib/eventifier/relationship.rb, line 6
def key
  key_from relation
end
users() click to toggle source
# File lib/eventifier/relationship.rb, line 10
def users
  Array object.send(method)
end

Private Instance Methods

key_from(object) click to toggle source
# File lib/eventifier/relationship.rb, line 26
def key_from(object)
  case object
  when Hash
    "#{object.keys.first}_#{key_from object.values.first}"
  when Array
    object.join('-')
  else
    object.to_s
  end
end
method() click to toggle source
# File lib/eventifier/relationship.rb, line 22
def method
  relation.is_a?(Hash) ? relation.values.first : relation
end
object() click to toggle source
# File lib/eventifier/relationship.rb, line 18
def object
  relation.is_a?(Hash) ? source.send(relation.keys.first) : source
end