Class: BiologicalRelationship

Inherits:
ApplicationRecord show all
Includes:
Housekeeping, Shared::Citable, Shared::DataAttributes, Shared::IsData, Shared::Notable, Shared::Taggable
Defined in:
app/models/biological_relationship.rb

Overview

A biological relationship defines a biological relationship type between two biological entities (e.g. specimen and specimen, otu and specimen etc.)

Instance Attribute Summary (collapse)

Class Method Summary (collapse)

Methods included from Housekeeping

#has_polymorphic_relationship?

Methods included from ActiverecordUtilities

#trim_attributes

Instance Attribute Details

- (Boolean) is_reflexive

Returns whether the relationship is reflexive, i.e. if A is_a B and is_a is_reflexive then B is_a A

Returns:

  • (Boolean)

    whether the relationship is reflexive, i.e. if A is_a B and is_a is_reflexive then B is_a A



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/models/biological_relationship.rb', line 19

class BiologicalRelationship < ApplicationRecord
  include Housekeeping
  include Shared::Taggable
  include Shared::Notable
  include Shared::Citable
  include Shared::DataAttributes
  include Shared::IsData

  validates_presence_of :name
  has_many :biological_relationship_types, inverse_of: :biological_relationship
  has_many :biological_associations, inverse_of: :biological_relationship
  has_many :biological_properties, through: :biological_relationship_types

  def self.find_for_autocomplete(params)
    t = params[:term]
    t2 = t + "%"
    t3 = "%" + t2
    BiologicalRelationship.where("(name ILIKE ?) OR (name ILIKE ?) OR (name ILIKE ?)", t,t2,t3).where(project_id: params[:project_id])
  end

end

- (Boolean) is_transitive

Returns whether the relationship is transitive, i.e. if A is_a B is_a C then if is_a is transitive A is_a C

Returns:

  • (Boolean)

    whether the relationship is transitive, i.e. if A is_a B is_a C then if is_a is transitive A is_a C



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/models/biological_relationship.rb', line 19

class BiologicalRelationship < ApplicationRecord
  include Housekeeping
  include Shared::Taggable
  include Shared::Notable
  include Shared::Citable
  include Shared::DataAttributes
  include Shared::IsData

  validates_presence_of :name
  has_many :biological_relationship_types, inverse_of: :biological_relationship
  has_many :biological_associations, inverse_of: :biological_relationship
  has_many :biological_properties, through: :biological_relationship_types

  def self.find_for_autocomplete(params)
    t = params[:term]
    t2 = t + "%"
    t3 = "%" + t2
    BiologicalRelationship.where("(name ILIKE ?) OR (name ILIKE ?) OR (name ILIKE ?)", t,t2,t3).where(project_id: params[:project_id])
  end

end

- (String) name

Returns the name of the relationship

Returns:

  • (String)

    the name of the relationship



19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/models/biological_relationship.rb', line 19

class BiologicalRelationship < ApplicationRecord
  include Housekeeping
  include Shared::Taggable
  include Shared::Notable
  include Shared::Citable
  include Shared::DataAttributes
  include Shared::IsData

  validates_presence_of :name
  has_many :biological_relationship_types, inverse_of: :biological_relationship
  has_many :biological_associations, inverse_of: :biological_relationship
  has_many :biological_properties, through: :biological_relationship_types

  def self.find_for_autocomplete(params)
    t = params[:term]
    t2 = t + "%"
    t3 = "%" + t2
    BiologicalRelationship.where("(name ILIKE ?) OR (name ILIKE ?) OR (name ILIKE ?)", t,t2,t3).where(project_id: params[:project_id])
  end

end

- (Integer) project_id

the project ID

Returns:

  • (Integer)


19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'app/models/biological_relationship.rb', line 19

class BiologicalRelationship < ApplicationRecord
  include Housekeeping
  include Shared::Taggable
  include Shared::Notable
  include Shared::Citable
  include Shared::DataAttributes
  include Shared::IsData

  validates_presence_of :name
  has_many :biological_relationship_types, inverse_of: :biological_relationship
  has_many :biological_associations, inverse_of: :biological_relationship
  has_many :biological_properties, through: :biological_relationship_types

  def self.find_for_autocomplete(params)
    t = params[:term]
    t2 = t + "%"
    t3 = "%" + t2
    BiologicalRelationship.where("(name ILIKE ?) OR (name ILIKE ?) OR (name ILIKE ?)", t,t2,t3).where(project_id: params[:project_id])
  end

end

Class Method Details

+ (Object) find_for_autocomplete(params)



32
33
34
35
36
37
# File 'app/models/biological_relationship.rb', line 32

def self.find_for_autocomplete(params)
  t = params[:term]
  t2 = t + "%"
  t3 = "%" + t2
  BiologicalRelationship.where("(name ILIKE ?) OR (name ILIKE ?) OR (name ILIKE ?)", t,t2,t3).where(project_id: params[:project_id])
end