Cross Reference: /ontohub/app/models/ontology.rb
ontology.rb revision 20c94fa632f5b9a5a1b2fbc28fa46f2afe7c65c2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
0075dcb5aeeee4864fe9f64db82c8a8202bbe6d6henning muellerclass Ontology < ActiveRecord::Base
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale
777277547289aa27dd829f34bfa8ae6900cadbe7Eugen Kuksa # Ontohub Library Includes
432ee743a5f1c5688c73446b5977b06ed97fb67cJulian Kornberger include Commentable
d0e19b833d7f9c691a36342c365029720c095742henning mueller include Permissionable
d0e19b833d7f9c691a36342c365029720c095742henning mueller include Metadatable
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale
7a522a1916e13f0cdbf191f633a4fc2523444038Daniel Couto Vale # Ontology Model Includes
4b8c0f56a6a49c41dd0e9fdd28a27c4f35e2a208Julian Kornberger include Ontology::Import
ec96c6e3605c2e9eb5c0113e4e1b07b3b5228c8chenning mueller include Ontology::States
d8fe750649d3c87ea141981dde0182e879e27892Daniel Couto Vale include Ontology::Versions
67ea9fccbdc154cf2418f16ab8883ccfcbc77b51Model Renamer include Ontology::Entities
22e260fcd85642794d99c2ffaa333f2ef6ed7828Daniel Couto Vale include Ontology::Sentences
67ea9fccbdc154cf2418f16ab8883ccfcbc77b51Model Renamer include Ontology::Links
d95c0de1fbdb66e2aa8d2dc223ad554413f1dc87Julian Kornberger include Ontology::Distributed
c39fda5715a22fd5aca1f8aa0daa508c25a229c2Sascha Graef include Ontology::Oops
77ccd99c84e9f4689ffa28fc7f0870ab5d4803bdIngo Becker
92c8f40524b3849c1964e357e13a4101b005c9acTimo Kohorst # Multiple Class Features
aa7327ac2097bc1cec25790f373965b2531d80a4Timo Kohorst include Aggregatable
2e08e51b941a9fa3b4c23b14d427d45abf68244cTimo Kohorst
4b019622d4ba4514958de12f2609b8af960ce238Timo Kohorst belongs_to :language
8909576a7720b882ab11c3916bd02154f2fa65fchenning mueller belongs_to :logic, counter_cache: true
797d4d835625eaf5cf55d19f3a6073728dacbf76Daniel Couto Vale
dca00e3e210f3a3f814c63511f426128b1f3308cEugen Kuksa attr_accessible :iri, :name, :description, :logic_id
1926bd12c68c7c499d4251daf6341519193ca8c4Tim Reddehase
67ea9fccbdc154cf2418f16ab8883ccfcbc77b51Model Renamer validates_presence_of :iri
cad2121a9e9a87317333b202956ce7478efcc257henning mueller validates_uniqueness_of :iri, :if => :iri_changed?
20c94fa632f5b9a5a1b2fbc28fa46f2afe7c65c2Tim Reddehase validates_format_of :iri, :with => URI::regexp(Settings.allowed_iri_schemes)
20c94fa632f5b9a5a1b2fbc28fa46f2afe7c65c2Tim Reddehase
20c94fa632f5b9a5a1b2fbc28fa46f2afe7c65c2Tim Reddehase strip_attributes :only => [:name, :iri]
62b1e45efde570fb171801dbe2716d24a4b70ad8Eugen Kuksa
4bc5ce05ccad8d66930671690afb2b1cee179c1bEugen Kuksa scope :search, ->(query) { where "ontologies.iri #{connection.ilike_operator} :term OR ontologies.name #{connection.ilike_operator} :term", :term => "%" << query << "%" }
e165d93c5dc7e3989fdbde84d77e7ffdd40d73e2Daniel Vale scope :list, includes(:logic).order('ontologies.state asc, ontologies.entities_count desc')
0cd37f42517da8081f1e90a0fdfbb82a526c1704henning mueller
933255de5cd0057b56c0684e867e0405ef908a5dEugen Kuksa def to_s
5b6f49391291b25c13e660ebdfcf80424cf941b2henning mueller name? ? name : iri
725d1f9b70a60c140e264a476060022ecc384e5aDaniel Couto Vale end
5b6f49391291b25c13e660ebdfcf80424cf941b2henning mueller
67ea9fccbdc154cf2418f16ab8883ccfcbc77b51Model Renamer # title for links
5b6f49391291b25c13e660ebdfcf80424cf941b2henning mueller def title
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer name? ? iri : nil
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer end
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer
00c175adc24043fbcd4cd5e3769c9d13e31ff831Model Renamer def symbols
5b6f49391291b25c13e660ebdfcf80424cf941b2henning mueller entities
c78b9d2b96505bd1c3f800bba797f16bb29e0f7fEugen Kuksa end
3eedfb6dd90308259bcfeddaa2cc883c1219df76henning mueller
b997f0e2638f7b5e47f934e2f37c36767f7177d0Tim Reddehase def symbols_count
b997f0e2638f7b5e47f934e2f37c36767f7177d0Tim Reddehase entities_count
6563cb6fc17e253425e201dab181c945ec7c71b9Eugen Kuksa end
6563cb6fc17e253425e201dab181c945ec7c71b9Eugen Kuksa
6563cb6fc17e253425e201dab181c945ec7c71b9Eugen Kuksaend
6563cb6fc17e253425e201dab181c945ec7c71b9Eugen Kuksa