@@ -146,11 +146,13 @@ final class ZendeskManager: NSObject, ZendeskManagerProtocol {
146146 private let stores = ServiceLocator . stores
147147 private let storageManager = ServiceLocator . storageManager
148148
149- /// Loads Plugins from the Storage Layer.
149+ /// Controller for fetching site plugins from Storage
150150 ///
151- private lazy var pluginResultsController : ResultsController < StorageSitePlugin > = updatePluginResultsController ( )
152-
153- private func updatePluginResultsController( ) -> ResultsController < StorageSitePlugin > {
151+ private lazy var pluginResultsController : ResultsController < StorageSitePlugin > = createPluginResultsController ( )
152+
153+ /// Returns a `pluginResultsController` using the latest selected site ID for predicate
154+ ///
155+ private func createPluginResultsController( ) -> ResultsController < StorageSitePlugin > {
154156 var sitePredicate : NSPredicate ? = nil
155157 if let siteID = stores. sessionManager. defaultSite? . siteID {
156158 sitePredicate = NSPredicate ( format: " siteID == %lld " , siteID)
@@ -166,17 +168,17 @@ final class ZendeskManager: NSObject, ZendeskManagerProtocol {
166168 }
167169
168170 func observeStoreSwitch( ) {
169- pluginResultsController = updatePluginResultsController ( )
171+ pluginResultsController = createPluginResultsController ( )
170172 do {
171173 try pluginResultsController. performFetch ( )
172174 } catch {
173175 DDLogError ( " ZendeskManager: Unable to update plugin results " )
174176 }
175177 }
176178
177- /// IPP plugin statuses
179+ /// List of tags that reflect Stripe and WCPay plugin statuses
178180 ///
179- private var ippPluginstatuses : [ String ] {
181+ private var ippPluginStatuses : [ String ] {
180182 var ippTags = [ PluginStatus] ( )
181183 if let stripe = pluginResultsController. fetchedObjects. first ( where: { $0. plugin == PluginSlug . stripe } ) {
182184 if stripe. status == . active {
@@ -386,7 +388,7 @@ final class ZendeskManager: NSObject, ZendeskManagerProtocol {
386388 /// The SDK tag is used in a trigger and displays tickets in Woo > Mobile Apps New.
387389 ///
388390 func getTags( supportSourceTag: String ? ) -> [ String ] {
389- let tags = [ Constants . platformTag, Constants . sdkTag, Constants . jetpackTag] + ippPluginstatuses
391+ let tags = [ Constants . platformTag, Constants . sdkTag, Constants . jetpackTag] + ippPluginStatuses
390392 return decorateTags ( tags: tags, supportSourceTag: supportSourceTag)
391393 }
392394
0 commit comments