Sha256: 5a8c96fdd9b6a79b2a28949faa4655204ac13f4bf9db069ae7e0aeea5c93fa29
Contents?: true
Size: 1.26 KB
Versions: 26
Compression:
Stored size: 1.26 KB
Contents
module PowerStencil module Plugins module Capabilities include PowerStencil::Utils::FileHelper CAPABILITIES = %i(config command_line processors build dsl entity_definitions templates).freeze attr_reader :plugin_definition def capabilities @capabilities ||= CAPABILITIES.dup.zip([false] * CAPABILITIES.size).to_h end private def load_capabilities yaml_file = plugin_capabilities_definition_file unless File.exists? yaml_file and File.file? yaml_file and File.readable? yaml_file raise PowerStencil::Error, "Plugin '#{self.name}' has no definition file !" end logger.debug "Loading plugin '#{self.name}' capabilities..." begin @plugin_definition = yaml_file_to_hash yaml_file %i(processors entity_definitions templates build dsl).each do |capability| unless plugin_definition[capability].nil? or plugin_definition[capability].empty? capabilities[capability] = true end end rescue => e logger.debug PowerStencil::Error.report_error(e) raise PowerStencil::Error, "Invalid plugin capabilities file '#{yaml_file}' for plugin '#{self.name}'" end end end end end
Version data entries
26 entries across 26 versions & 1 rubygems