Module: Bonanza::UrnLinkHelpers

Includes:
LinkHelpers
Defined in:
lib/bonanza/urn_link_helpers.rb

Constant Summary collapse

URN_APPS =
{
  server: :stats,
  vserver: :stats,
  virtdomain: :ninevirt,
  rack: :stats,
  port: :stats,
  :'ip:v4:subnet'           => :stats,
  :'ip:v6:subnet'           => :stats,
  :'aws:account'            => :mojito,
  :'openshift:project:es34' => :openshift
}.freeze

Instance Method Summary collapse

Methods included from LinkHelpers

#link_to_billing, #link_to_kuba_account, #link_to_migration_item, #link_to_otrs_customer, #link_to_otrs_ticket, #link_to_redmine, #link_to_stats, #link_to_wiki_customer, #nine_app_url

Instance Method Details



24
25
26
27
28
29
30
31
32
# File 'lib/bonanza/urn_link_helpers.rb', line 24

def link_to_urn(name, urn, options = {})
  urn  = ::InfrastructureClient::Urn.new(urn) unless urn.is_a?(::InfrastructureClient::Urn)
  name = urn.short if name.blank?

  url = urn.valid? ? url_for_urn(urn) : ''

  options.reverse_merge! target: '_blank'
  link_to name, url, options
end

#url_for_urn(urn) ⇒ Object



34
35
36
37
38
# File 'lib/bonanza/urn_link_helpers.rb', line 34

def url_for_urn(urn)
  nine_app_url URN_APPS[urn.type.to_sym], urn.type.to_sym, urn.id
rescue Bonanza::LinkHelpers::InvalidAppError
  ''
end