Class: VCAP::Services::ServiceAdvertiser
- Defined in:
- lib/base/service_advertiser.rb
Instance Attribute Summary collapse
-
#active ⇒ Object
readonly
Returns the value of attribute active.
-
#catalog_services ⇒ Object
readonly
Returns the value of attribute catalog_services.
-
#logger ⇒ Object
readonly
Returns the value of attribute logger.
-
#registered_services ⇒ Object
readonly
Returns the value of attribute registered_services.
Instance Method Summary collapse
- #active_count ⇒ Object
- #active_services ⇒ Object
- #advertise_services ⇒ Object
- #disabled_count ⇒ Object
- #inactive_services ⇒ Object
-
#initialize(options) ⇒ ServiceAdvertiser
constructor
A new instance of ServiceAdvertiser.
- #new_services ⇒ Object
Constructor Details
#initialize(options) ⇒ ServiceAdvertiser
Returns a new instance of ServiceAdvertiser.
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/base/service_advertiser.rb', line 5 def initialize() @catalog_services = .fetch(:current_catalog) @registered_services = .fetch(:catalog_in_ccdb) @http_handler = .fetch(:http_handler) @logger = .fetch(:logger) @active = .fetch(:active, true) @offering_uri = "/v2/services" @service_plans_uri = "/v2/service_plans" build_service_lists_and_prepare_guids end |
Instance Attribute Details
#active ⇒ Object (readonly)
Returns the value of attribute active.
3 4 5 |
# File 'lib/base/service_advertiser.rb', line 3 def active @active end |
#catalog_services ⇒ Object (readonly)
Returns the value of attribute catalog_services.
3 4 5 |
# File 'lib/base/service_advertiser.rb', line 3 def catalog_services @catalog_services end |
#logger ⇒ Object (readonly)
Returns the value of attribute logger.
3 4 5 |
# File 'lib/base/service_advertiser.rb', line 3 def logger @logger end |
#registered_services ⇒ Object (readonly)
Returns the value of attribute registered_services.
3 4 5 |
# File 'lib/base/service_advertiser.rb', line 3 def registered_services @registered_services end |
Instance Method Details
#active_count ⇒ Object
46 47 48 |
# File 'lib/base/service_advertiser.rb', line 46 def active_count active ? @catalog_services.size : 0 end |
#active_services ⇒ Object
54 55 56 |
# File 'lib/base/service_advertiser.rb', line 54 def active_services @active_services end |
#advertise_services ⇒ Object
17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/base/service_advertiser.rb', line 17 def advertise_services logger.debug("CCNG Catalog Manager: Registered in ccng: #{registered_services.inspect}") logger.debug("CCNG Catalog Manager: Current catalog: #{catalog_services.inspect}") active_services.each do |active_service| service_in_ccdb = registered_services.find do |registered_service| active_service.guid == registered_service.guid end service_change_set = active_service.create_change_set(service_in_ccdb) logger.debug("CCNG Catalog Manager: service_change_set = #{service_change_set.inspect}") advertise_service_to_cc(active_service, active_service.guid, service_change_set.plans_to_add, service_change_set.plans_to_update) end new_services.each do |service| service_plan_change_set = service.create_change_set(nil) logger.debug("CCNG Catalog Manager: plans_to_add = #{service_plan_change_set.plans_to_add.inspect}") logger.debug("CCNG Catalog Manager: Add new offering: #{service.inspect}") advertise_service_to_cc(service, nil, service_plan_change_set.plans_to_add, {}) # nil guid => new service, so add all plans end logger.info("CCNG Catalog Manager: Found #{active_services.size} active, #{disabled_count} disabled and #{new_services.size} new service offerings") end |
#disabled_count ⇒ Object
50 51 52 |
# File 'lib/base/service_advertiser.rb', line 50 def disabled_count active ? inactive_services.size : registered_services.size end |
#inactive_services ⇒ Object
58 59 60 |
# File 'lib/base/service_advertiser.rb', line 58 def inactive_services @inactive_services end |
#new_services ⇒ Object
62 63 64 |
# File 'lib/base/service_advertiser.rb', line 62 def new_services @new_services end |