Module: Glue::Candlepin::Pool

Included in:
Katello::Pool
Defined in:
app/models/katello/glue/candlepin/pool.rb

Defined Under Namespace

Modules: ClassMethods, InstanceMethods

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/models/katello/glue/candlepin/pool.rb', line 3

def self.included(base)
  base.send :include, LazyAccessor
  base.send :include, InstanceMethods
  base.send :extend, ClassMethods

  base.class_eval do
    lazy_accessor :pool_facts, :initializer => lambda { |_s| self.import_lazy_attributes }
    lazy_accessor :subscription_facts, :initializer => lambda { |_s| self.subscription ? self.subscription.attributes : {} }

    lazy_accessor :pool_derived, :owner, :source_pool_id, :host_id, :virt_limit, :arch, :description,
      :product_family, :variant, :suggested_quantity, :support_type, :product_id, :type,
      :initializer => :pool_facts

    lazy_accessor :name, :support_level, :org, :sockets, :cores, :stacking_id, :instance_multiplier,
      :initializer => :subscription_facts

    lazy_accessor :active, :initializer => lambda { |_s| self.pool_facts["activeSubscription"] }

    lazy_accessor :available, :initializer => lambda { |_s| self.quantity_available }
  end
end