Class: Katello::Subscription

Inherits:
Model
  • Object
show all
Includes:
Authorization::Subscription, Glue::Candlepin::CandlepinObject, Glue::Candlepin::Subscription
Defined in:
app/models/katello/subscription.rb

Defined Under Namespace

Classes: Jail

Class Method Summary collapse

Instance Method Summary collapse

Methods included from Authorization::Subscription

#readable?

Methods included from Glue::Candlepin::Subscription

included

Methods inherited from Model

#destroy!

Class Method Details

.humanize_class_name(_name = nil) ⇒ Object



57
58
59
# File 'app/models/katello/subscription.rb', line 57

def self.humanize_class_name(_name = nil)
  _("Subscription")
end

.subscribableObject



16
17
18
19
20
21
# File 'app/models/katello/subscription.rb', line 16

def self.subscribable
  product_ids = Product.subscribable.pluck(:id) + [nil]
  joins(:pools).joins("LEFT OUTER JOIN #{Katello::PoolProduct.table_name} pool_prod ON #{Pool.table_name}.id = pool_prod.pool_id")
    .where("pool_prod.product_id" => product_ids)
    .group("#{self.table_name}.id")
end

.using_virt_whoObject



25
26
27
# File 'app/models/katello/subscription.rb', line 25

def self.using_virt_who
  joins(:pools).where("#{Katello::Pool.table_name}.virt_who" => true)
end

Instance Method Details

#active?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'app/models/katello/subscription.rb', line 33

def active?
  pools.any?(&:active?)
end

#expiring_soon?Boolean

Returns:

  • (Boolean)


37
38
39
# File 'app/models/katello/subscription.rb', line 37

def expiring_soon?
  pools.any?(&:expiring_soon?)
end

#multi_entitlement?Boolean

Returns:

  • (Boolean)


45
46
47
# File 'app/models/katello/subscription.rb', line 45

def multi_entitlement?
  pools.where("#{Katello::Pool.table_name}.multi_entitlement" => true).any?
end

#recently_expired?Boolean

Returns:

  • (Boolean)


41
42
43
# File 'app/models/katello/subscription.rb', line 41

def recently_expired?
  pools.any?(&:recently_expired?)
end

#redhat?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'app/models/katello/subscription.rb', line 29

def redhat?
  products.redhat.any?
end

#virt_who?Boolean

Returns:

  • (Boolean)


53
54
55
# File 'app/models/katello/subscription.rb', line 53

def virt_who?
  virt_who_pools.any?
end

#virt_who_poolsObject



49
50
51
# File 'app/models/katello/subscription.rb', line 49

def virt_who_pools
  pools.where("#{Katello::Pool.table_name}.virt_who" => true)
end