From d3c0dc2195449a2288c46657d1103ee91c0b9cc4 Mon Sep 17 00:00:00 2001 From: Josh Yotty Date: Mon, 18 Feb 2013 17:09:51 -0800 Subject: [PATCH] [bluebox|blb] lb_service collection implementation --- lib/fog/bluebox/models/blb/lb_application.rb | 8 ++++---- lib/fog/bluebox/models/blb/lb_service.rb | 4 ++++ lib/fog/bluebox/models/blb/lb_services.rb | 11 ++++++----- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/lib/fog/bluebox/models/blb/lb_application.rb b/lib/fog/bluebox/models/blb/lb_application.rb index 948521acb..dd0800a0a 100644 --- a/lib/fog/bluebox/models/blb/lb_application.rb +++ b/lib/fog/bluebox/models/blb/lb_application.rb @@ -10,13 +10,13 @@ module Fog attribute :name attribute :ip_v4 attribute :ip_v6 - attribute :services attribute :description attribute :created, :aliases => 'created_at' - def services - requires :id - service.get_lb_services(id).body + def lb_services + Fog::Bluebox::BLB::LbServices.new({ + :lb_application => self + }) end end diff --git a/lib/fog/bluebox/models/blb/lb_service.rb b/lib/fog/bluebox/models/blb/lb_service.rb index 7d6e74302..d02db9f2a 100644 --- a/lib/fog/bluebox/models/blb/lb_service.rb +++ b/lib/fog/bluebox/models/blb/lb_service.rb @@ -19,6 +19,10 @@ module Fog end + def lb_application + collection.lb_application + end + end end end diff --git a/lib/fog/bluebox/models/blb/lb_services.rb b/lib/fog/bluebox/models/blb/lb_services.rb index 5d2dd58e5..2fd6983b5 100644 --- a/lib/fog/bluebox/models/blb/lb_services.rb +++ b/lib/fog/bluebox/models/blb/lb_services.rb @@ -7,15 +7,16 @@ module Fog class LbServices < Fog::Collection model Fog::Bluebox::BLB::LbService + attr_accessor :data, :lb_application + def all - data = service.get_lb_services.body + data = service.get_lb_services(lb_application.id).body load(data) end - def get(application_id, service_id) - if service_id && service = service.get_lb_services(service_id).body - new(server) - end + def get(lb_service_id) + lb_service = service.get_lb_service(lb_application.id, lb_service_id).body + new(lb_service) rescue Fog::Bluebox::BLB::NotFound nil end