Skip to content

Commit

Permalink
Make isUnique method
Browse files Browse the repository at this point in the history
  • Loading branch information
Roben Kleene committed Dec 29, 2017
1 parent 0998b0f commit e7e1fc3
Show file tree
Hide file tree
Showing 4 changed files with 13 additions and 8 deletions.
4 changes: 2 additions & 2 deletions PlugPop/DuplicatePluginController.swift
Expand Up @@ -74,8 +74,8 @@ class DuplicatePluginController {
movedPlugin.editable = true
movedPlugin.identifier = UUID.uuidString
if let uniqueName = self.delegate?.duplicatePluginController(self,
uniquePluginNameFromName: movedPlugin.name,
for: movedPlugin)
uniquePluginNameFromName: movedPlugin.name,
for: movedPlugin)
{
movedPlugin.name = uniqueName
} else {
Expand Down
3 changes: 2 additions & 1 deletion PlugPop/POPPluginsController+UniquePluginName.h
@@ -1,5 +1,5 @@
//
// POPPluginsManager+UniquePluginName.h
// POPPluginsController+UniquePluginName.h
// PlugPop
//
// Created by Roben Kleene on 5/6/17.
Expand All @@ -16,5 +16,6 @@ NS_ASSUME_NONNULL_BEGIN
@interface POPPluginsController (UniquePluginName)
- (NSString *)uniquePluginNameFromName:(NSString *)name;
- (NSString *)uniquePluginNameFromName:(NSString *)name forPlugin:(nullable Plugin *)plugin;
- (BOOL)isUniqueName:(NSString *)name forPlugin:(Plugin *)plugin;
@end
NS_ASSUME_NONNULL_END
10 changes: 5 additions & 5 deletions PlugPop/POPPluginsController+UniquePluginName.m
@@ -1,5 +1,5 @@
//
// POPPluginsManager+UniquePluginName.m
// POPPluginsController+UniquePluginName.m
// PlugPop
//
// Created by Roben Kleene on 5/6/17.
Expand Down Expand Up @@ -34,16 +34,14 @@ - (NSString *)uniquePluginNameFromName:(NSString *)name
return newName;
}

#pragma mark Name Private

- (BOOL)isUniqueName:(NSString *)name forPlugin:(Plugin *)plugin
{
Plugin *existingPlugin = [self pluginWithName:name];

if (!existingPlugin) {
return YES;
}

// if there is an `existingPlugin`, then the name is only valid if the
// `existingPlugin` is the `plugin`. So first confirm that the `plugin`
// is not nil.
Expand All @@ -54,6 +52,8 @@ - (BOOL)isUniqueName:(NSString *)name forPlugin:(Plugin *)plugin
return plugin == existingPlugin;
}

#pragma mark Name Private

- (NSString *)uniquePluginNameFromName:(NSString *)name
forPlugin:(Plugin *)plugin
index:(NSUInteger)index
Expand Down
4 changes: 4 additions & 0 deletions PlugPop/PluginsManager.swift
Expand Up @@ -91,6 +91,10 @@ public class PluginsManager: NSObject, PluginsDataControllerDelegate {
return pluginsController.plugin(withIdentifier: identifier)
}

public func isUnique(name: String, for plugin: Plugin) -> Bool {
return pluginsController.isUniqueName(name, for: plugin)
}

// MARK: Convenience

public func addUnwatched(_ plugin: Plugin) {
Expand Down

0 comments on commit e7e1fc3

Please sign in to comment.