lib/runcible/instance.rb in runcible-1.7.2 vs lib/runcible/instance.rb in runcible-1.8.0
- old
+ new
@@ -1,18 +1,7 @@
module Runcible
class Instance
- # rubocop:disable Style/ClassVars
- def self.resource_classes
- @@resource_classes ||= gather_classes('resources')
- @@resource_classes
- end
-
- def self.extension_classes
- @@extension_classes ||= gather_classes('extensions')
- @@extension_classes
- end
-
attr_accessor :resources
attr_accessor :extensions
# Initialize a Runcible instance
#
@@ -48,10 +37,33 @@
@config[key] = value
end
attr_reader :config
+ class << self
+ # rubocop:disable Style/ClassVars
+ def resource_classes
+ @@resource_classes ||= gather_classes('resources')
+ @@resource_classes
+ end
+
+ def extension_classes
+ @@extension_classes ||= gather_classes('extensions')
+ @@extension_classes
+ end
+
+ private
+
+ def gather_classes(type)
+ const = Runcible
+ const = const.const_get(type.camelize)
+ path = File.dirname(__FILE__) + "/#{type}/*.rb"
+ base_names = Dir.glob(path).map { |f| File.basename(f, '.rb') }
+ base_names.map { |name| const.const_get(name.camelize) }
+ end
+ end
+
private
def initialize_wrappers
self.resources = Wrapper.new('resources')
self.extensions = Wrapper.new('extensions')
@@ -69,17 +81,9 @@
def accessible_class(class_object)
#converts a class (Runcible::Resources::ConsumerGroup) to a user friendly name:
# (e.g. consumer_group)
class_object.name.split('::').last.underscore
- end
-
- def self.gather_classes(type)
- const = Runcible
- const = const.const_get(type.camelize)
- path = File.dirname(__FILE__) + "/#{type}/*.rb"
- base_names = Dir.glob(path).map { |f| File.basename(f, '.rb') }
- base_names.map { |name| const.const_get(name.camelize) }
end
end
#Wrapper class to provide access to instances
class Wrapper