# File lib/commands/plugin/plugin_pack.rb, line 35 def self.parse_spec(spec) pack_spec = YAML.parse(spec) pack_meta = self.parse_pack_meta(pack_spec) pack_plugins = self.parse_pack_plugins(pack_spec) return nil if pack_plugins.empty? pack_name = pack_meta.delete('name') || 'Untitled Pack' pack = PluginPack.new(pack_name) pack_meta.each_pair { |key, value| pack.send("#{key}=", value) if pack.respond_to?(key) } pack_plugins.each_pair { |name, source| pack.add_plugin(name, source) } pack end