Module: Model::Organ

Extended by:
ActiveSupport::Concern
Included in:
Org::Organ
Defined in:
app/models/org/model/organ.rb

Instance Method Summary collapse

Instance Method Details

#admin?Boolean

Returns:

  • (Boolean)


57
58
59
# File 'app/models/org/model/organ.rb', line 57

def admin?
  Array(cached_role_ids).compact.blank? && official?
end

#domainsObject



53
54
55
# File 'app/models/org/model/organ.rb', line 53

def domains
  organ_domains.pluck(:identifier)
end

#hostObject



32
33
34
35
36
37
38
39
40
41
42
# File 'app/models/org/model/organ.rb', line 32

def host
  if domain.blank?
    init_organ_domain
    save
  end
  # todo deal with port
  ActionDispatch::Http::URL.url_for(
    host: domain,
    protocol: Rails.application.routes.default_url_options[:protocol]
  )
end

#init_organ_domainObject



49
50
51
# File 'app/models/org/model/organ.rb', line 49

def init_organ_domain
  organ_domain || build_organ_domain
end

#url_optionsObject



44
45
46
47
# File 'app/models/org/model/organ.rb', line 44

def url_options
  od = organ_domain || organ_domains.take || build_organ_domain
  od.as_json(only: [:host, :port])
end