Sha256: 90e4282302f12be09a0762d03a2fb80b9503357ced1574bd3f98fd8567351731

Contents?: true

Size: 1.16 KB

Versions: 4

Compression:

Stored size: 1.16 KB

Contents

# encoding: UTF-8

# (c) Copyright 2014 Hewlett-Packard Development Company, L.P.
#
#    Licensed under the Apache License, Version 2.0 (the "License");
#    you may not use this file except in compliance with the License.
#    You may obtain a copy of the License at
#
#        http://www.apache.org/licenses/LICENSE-2.0
#
#    Unless required by applicable law or agreed to in writing, software
#    distributed under the License is distributed on an "AS IS" BASIS,
#    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#    See the License for the specific language governing permissions and
#    limitations under the License.

# Defined Openstack object refresh.
class OpenstackController
  def self.def_refresh(name)
    define_method("refresh_#{name}") do |object|
      ret = false
      if object.class.method_defined?(:reload)
        begin
          object.reload
        rescue => e
          PrcLib.error("'%s': %s", object.class, e)
        else
          Lorj.debug(4, "'%s' refreshed '%s'", __method__, object.class)
          ret = true
        end
      end
      ret
    end
  end

  dcl = %w(server)

  dcl.each { |t| def_refresh t.to_sym }
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
lorj_cloud-0.1.12 lib/process/cloud/providers/openstack/openstack_refresh.rb
lorj_cloud-0.1.11 lib/process/cloud/providers/openstack/openstack_refresh.rb
lorj_cloud-0.1.10 lib/process/cloud/providers/openstack/openstack_refresh.rb
lorj_cloud-0.1.9 lib/process/cloud/providers/openstack/openstack_refresh.rb