Extract serialize functionality from ::deactivatePackage. Tests WIP

This commit is contained in:
Katrina Uychaco
2016-01-26 22:46:17 -07:00
parent 62c1f6a181
commit a8692f1984
2 changed files with 51 additions and 39 deletions

View File

@@ -467,6 +467,15 @@ class PackageManager
return unless hook? and _.isString(hook) and hook.length > 0
@activationHookEmitter.on(hook, callback)
serialize: ->
for pack in @getLoadedPackages()
@serializePackage(pack)
@packageStates
serializePackage: (pack) ->
if @isPackageActive(pack.name)
@setPackageState(pack.name, state) if state = pack.serialize?()
# Deactivate all packages
deactivatePackages: ->
@config.transact =>
@@ -478,8 +487,6 @@ class PackageManager
# Deactivate the package with the given name
deactivatePackage: (name) ->
pack = @getLoadedPackage(name)
if @isPackageActive(name)
@setPackageState(pack.name, state) if state = pack.serialize?()
pack.deactivate()
delete @activePackages[pack.name]
delete @activatingPackages[pack.name]