Class: Userlist::Rails::Transforms::Relationship

Inherits:
Userlist::Rails::Transform show all
Defined in:
lib/userlist/rails/transforms/relationship.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from Userlist::Rails::Transform

#[], #delete?, #hash, #initialize, #key?, #keys, #push?

Constructor Details

This class inherits a constructor from Userlist::Rails::Transform

Class Method Details

.attributesObject



7
8
9
10
11
12
13
# File 'lib/userlist/rails/transforms/relationship.rb', line 7

def self.attributes
  @attributes ||= [
    :user,
    :company,
    :properties
  ]
end

Instance Method Details

#companyObject



25
26
27
28
29
# File 'lib/userlist/rails/transforms/relationship.rb', line 25

def company
  company_method = Userlist::Rails.find_reflection(config.relationship_model, config.company_model)&.name

  model.try(:userlist_company) || (company_method && model.try(company_method))
end

#propertiesObject



15
16
17
# File 'lib/userlist/rails/transforms/relationship.rb', line 15

def properties
  model.try(:userlist_properties) || {}
end

#userObject



19
20
21
22
23
# File 'lib/userlist/rails/transforms/relationship.rb', line 19

def user
  user_method = Userlist::Rails.find_reflection(config.relationship_model, config.user_model)&.name

  model.try(:userlist_user) || (user_method && model.try(user_method))
end