Class: Application

Inherits:
Object
  • Object
show all
Defined in:
lib/models/application.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(node, repository) ⇒ Application

Returns a new instance of Application.



4
5
6
# File 'lib/models/application.rb', line 4

def initialize(node, repository)
  @query = NodeQuery.new(node, repository)
end

Instance Attribute Details

#queryObject (readonly)

Returns the value of attribute query.



2
3
4
# File 'lib/models/application.rb', line 2

def query
  @query
end

Instance Method Details

#deployment_plan_with_description(description) ⇒ Object



48
49
50
# File 'lib/models/application.rb', line 48

def deployment_plan_with_description(description)
  deployment_plans.find { |a| a.description == description }
end

#deployment_plansObject



42
43
44
45
46
# File 'lib/models/application.rb', line 42

def deployment_plans
  query.values(LV.hasDeploymentPlan).map do |node|
    DeploymentPlan.new(node, repo)
  end
end

#descriptionObject



16
17
18
# File 'lib/models/application.rb', line 16

def description
  query.value(LV.description)
end

#nameObject



8
9
10
11
12
13
14
# File 'lib/models/application.rb', line 8

def name
  if query.value_exists?(RDF::Vocab::FOAF.name)
    query.value(RDF::Vocab::FOAF.name)
  else
    query.value(LV.name)
  end
end

#open_questionsObject



25
26
27
# File 'lib/models/application.rb', line 25

def open_questions
  questions.select { |q| not q.has_answer? }
end

#question_with_text(text) ⇒ Object



29
30
31
# File 'lib/models/application.rb', line 29

def question_with_text(text)
  questions.find { |q| q.text == text }
end

#questionsObject



20
21
22
23
# File 'lib/models/application.rb', line 20

def questions
  list = repo.query([nil, RDF.type, QV.Question]).map { |s| s.subject }
  list.map { |node| Question.new(node, repo) }
end

#requirement_with_description(description) ⇒ Object



38
39
40
# File 'lib/models/application.rb', line 38

def requirement_with_description(description)
  requirements.find { |r| r.description == description }
end

#requirementsObject



33
34
35
36
# File 'lib/models/application.rb', line 33

def requirements
  list = repo.query([nil, RDF.type, QV.Requirement]).map { |s| s.subject }
  list.map { |node| Requirement.new(node, repo) }
end