Class: Etna::JanusUtils

Inherits:
Object
  • Object
show all
Defined in:
lib/etna/janus_utils.rb

Instance Method Summary collapse

Constructor Details

#initializeJanusUtils

Returns a new instance of JanusUtils.



4
5
# File 'lib/etna/janus_utils.rb', line 4

def initialize
end

Instance Method Details

#community_projects(token) ⇒ Object



22
23
24
25
26
# File 'lib/etna/janus_utils.rb', line 22

def community_projects(token)
  projects(token).select do |project|
    !!project.resource && !!project.requires_agreement
  end
end

#janus_client(token) ⇒ Object



28
29
30
31
32
33
# File 'lib/etna/janus_utils.rb', line 28

def janus_client(token)
  Etna::Clients::Janus.new(
    token: token,
    host: application.config(:janus)[:host],
  )
end

#projects(token) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/etna/janus_utils.rb', line 7

def projects(token)
  return [] unless has_janus_config?

  janus_client(token).get_projects.projects
rescue
  # If encounter any issue with Janus, we'll return no projects
  []
end

#resource_projects(token) ⇒ Object



16
17
18
19
20
# File 'lib/etna/janus_utils.rb', line 16

def resource_projects(token)
  projects(token).select do |project|
    !!project.resource && !project.requires_agreement
  end
end

#valid_task_token?(token) ⇒ Boolean

Returns:

  • (Boolean)


35
36
37
38
39
40
41
42
43
# File 'lib/etna/janus_utils.rb', line 35

def valid_task_token?(token)
  return false unless has_janus_config?

  response = janus_client(token).validate_task_token

  return false unless response.code == "200"

  return true
end