ontology.rb revision ffddc54fc6bb11130abd3281dcd95159c7f3ce7f
d3b29d4b61f1549244a7509b798be6f806cf7d4eTimo Sirainenclass Ontology < ActiveRecord::Base
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen
5355df8b66da35698449a10c2c83633a64995298Timo Sirainen include Commentable
d99107ddf4d9bccb710994482daf65276a9d6321Timo Sirainen include Permissionable
d99107ddf4d9bccb710994482daf65276a9d6321Timo Sirainen include Metadatable
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen
d3b29d4b61f1549244a7509b798be6f806cf7d4eTimo Sirainen include Ontology::Entities
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen include Ontology::Axioms
9137c55411aa39d41c1e705ddc34d5bd26c65021Timo Sirainen include Ontology::Import
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde include Ontology::States
9137c55411aa39d41c1e705ddc34d5bd26c65021Timo Sirainen include Ontology::Versions
2a90d8a14b0e7cc1508814bc87d3dfa598ef46a8Timo Sirainen
bbe42963032af89fac1318844da08c742525cc87Timo Sirainen belongs_to :logic
72b9d8039b714ea57c4e3b31bce32ef41cb414d4Timo Sirainen
1299f2c3723ca9ccf8f9e563ec23ee1a1721fe4cTimo Sirainen attr_accessible :uri, :name, :description, :logic_id
9137c55411aa39d41c1e705ddc34d5bd26c65021Timo Sirainen
9137c55411aa39d41c1e705ddc34d5bd26c65021Timo Sirainen validates_presence_of :uri
fc71e94957d0c2959a609450a2f303640d681858Sascha Wilde validates_uniqueness_of :uri, :if => :uri_changed?
9137c55411aa39d41c1e705ddc34d5bd26c65021Timo Sirainen validates_format_of :uri, :with => URI::regexp(ALLOWED_URI_SCHEMAS)
bbe42963032af89fac1318844da08c742525cc87Timo Sirainen
53f37d41e1abb068131320f39f870fc92e81f560Timo Sirainen strip_attributes :only => [:name, :uri]
53f37d41e1abb068131320f39f870fc92e81f560Timo Sirainen
scope :search, ->(query) { where "uri ILIKE :term OR name ILIKE :term", :term => "%" << query << "%" }
def to_s
name? ? name : uri
end
# title for links
def title
name? ? uri : nil
end
end