diff --git a/.gitmodules b/.gitmodules index a03a488..5fec53f 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,6 +1,3 @@ [submodule "Carthage/Checkouts/GCDKit"] path = Carthage/Checkouts/GCDKit url = https://github.com/JohnEstropia/GCDKit.git -[submodule "Carthage/Checkouts/Nimble"] - path = Carthage/Checkouts/Nimble - url = https://github.com/younata/Nimble.git diff --git a/Cartfile b/Cartfile index d36a81c..849cd7e 100644 --- a/Cartfile +++ b/Cartfile @@ -1,2 +1 @@ github "JohnEstropia/GCDKit" == 1.2.0 -github "younata/Nimble" "swift2.2" diff --git a/Cartfile.resolved b/Cartfile.resolved index d1e4091..65a9da9 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1,2 +1 @@ github "JohnEstropia/GCDKit" "1.2.0" -github "younata/Nimble" "62fe4e736aea9623d90a34d11c39862bb6515da6" diff --git a/Carthage/Checkouts/Nimble b/Carthage/Checkouts/Nimble deleted file mode 160000 index 62fe4e7..0000000 --- a/Carthage/Checkouts/Nimble +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 62fe4e736aea9623d90a34d11c39862bb6515da6 diff --git a/CoreStore.xcodeproj/project.pbxproj b/CoreStore.xcodeproj/project.pbxproj index 6d78e2a..c496bc6 100644 --- a/CoreStore.xcodeproj/project.pbxproj +++ b/CoreStore.xcodeproj/project.pbxproj @@ -207,132 +207,6 @@ B56964D41B22FFAD0075EE4A /* DataStack+Migration.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56964D31B22FFAD0075EE4A /* DataStack+Migration.swift */; }; B56965241B356B820075EE4A /* MigrationResult.swift in Sources */ = {isa = PBXBuildFile; fileRef = B56965231B356B820075EE4A /* MigrationResult.swift */; }; B58B22F51C93C1BA00521925 /* CoreStore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2F03A53019C5C6DA005002A5 /* CoreStore.framework */; }; - B58B23DE1C93C36500521925 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F81C93C26600521925 /* AdapterProtocols.swift */; }; - B58B23DF1C93C36500521925 /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F91C93C26600521925 /* AssertionDispatcher.swift */; }; - B58B23E01C93C36500521925 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FA1C93C26600521925 /* AssertionRecorder.swift */; }; - B58B23E11C93C36500521925 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FB1C93C26600521925 /* NimbleEnvironment.swift */; }; - B58B23E21C93C36500521925 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FC1C93C26600521925 /* NimbleXCTestHandler.swift */; }; - B58B23E31C93C36500521925 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FD1C93C26600521925 /* DSL+Wait.swift */; }; - B58B23E41C93C36500521925 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FE1C93C26600521925 /* DSL.swift */; }; - B58B23E51C93C36500521925 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FF1C93C26600521925 /* Expectation.swift */; }; - B58B23E61C93C36500521925 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23001C93C26600521925 /* Expression.swift */; }; - B58B23E71C93C36500521925 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23011C93C26600521925 /* FailureMessage.swift */; }; - B58B23E81C93C36600521925 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F81C93C26600521925 /* AdapterProtocols.swift */; }; - B58B23E91C93C36600521925 /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F91C93C26600521925 /* AssertionDispatcher.swift */; }; - B58B23EA1C93C36600521925 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FA1C93C26600521925 /* AssertionRecorder.swift */; }; - B58B23EB1C93C36600521925 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FB1C93C26600521925 /* NimbleEnvironment.swift */; }; - B58B23EC1C93C36600521925 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FC1C93C26600521925 /* NimbleXCTestHandler.swift */; }; - B58B23ED1C93C36600521925 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FD1C93C26600521925 /* DSL+Wait.swift */; }; - B58B23EE1C93C36600521925 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FE1C93C26600521925 /* DSL.swift */; }; - B58B23EF1C93C36600521925 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FF1C93C26600521925 /* Expectation.swift */; }; - B58B23F01C93C36600521925 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23001C93C26600521925 /* Expression.swift */; }; - B58B23F11C93C36600521925 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23011C93C26600521925 /* FailureMessage.swift */; }; - B58B23F21C93C36700521925 /* AdapterProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F81C93C26600521925 /* AdapterProtocols.swift */; }; - B58B23F31C93C36700521925 /* AssertionDispatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22F91C93C26600521925 /* AssertionDispatcher.swift */; }; - B58B23F41C93C36700521925 /* AssertionRecorder.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FA1C93C26600521925 /* AssertionRecorder.swift */; }; - B58B23F51C93C36700521925 /* NimbleEnvironment.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FB1C93C26600521925 /* NimbleEnvironment.swift */; }; - B58B23F61C93C36700521925 /* NimbleXCTestHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FC1C93C26600521925 /* NimbleXCTestHandler.swift */; }; - B58B23F71C93C36700521925 /* DSL+Wait.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FD1C93C26600521925 /* DSL+Wait.swift */; }; - B58B23F81C93C36700521925 /* DSL.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FE1C93C26600521925 /* DSL.swift */; }; - B58B23F91C93C36700521925 /* Expectation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B22FF1C93C26600521925 /* Expectation.swift */; }; - B58B23FA1C93C36700521925 /* Expression.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23001C93C26600521925 /* Expression.swift */; }; - B58B23FB1C93C36700521925 /* FailureMessage.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23011C93C26600521925 /* FailureMessage.swift */; }; - B58B23FC1C93C36E00521925 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23041C93C26600521925 /* AllPass.swift */; }; - B58B23FD1C93C36E00521925 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23051C93C26600521925 /* BeAKindOf.swift */; }; - B58B23FE1C93C36E00521925 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23061C93C26600521925 /* BeAnInstanceOf.swift */; }; - B58B23FF1C93C36E00521925 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23071C93C26600521925 /* BeCloseTo.swift */; }; - B58B24001C93C36E00521925 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23081C93C26600521925 /* BeEmpty.swift */; }; - B58B24011C93C36E00521925 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23091C93C26600521925 /* BeginWith.swift */; }; - B58B24021C93C36E00521925 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230A1C93C26600521925 /* BeGreaterThan.swift */; }; - B58B24031C93C36E00521925 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230B1C93C26600521925 /* BeGreaterThanOrEqualTo.swift */; }; - B58B24041C93C36E00521925 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230C1C93C26600521925 /* BeIdenticalTo.swift */; }; - B58B24051C93C36E00521925 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230D1C93C26600521925 /* BeLessThan.swift */; }; - B58B24061C93C36E00521925 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230E1C93C26600521925 /* BeLessThanOrEqual.swift */; }; - B58B24071C93C36E00521925 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230F1C93C26600521925 /* BeLogical.swift */; }; - B58B24081C93C36E00521925 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23101C93C26600521925 /* BeNil.swift */; }; - B58B24091C93C36E00521925 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23111C93C26600521925 /* BeVoid.swift */; }; - B58B240A1C93C36E00521925 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23121C93C26600521925 /* Contain.swift */; }; - B58B240B1C93C36E00521925 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23131C93C26600521925 /* EndWith.swift */; }; - B58B240C1C93C36E00521925 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23141C93C26600521925 /* Equal.swift */; }; - B58B240D1C93C36E00521925 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23151C93C26600521925 /* HaveCount.swift */; }; - B58B240E1C93C36E00521925 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23161C93C26600521925 /* Match.swift */; }; - B58B240F1C93C36E00521925 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23171C93C26600521925 /* MatcherProtocols.swift */; }; - B58B24101C93C36E00521925 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23181C93C26600521925 /* PostNotification.swift */; }; - B58B24111C93C36E00521925 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23191C93C26600521925 /* RaisesException.swift */; }; - B58B24121C93C36E00521925 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231A1C93C26600521925 /* SatisfyAnyOf.swift */; }; - B58B24131C93C36E00521925 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231B1C93C26600521925 /* ThrowError.swift */; }; - B58B24141C93C36F00521925 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23041C93C26600521925 /* AllPass.swift */; }; - B58B24151C93C36F00521925 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23051C93C26600521925 /* BeAKindOf.swift */; }; - B58B24161C93C36F00521925 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23061C93C26600521925 /* BeAnInstanceOf.swift */; }; - B58B24171C93C36F00521925 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23071C93C26600521925 /* BeCloseTo.swift */; }; - B58B24181C93C36F00521925 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23081C93C26600521925 /* BeEmpty.swift */; }; - B58B24191C93C36F00521925 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23091C93C26600521925 /* BeginWith.swift */; }; - B58B241A1C93C36F00521925 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230A1C93C26600521925 /* BeGreaterThan.swift */; }; - B58B241B1C93C36F00521925 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230B1C93C26600521925 /* BeGreaterThanOrEqualTo.swift */; }; - B58B241C1C93C36F00521925 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230C1C93C26600521925 /* BeIdenticalTo.swift */; }; - B58B241D1C93C36F00521925 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230D1C93C26600521925 /* BeLessThan.swift */; }; - B58B241E1C93C36F00521925 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230E1C93C26600521925 /* BeLessThanOrEqual.swift */; }; - B58B241F1C93C36F00521925 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230F1C93C26600521925 /* BeLogical.swift */; }; - B58B24201C93C36F00521925 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23101C93C26600521925 /* BeNil.swift */; }; - B58B24211C93C36F00521925 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23111C93C26600521925 /* BeVoid.swift */; }; - B58B24221C93C36F00521925 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23121C93C26600521925 /* Contain.swift */; }; - B58B24231C93C36F00521925 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23131C93C26600521925 /* EndWith.swift */; }; - B58B24241C93C36F00521925 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23141C93C26600521925 /* Equal.swift */; }; - B58B24251C93C36F00521925 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23151C93C26600521925 /* HaveCount.swift */; }; - B58B24261C93C36F00521925 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23161C93C26600521925 /* Match.swift */; }; - B58B24271C93C36F00521925 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23171C93C26600521925 /* MatcherProtocols.swift */; }; - B58B24281C93C36F00521925 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23181C93C26600521925 /* PostNotification.swift */; }; - B58B24291C93C36F00521925 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23191C93C26600521925 /* RaisesException.swift */; }; - B58B242A1C93C36F00521925 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231A1C93C26600521925 /* SatisfyAnyOf.swift */; }; - B58B242B1C93C36F00521925 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231B1C93C26600521925 /* ThrowError.swift */; }; - B58B242C1C93C37100521925 /* AllPass.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23041C93C26600521925 /* AllPass.swift */; }; - B58B242D1C93C37100521925 /* BeAKindOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23051C93C26600521925 /* BeAKindOf.swift */; }; - B58B242E1C93C37100521925 /* BeAnInstanceOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23061C93C26600521925 /* BeAnInstanceOf.swift */; }; - B58B242F1C93C37100521925 /* BeCloseTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23071C93C26600521925 /* BeCloseTo.swift */; }; - B58B24301C93C37100521925 /* BeEmpty.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23081C93C26600521925 /* BeEmpty.swift */; }; - B58B24311C93C37100521925 /* BeginWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23091C93C26600521925 /* BeginWith.swift */; }; - B58B24321C93C37100521925 /* BeGreaterThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230A1C93C26600521925 /* BeGreaterThan.swift */; }; - B58B24331C93C37100521925 /* BeGreaterThanOrEqualTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230B1C93C26600521925 /* BeGreaterThanOrEqualTo.swift */; }; - B58B24341C93C37100521925 /* BeIdenticalTo.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230C1C93C26600521925 /* BeIdenticalTo.swift */; }; - B58B24351C93C37100521925 /* BeLessThan.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230D1C93C26600521925 /* BeLessThan.swift */; }; - B58B24361C93C37100521925 /* BeLessThanOrEqual.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230E1C93C26600521925 /* BeLessThanOrEqual.swift */; }; - B58B24371C93C37100521925 /* BeLogical.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B230F1C93C26600521925 /* BeLogical.swift */; }; - B58B24381C93C37100521925 /* BeNil.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23101C93C26600521925 /* BeNil.swift */; }; - B58B24391C93C37100521925 /* BeVoid.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23111C93C26600521925 /* BeVoid.swift */; }; - B58B243A1C93C37100521925 /* Contain.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23121C93C26600521925 /* Contain.swift */; }; - B58B243B1C93C37100521925 /* EndWith.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23131C93C26600521925 /* EndWith.swift */; }; - B58B243C1C93C37100521925 /* Equal.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23141C93C26600521925 /* Equal.swift */; }; - B58B243D1C93C37100521925 /* HaveCount.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23151C93C26600521925 /* HaveCount.swift */; }; - B58B243E1C93C37100521925 /* Match.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23161C93C26600521925 /* Match.swift */; }; - B58B243F1C93C37100521925 /* MatcherProtocols.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23171C93C26600521925 /* MatcherProtocols.swift */; }; - B58B24401C93C37100521925 /* PostNotification.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23181C93C26600521925 /* PostNotification.swift */; }; - B58B24411C93C37100521925 /* RaisesException.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23191C93C26600521925 /* RaisesException.swift */; }; - B58B24421C93C37100521925 /* SatisfyAnyOf.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231A1C93C26600521925 /* SatisfyAnyOf.swift */; }; - B58B24431C93C37100521925 /* ThrowError.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B231B1C93C26600521925 /* ThrowError.swift */; }; - B58B24441C93C37600521925 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23251C93C26600521925 /* Async.swift */; }; - B58B24451C93C37600521925 /* ExceptionCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23261C93C26600521925 /* ExceptionCapture.swift */; }; - B58B24461C93C37600521925 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23271C93C26600521925 /* Functional.swift */; }; - B58B24471C93C37600521925 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23281C93C26600521925 /* SourceLocation.swift */; }; - B58B24481C93C37600521925 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23291C93C26600521925 /* Stringers.swift */; }; - B58B24491C93C37700521925 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23251C93C26600521925 /* Async.swift */; }; - B58B244A1C93C37700521925 /* ExceptionCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23261C93C26600521925 /* ExceptionCapture.swift */; }; - B58B244B1C93C37700521925 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23271C93C26600521925 /* Functional.swift */; }; - B58B244C1C93C37700521925 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23281C93C26600521925 /* SourceLocation.swift */; }; - B58B244D1C93C37700521925 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23291C93C26600521925 /* Stringers.swift */; }; - B58B244E1C93C37900521925 /* Async.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23251C93C26600521925 /* Async.swift */; }; - B58B244F1C93C37900521925 /* ExceptionCapture.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23261C93C26600521925 /* ExceptionCapture.swift */; }; - B58B24501C93C37900521925 /* Functional.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23271C93C26600521925 /* Functional.swift */; }; - B58B24511C93C37900521925 /* SourceLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23281C93C26600521925 /* SourceLocation.swift */; }; - B58B24521C93C37900521925 /* Stringers.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B23291C93C26600521925 /* Stringers.swift */; }; - B58B24531C93C37E00521925 /* AsyncMatcherWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232B1C93C26600521925 /* AsyncMatcherWrapper.swift */; }; - B58B24541C93C37E00521925 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232C1C93C26600521925 /* MatcherFunc.swift */; }; - B58B24551C93C37E00521925 /* ObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232D1C93C26600521925 /* ObjCMatcher.swift */; }; - B58B24561C93C38000521925 /* AsyncMatcherWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232B1C93C26600521925 /* AsyncMatcherWrapper.swift */; }; - B58B24571C93C38000521925 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232C1C93C26600521925 /* MatcherFunc.swift */; }; - B58B24581C93C38000521925 /* ObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232D1C93C26600521925 /* ObjCMatcher.swift */; }; - B58B24591C93C38200521925 /* AsyncMatcherWrapper.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232B1C93C26600521925 /* AsyncMatcherWrapper.swift */; }; - B58B245A1C93C38200521925 /* MatcherFunc.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232C1C93C26600521925 /* MatcherFunc.swift */; }; - B58B245B1C93C38200521925 /* ObjCMatcher.swift in Sources */ = {isa = PBXBuildFile; fileRef = B58B232D1C93C26600521925 /* ObjCMatcher.swift */; }; B59851491C90289D00C99590 /* NSPersistentStoreCoordinator+Setup.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AFF401C6593E400C0ABE2 /* NSPersistentStoreCoordinator+Setup.swift */; }; B598514A1C90289E00C99590 /* NSPersistentStoreCoordinator+Setup.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AFF401C6593E400C0ABE2 /* NSPersistentStoreCoordinator+Setup.swift */; }; B598514B1C90289F00C99590 /* NSPersistentStoreCoordinator+Setup.swift in Sources */ = {isa = PBXBuildFile; fileRef = B59AFF401C6593E400C0ABE2 /* NSPersistentStoreCoordinator+Setup.swift */; }; @@ -477,48 +351,6 @@ B563217B1BD650E3006C9394 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/WatchOS.platform/Developer/SDKs/WatchOS2.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; B56964D31B22FFAD0075EE4A /* DataStack+Migration.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DataStack+Migration.swift"; sourceTree = ""; }; B56965231B356B820075EE4A /* MigrationResult.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MigrationResult.swift; sourceTree = ""; }; - B58B22F81C93C26600521925 /* AdapterProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AdapterProtocols.swift; sourceTree = ""; }; - B58B22F91C93C26600521925 /* AssertionDispatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AssertionDispatcher.swift; sourceTree = ""; }; - B58B22FA1C93C26600521925 /* AssertionRecorder.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AssertionRecorder.swift; sourceTree = ""; }; - B58B22FB1C93C26600521925 /* NimbleEnvironment.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NimbleEnvironment.swift; sourceTree = ""; }; - B58B22FC1C93C26600521925 /* NimbleXCTestHandler.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NimbleXCTestHandler.swift; sourceTree = ""; }; - B58B22FD1C93C26600521925 /* DSL+Wait.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "DSL+Wait.swift"; sourceTree = ""; }; - B58B22FE1C93C26600521925 /* DSL.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DSL.swift; sourceTree = ""; }; - B58B22FF1C93C26600521925 /* Expectation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Expectation.swift; sourceTree = ""; }; - B58B23001C93C26600521925 /* Expression.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Expression.swift; sourceTree = ""; }; - B58B23011C93C26600521925 /* FailureMessage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FailureMessage.swift; sourceTree = ""; }; - B58B23041C93C26600521925 /* AllPass.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AllPass.swift; sourceTree = ""; }; - B58B23051C93C26600521925 /* BeAKindOf.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeAKindOf.swift; sourceTree = ""; }; - B58B23061C93C26600521925 /* BeAnInstanceOf.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeAnInstanceOf.swift; sourceTree = ""; }; - B58B23071C93C26600521925 /* BeCloseTo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeCloseTo.swift; sourceTree = ""; }; - B58B23081C93C26600521925 /* BeEmpty.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeEmpty.swift; sourceTree = ""; }; - B58B23091C93C26600521925 /* BeginWith.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeginWith.swift; sourceTree = ""; }; - B58B230A1C93C26600521925 /* BeGreaterThan.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeGreaterThan.swift; sourceTree = ""; }; - B58B230B1C93C26600521925 /* BeGreaterThanOrEqualTo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeGreaterThanOrEqualTo.swift; sourceTree = ""; }; - B58B230C1C93C26600521925 /* BeIdenticalTo.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeIdenticalTo.swift; sourceTree = ""; }; - B58B230D1C93C26600521925 /* BeLessThan.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeLessThan.swift; sourceTree = ""; }; - B58B230E1C93C26600521925 /* BeLessThanOrEqual.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeLessThanOrEqual.swift; sourceTree = ""; }; - B58B230F1C93C26600521925 /* BeLogical.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeLogical.swift; sourceTree = ""; }; - B58B23101C93C26600521925 /* BeNil.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeNil.swift; sourceTree = ""; }; - B58B23111C93C26600521925 /* BeVoid.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BeVoid.swift; sourceTree = ""; }; - B58B23121C93C26600521925 /* Contain.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Contain.swift; sourceTree = ""; }; - B58B23131C93C26600521925 /* EndWith.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = EndWith.swift; sourceTree = ""; }; - B58B23141C93C26600521925 /* Equal.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Equal.swift; sourceTree = ""; }; - B58B23151C93C26600521925 /* HaveCount.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = HaveCount.swift; sourceTree = ""; }; - B58B23161C93C26600521925 /* Match.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Match.swift; sourceTree = ""; }; - B58B23171C93C26600521925 /* MatcherProtocols.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MatcherProtocols.swift; sourceTree = ""; }; - B58B23181C93C26600521925 /* PostNotification.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PostNotification.swift; sourceTree = ""; }; - B58B23191C93C26600521925 /* RaisesException.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RaisesException.swift; sourceTree = ""; }; - B58B231A1C93C26600521925 /* SatisfyAnyOf.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SatisfyAnyOf.swift; sourceTree = ""; }; - B58B231B1C93C26600521925 /* ThrowError.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ThrowError.swift; sourceTree = ""; }; - B58B23251C93C26600521925 /* Async.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Async.swift; sourceTree = ""; }; - B58B23261C93C26600521925 /* ExceptionCapture.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ExceptionCapture.swift; sourceTree = ""; }; - B58B23271C93C26600521925 /* Functional.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Functional.swift; sourceTree = ""; }; - B58B23281C93C26600521925 /* SourceLocation.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SourceLocation.swift; sourceTree = ""; }; - B58B23291C93C26600521925 /* Stringers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Stringers.swift; sourceTree = ""; }; - B58B232B1C93C26600521925 /* AsyncMatcherWrapper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AsyncMatcherWrapper.swift; sourceTree = ""; }; - B58B232C1C93C26600521925 /* MatcherFunc.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MatcherFunc.swift; sourceTree = ""; }; - B58B232D1C93C26600521925 /* ObjCMatcher.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ObjCMatcher.swift; sourceTree = ""; }; B59AFF401C6593E400C0ABE2 /* NSPersistentStoreCoordinator+Setup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSPersistentStoreCoordinator+Setup.swift"; sourceTree = ""; }; B59D5C211B5BA34B00453479 /* NSFileManager+Setup.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NSFileManager+Setup.swift"; sourceTree = ""; }; B5A261201B64BFDB006EB6D3 /* MigrationType.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MigrationType.swift; sourceTree = ""; }; @@ -717,7 +549,6 @@ 2F03A53C19C5C6DA005002A5 /* CoreStoreTests */ = { isa = PBXGroup; children = ( - B58B22F61C93C26600521925 /* Nimble */, 2F03A53F19C5C6DA005002A5 /* CoreStoreTests.swift */, B5DC47C91C93D9C800FA3BF3 /* StorageInterfaceTests.swift */, B5DC47C51C93D22900FA3BF3 /* MigrationChainTests.swift */, @@ -773,88 +604,6 @@ path = Migrating; sourceTree = ""; }; - B58B22F61C93C26600521925 /* Nimble */ = { - isa = PBXGroup; - children = ( - B58B22F71C93C26600521925 /* Adapters */, - B58B22FD1C93C26600521925 /* DSL+Wait.swift */, - B58B22FE1C93C26600521925 /* DSL.swift */, - B58B22FF1C93C26600521925 /* Expectation.swift */, - B58B23001C93C26600521925 /* Expression.swift */, - B58B23011C93C26600521925 /* FailureMessage.swift */, - B58B23031C93C26600521925 /* Matchers */, - B58B23241C93C26600521925 /* Utils */, - B58B232A1C93C26600521925 /* Wrappers */, - ); - name = Nimble; - path = Carthage/Checkouts/Nimble/Sources/Nimble; - sourceTree = SOURCE_ROOT; - }; - B58B22F71C93C26600521925 /* Adapters */ = { - isa = PBXGroup; - children = ( - B58B22F81C93C26600521925 /* AdapterProtocols.swift */, - B58B22F91C93C26600521925 /* AssertionDispatcher.swift */, - B58B22FA1C93C26600521925 /* AssertionRecorder.swift */, - B58B22FB1C93C26600521925 /* NimbleEnvironment.swift */, - B58B22FC1C93C26600521925 /* NimbleXCTestHandler.swift */, - ); - path = Adapters; - sourceTree = ""; - }; - B58B23031C93C26600521925 /* Matchers */ = { - isa = PBXGroup; - children = ( - B58B23041C93C26600521925 /* AllPass.swift */, - B58B23051C93C26600521925 /* BeAKindOf.swift */, - B58B23061C93C26600521925 /* BeAnInstanceOf.swift */, - B58B23071C93C26600521925 /* BeCloseTo.swift */, - B58B23081C93C26600521925 /* BeEmpty.swift */, - B58B23091C93C26600521925 /* BeginWith.swift */, - B58B230A1C93C26600521925 /* BeGreaterThan.swift */, - B58B230B1C93C26600521925 /* BeGreaterThanOrEqualTo.swift */, - B58B230C1C93C26600521925 /* BeIdenticalTo.swift */, - B58B230D1C93C26600521925 /* BeLessThan.swift */, - B58B230E1C93C26600521925 /* BeLessThanOrEqual.swift */, - B58B230F1C93C26600521925 /* BeLogical.swift */, - B58B23101C93C26600521925 /* BeNil.swift */, - B58B23111C93C26600521925 /* BeVoid.swift */, - B58B23121C93C26600521925 /* Contain.swift */, - B58B23131C93C26600521925 /* EndWith.swift */, - B58B23141C93C26600521925 /* Equal.swift */, - B58B23151C93C26600521925 /* HaveCount.swift */, - B58B23161C93C26600521925 /* Match.swift */, - B58B23171C93C26600521925 /* MatcherProtocols.swift */, - B58B23181C93C26600521925 /* PostNotification.swift */, - B58B23191C93C26600521925 /* RaisesException.swift */, - B58B231A1C93C26600521925 /* SatisfyAnyOf.swift */, - B58B231B1C93C26600521925 /* ThrowError.swift */, - ); - path = Matchers; - sourceTree = ""; - }; - B58B23241C93C26600521925 /* Utils */ = { - isa = PBXGroup; - children = ( - B58B23251C93C26600521925 /* Async.swift */, - B58B23261C93C26600521925 /* ExceptionCapture.swift */, - B58B23271C93C26600521925 /* Functional.swift */, - B58B23281C93C26600521925 /* SourceLocation.swift */, - B58B23291C93C26600521925 /* Stringers.swift */, - ); - path = Utils; - sourceTree = ""; - }; - B58B232A1C93C26600521925 /* Wrappers */ = { - isa = PBXGroup; - children = ( - B58B232B1C93C26600521925 /* AsyncMatcherWrapper.swift */, - B58B232C1C93C26600521925 /* MatcherFunc.swift */, - B58B232D1C93C26600521925 /* ObjCMatcher.swift */, - ); - path = Wrappers; - sourceTree = ""; - }; B5E834B61B7630BD001D3D50 /* Importing Data */ = { isa = PBXGroup; children = ( @@ -1343,53 +1092,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B58B24101C93C36E00521925 /* PostNotification.swift in Sources */, - B58B23E61C93C36500521925 /* Expression.swift in Sources */, - B58B24081C93C36E00521925 /* BeNil.swift in Sources */, - B58B24531C93C37E00521925 /* AsyncMatcherWrapper.swift in Sources */, - B58B23FC1C93C36E00521925 /* AllPass.swift in Sources */, - B58B24461C93C37600521925 /* Functional.swift in Sources */, - B58B24041C93C36E00521925 /* BeIdenticalTo.swift in Sources */, - B58B240C1C93C36E00521925 /* Equal.swift in Sources */, - B58B23DE1C93C36500521925 /* AdapterProtocols.swift in Sources */, - B58B24131C93C36E00521925 /* ThrowError.swift in Sources */, - B58B24011C93C36E00521925 /* BeginWith.swift in Sources */, 2F03A54019C5C6DA005002A5 /* CoreStoreTests.swift in Sources */, - B58B240E1C93C36E00521925 /* Match.swift in Sources */, - B58B23E41C93C36500521925 /* DSL.swift in Sources */, B5DC47C61C93D22900FA3BF3 /* MigrationChainTests.swift in Sources */, - B58B24551C93C37E00521925 /* ObjCMatcher.swift in Sources */, - B58B24451C93C37600521925 /* ExceptionCapture.swift in Sources */, - B58B24541C93C37E00521925 /* MatcherFunc.swift in Sources */, - B58B24481C93C37600521925 /* Stringers.swift in Sources */, - B58B23E71C93C36500521925 /* FailureMessage.swift in Sources */, - B58B24471C93C37600521925 /* SourceLocation.swift in Sources */, - B58B24031C93C36E00521925 /* BeGreaterThanOrEqualTo.swift in Sources */, - B58B23FF1C93C36E00521925 /* BeCloseTo.swift in Sources */, - B58B23FE1C93C36E00521925 /* BeAnInstanceOf.swift in Sources */, - B58B24021C93C36E00521925 /* BeGreaterThan.swift in Sources */, - B58B24001C93C36E00521925 /* BeEmpty.swift in Sources */, - B58B23E31C93C36500521925 /* DSL+Wait.swift in Sources */, - B58B24111C93C36E00521925 /* RaisesException.swift in Sources */, - B58B23E51C93C36500521925 /* Expectation.swift in Sources */, - B58B24061C93C36E00521925 /* BeLessThanOrEqual.swift in Sources */, - B58B240A1C93C36E00521925 /* Contain.swift in Sources */, B5D372861A39CDDB00F583D9 /* TestEntity1.swift in Sources */, B5D372841A39CD6900F583D9 /* Model.xcdatamodeld in Sources */, - B58B24441C93C37600521925 /* Async.swift in Sources */, - B58B23E01C93C36500521925 /* AssertionRecorder.swift in Sources */, B5D5E0CF1A4D6AAB006468AF /* TestEntity2.swift in Sources */, - B58B240D1C93C36E00521925 /* HaveCount.swift in Sources */, - B58B23E11C93C36500521925 /* NimbleEnvironment.swift in Sources */, - B58B24051C93C36E00521925 /* BeLessThan.swift in Sources */, - B58B24071C93C36E00521925 /* BeLogical.swift in Sources */, - B58B24091C93C36E00521925 /* BeVoid.swift in Sources */, - B58B23FD1C93C36E00521925 /* BeAKindOf.swift in Sources */, - B58B24121C93C36E00521925 /* SatisfyAnyOf.swift in Sources */, - B58B240B1C93C36E00521925 /* EndWith.swift in Sources */, - B58B23E21C93C36500521925 /* NimbleXCTestHandler.swift in Sources */, - B58B240F1C93C36E00521925 /* MatcherProtocols.swift in Sources */, - B58B23DF1C93C36500521925 /* AssertionDispatcher.swift in Sources */, B5DC47CA1C93D9C800FA3BF3 /* StorageInterfaceTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1470,53 +1177,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B58B24281C93C36F00521925 /* PostNotification.swift in Sources */, - B58B23F01C93C36600521925 /* Expression.swift in Sources */, - B58B24201C93C36F00521925 /* BeNil.swift in Sources */, - B58B24561C93C38000521925 /* AsyncMatcherWrapper.swift in Sources */, - B58B24141C93C36F00521925 /* AllPass.swift in Sources */, - B58B244B1C93C37700521925 /* Functional.swift in Sources */, - B58B241C1C93C36F00521925 /* BeIdenticalTo.swift in Sources */, - B58B24241C93C36F00521925 /* Equal.swift in Sources */, - B58B23E81C93C36600521925 /* AdapterProtocols.swift in Sources */, - B58B242B1C93C36F00521925 /* ThrowError.swift in Sources */, - B58B24191C93C36F00521925 /* BeginWith.swift in Sources */, 82BA18DA1C4BBD9700A0916E /* TestEntity1.swift in Sources */, - B58B24261C93C36F00521925 /* Match.swift in Sources */, - B58B23EE1C93C36600521925 /* DSL.swift in Sources */, B5DC47C71C93D22900FA3BF3 /* MigrationChainTests.swift in Sources */, - B58B24581C93C38000521925 /* ObjCMatcher.swift in Sources */, - B58B244A1C93C37700521925 /* ExceptionCapture.swift in Sources */, - B58B24571C93C38000521925 /* MatcherFunc.swift in Sources */, - B58B244D1C93C37700521925 /* Stringers.swift in Sources */, - B58B23F11C93C36600521925 /* FailureMessage.swift in Sources */, - B58B244C1C93C37700521925 /* SourceLocation.swift in Sources */, - B58B241B1C93C36F00521925 /* BeGreaterThanOrEqualTo.swift in Sources */, - B58B24171C93C36F00521925 /* BeCloseTo.swift in Sources */, - B58B24161C93C36F00521925 /* BeAnInstanceOf.swift in Sources */, - B58B241A1C93C36F00521925 /* BeGreaterThan.swift in Sources */, - B58B24181C93C36F00521925 /* BeEmpty.swift in Sources */, - B58B23ED1C93C36600521925 /* DSL+Wait.swift in Sources */, - B58B24291C93C36F00521925 /* RaisesException.swift in Sources */, - B58B23EF1C93C36600521925 /* Expectation.swift in Sources */, - B58B241E1C93C36F00521925 /* BeLessThanOrEqual.swift in Sources */, - B58B24221C93C36F00521925 /* Contain.swift in Sources */, 82BA18DB1C4BBD9700A0916E /* TestEntity2.swift in Sources */, 82BA18D91C4BBD9700A0916E /* CoreStoreTests.swift in Sources */, - B58B24491C93C37700521925 /* Async.swift in Sources */, - B58B23EA1C93C36600521925 /* AssertionRecorder.swift in Sources */, 82BA18DC1C4BBD9C00A0916E /* Model.xcdatamodeld in Sources */, - B58B24251C93C36F00521925 /* HaveCount.swift in Sources */, - B58B23EB1C93C36600521925 /* NimbleEnvironment.swift in Sources */, - B58B241D1C93C36F00521925 /* BeLessThan.swift in Sources */, - B58B241F1C93C36F00521925 /* BeLogical.swift in Sources */, - B58B24211C93C36F00521925 /* BeVoid.swift in Sources */, - B58B24151C93C36F00521925 /* BeAKindOf.swift in Sources */, - B58B242A1C93C36F00521925 /* SatisfyAnyOf.swift in Sources */, - B58B24231C93C36F00521925 /* EndWith.swift in Sources */, - B58B23EC1C93C36600521925 /* NimbleXCTestHandler.swift in Sources */, - B58B24271C93C36F00521925 /* MatcherProtocols.swift in Sources */, - B58B23E91C93C36600521925 /* AssertionDispatcher.swift in Sources */, B5DC47CB1C93D9C800FA3BF3 /* StorageInterfaceTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -1586,53 +1251,11 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B58B24401C93C37100521925 /* PostNotification.swift in Sources */, - B58B23FA1C93C36700521925 /* Expression.swift in Sources */, - B58B24381C93C37100521925 /* BeNil.swift in Sources */, - B58B24591C93C38200521925 /* AsyncMatcherWrapper.swift in Sources */, - B58B242C1C93C37100521925 /* AllPass.swift in Sources */, - B58B24501C93C37900521925 /* Functional.swift in Sources */, - B58B24341C93C37100521925 /* BeIdenticalTo.swift in Sources */, - B58B243C1C93C37100521925 /* Equal.swift in Sources */, - B58B23F21C93C36700521925 /* AdapterProtocols.swift in Sources */, - B58B24431C93C37100521925 /* ThrowError.swift in Sources */, - B58B24311C93C37100521925 /* BeginWith.swift in Sources */, B52DD1CD1BE1F94D00949AFE /* TestEntity1.swift in Sources */, - B58B243E1C93C37100521925 /* Match.swift in Sources */, - B58B23F81C93C36700521925 /* DSL.swift in Sources */, B5DC47C81C93D22900FA3BF3 /* MigrationChainTests.swift in Sources */, - B58B245B1C93C38200521925 /* ObjCMatcher.swift in Sources */, - B58B244F1C93C37900521925 /* ExceptionCapture.swift in Sources */, - B58B245A1C93C38200521925 /* MatcherFunc.swift in Sources */, - B58B24521C93C37900521925 /* Stringers.swift in Sources */, - B58B23FB1C93C36700521925 /* FailureMessage.swift in Sources */, - B58B24511C93C37900521925 /* SourceLocation.swift in Sources */, - B58B24331C93C37100521925 /* BeGreaterThanOrEqualTo.swift in Sources */, - B58B242F1C93C37100521925 /* BeCloseTo.swift in Sources */, - B58B242E1C93C37100521925 /* BeAnInstanceOf.swift in Sources */, - B58B24321C93C37100521925 /* BeGreaterThan.swift in Sources */, - B58B24301C93C37100521925 /* BeEmpty.swift in Sources */, - B58B23F71C93C36700521925 /* DSL+Wait.swift in Sources */, - B58B24411C93C37100521925 /* RaisesException.swift in Sources */, - B58B23F91C93C36700521925 /* Expectation.swift in Sources */, - B58B24361C93C37100521925 /* BeLessThanOrEqual.swift in Sources */, - B58B243A1C93C37100521925 /* Contain.swift in Sources */, B52DD1CE1BE1F94D00949AFE /* TestEntity2.swift in Sources */, B52DD1CC1BE1F94D00949AFE /* CoreStoreTests.swift in Sources */, - B58B244E1C93C37900521925 /* Async.swift in Sources */, - B58B23F41C93C36700521925 /* AssertionRecorder.swift in Sources */, B5598BCC1BE2093D0092EFCE /* Model.xcdatamodeld in Sources */, - B58B243D1C93C37100521925 /* HaveCount.swift in Sources */, - B58B23F51C93C36700521925 /* NimbleEnvironment.swift in Sources */, - B58B24351C93C37100521925 /* BeLessThan.swift in Sources */, - B58B24371C93C37100521925 /* BeLogical.swift in Sources */, - B58B24391C93C37100521925 /* BeVoid.swift in Sources */, - B58B242D1C93C37100521925 /* BeAKindOf.swift in Sources */, - B58B24421C93C37100521925 /* SatisfyAnyOf.swift in Sources */, - B58B243B1C93C37100521925 /* EndWith.swift in Sources */, - B58B23F61C93C36700521925 /* NimbleXCTestHandler.swift in Sources */, - B58B243F1C93C37100521925 /* MatcherProtocols.swift in Sources */, - B58B23F31C93C36700521925 /* AssertionDispatcher.swift in Sources */, B5DC47CC1C93D9C800FA3BF3 /* StorageInterfaceTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/CoreStoreTests/MigrationChainTests.swift b/CoreStoreTests/MigrationChainTests.swift index 02c3d85..5c550a9 100644 --- a/CoreStoreTests/MigrationChainTests.swift +++ b/CoreStoreTests/MigrationChainTests.swift @@ -33,44 +33,43 @@ class MigrationChainTests: XCTestCase { @objc dynamic func testEmptyChain() { let chain: MigrationChain = nil - expect(chain.valid).to(beTrue()) - expect(chain.empty).to(beTrue()) + XCTAssertTrue(chain.valid) + XCTAssertTrue(chain.empty) - expect(chain.contains("version1")).to(beFalse()) - - expect(chain.nextVersionFrom("version1")).to(beNil()) + XCTAssertFalse(chain.contains("version1")) + XCTAssertNil(chain.nextVersionFrom("version1")) } @objc dynamic func testSingleChain() { let chain: MigrationChain = "version1" - expect(chain.valid).to(beTrue()) - expect(chain.empty).to(beTrue()) + XCTAssertTrue(chain.valid) + XCTAssertTrue(chain.empty) - expect(chain.contains("version1")).to(beTrue()) - expect(chain.contains("version2")).to(beFalse()) + XCTAssertTrue(chain.contains("version1")) + XCTAssertFalse(chain.contains("version2")) - expect(chain.nextVersionFrom("version1")).to(beNil()) - expect(chain.nextVersionFrom("version2")).to(beNil()) + XCTAssertNil(chain.nextVersionFrom("version1")) + XCTAssertNil(chain.nextVersionFrom("version2")) } @objc dynamic func testLinearChain() { let chain: MigrationChain = ["version1", "version2", "version3", "version4"] - expect(chain.valid).to(beTrue()) - expect(chain.empty).to(beFalse()) + XCTAssertTrue(chain.valid) + XCTAssertFalse(chain.empty) - expect(chain.contains("version1")).to(beTrue()) - expect(chain.contains("version2")).to(beTrue()) - expect(chain.contains("version3")).to(beTrue()) - expect(chain.contains("version4")).to(beTrue()) - expect(chain.contains("version5")).to(beFalse()) + XCTAssertTrue(chain.contains("version1")) + XCTAssertTrue(chain.contains("version2")) + XCTAssertTrue(chain.contains("version3")) + XCTAssertTrue(chain.contains("version4")) + XCTAssertFalse(chain.contains("version5")) - expect(chain.nextVersionFrom("version1")).to(equal("version2")) - expect(chain.nextVersionFrom("version2")).to(equal("version3")) - expect(chain.nextVersionFrom("version3")).to(equal("version4")) - expect(chain.nextVersionFrom("version4")).to(beNil()) - expect(chain.nextVersionFrom("version5")).to(beNil()) + XCTAssertEqual(chain.nextVersionFrom("version1"), "version2") + XCTAssertEqual(chain.nextVersionFrom("version2"), "version3") + XCTAssertEqual(chain.nextVersionFrom("version3"), "version4") + XCTAssertNil(chain.nextVersionFrom("version4")) + XCTAssertNil(chain.nextVersionFrom("version5")) } @objc dynamic func testTreeChain() { @@ -80,20 +79,20 @@ class MigrationChainTests: XCTestCase { "version2": "version3", "version3": "version4" ] - expect(chain.valid).to(beTrue()) - expect(chain.empty).to(beFalse()) + XCTAssertTrue(chain.valid) + XCTAssertFalse(chain.empty) - expect(chain.contains("version1")).to(beTrue()) - expect(chain.contains("version2")).to(beTrue()) - expect(chain.contains("version3")).to(beTrue()) - expect(chain.contains("version4")).to(beTrue()) - expect(chain.contains("version5")).to(beFalse()) + XCTAssertTrue(chain.contains("version1")) + XCTAssertTrue(chain.contains("version2")) + XCTAssertTrue(chain.contains("version3")) + XCTAssertTrue(chain.contains("version4")) + XCTAssertFalse(chain.contains("version5")) - expect(chain.nextVersionFrom("version1")).to(equal("version4")) - expect(chain.nextVersionFrom("version2")).to(equal("version3")) - expect(chain.nextVersionFrom("version3")).to(equal("version4")) - expect(chain.nextVersionFrom("version4")).to(beNil()) - expect(chain.nextVersionFrom("version5")).to(beNil()) + XCTAssertEqual(chain.nextVersionFrom("version1"), "version4") + XCTAssertEqual(chain.nextVersionFrom("version2"), "version3") + XCTAssertEqual(chain.nextVersionFrom("version3"), "version4") + XCTAssertNil(chain.nextVersionFrom("version4")) + XCTAssertNil(chain.nextVersionFrom("version5")) // The cases below will trigger assertion failures internally diff --git a/CoreStoreTests/StorageInterfaceTests.swift b/CoreStoreTests/StorageInterfaceTests.swift index 7966eea..347ddae 100644 --- a/CoreStoreTests/StorageInterfaceTests.swift +++ b/CoreStoreTests/StorageInterfaceTests.swift @@ -33,17 +33,17 @@ class StorageInterfaceTests: XCTestCase { func testDefaultInMemoryStore() { let store = InMemoryStore() - expect(store.dynamicType.storeType).to(equal(NSInMemoryStoreType)) - expect(store.configuration).to(beNil()) - expect(store.storeOptions).to(beNil()) + XCTAssertEqual(store.dynamicType.storeType, NSInMemoryStoreType) + XCTAssertNil(store.configuration) + XCTAssertNil(store.storeOptions) } func testInMemoryStoreConfiguration() { let store = InMemoryStore(configuration: "config1") - expect(store.dynamicType.storeType).to(equal(NSInMemoryStoreType)) - expect(store.configuration).to(equal("config1")) - expect(store.storeOptions).to(beNil()) + XCTAssertEqual(store.dynamicType.storeType, NSInMemoryStoreType) + XCTAssertEqual(store.configuration, "config1") + XCTAssertNil(store.storeOptions) } func testSQLiteStoreDefaultDirectories() { @@ -68,20 +68,20 @@ class StorageInterfaceTests: XCTestCase { .URLByAppendingPathComponent(applicationName, isDirectory: false) .URLByAppendingPathExtension("sqlite") - expect(SQLiteStore.defaultRootDirectory).to(equal(defaultRootDirectory)) - expect(SQLiteStore.defaultFileURL).to(equal(defaultFileURL)) + XCTAssertEqual(SQLiteStore.defaultRootDirectory, defaultRootDirectory) + XCTAssertEqual(SQLiteStore.defaultFileURL, defaultFileURL) } func testDefaultSQLiteStore() { let store = SQLiteStore() - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(beNil()) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertNil(store.configuration) + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL).to(equal(SQLiteStore.defaultFileURL)) - expect(store.mappingModelBundles).to(equal(NSBundle.allBundles())) - expect(store.resetStoreOnModelMismatch).to(beFalse()) + XCTAssertEqual(store.fileURL, SQLiteStore.defaultFileURL) + XCTAssertEqual(store.mappingModelBundles, NSBundle.allBundles()) + XCTAssertFalse(store.resetStoreOnModelMismatch) } func testSQLiteStoreFileURL() { @@ -97,13 +97,13 @@ class StorageInterfaceTests: XCTestCase { mappingModelBundles: bundles, resetStoreOnModelMismatch: true ) - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(equal("config1")) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertEqual(store.configuration, "config1") + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL).to(equal(fileURL)) - expect(store.mappingModelBundles).to(equal(bundles)) - expect(store.resetStoreOnModelMismatch).to(beTrue()) + XCTAssertEqual(store.fileURL, fileURL) + XCTAssertEqual(store.mappingModelBundles, bundles) + XCTAssertTrue(store.resetStoreOnModelMismatch) } func testSQLiteStoreFileName() { @@ -117,14 +117,14 @@ class StorageInterfaceTests: XCTestCase { mappingModelBundles: bundles, resetStoreOnModelMismatch: true ) - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(equal("config1")) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertEqual(store.configuration, "config1") + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL.URLByDeletingLastPathComponent).to(equal(SQLiteStore.defaultRootDirectory)) - expect(store.fileURL.lastPathComponent).to(equal(fileName)) - expect(store.mappingModelBundles).to(equal(bundles)) - expect(store.resetStoreOnModelMismatch).to(beTrue()) + XCTAssertEqual(store.fileURL.URLByDeletingLastPathComponent, SQLiteStore.defaultRootDirectory) + XCTAssertEqual(store.fileURL.lastPathComponent, fileName) + XCTAssertEqual(store.mappingModelBundles, bundles) + XCTAssertTrue(store.resetStoreOnModelMismatch) } func testLegacySQLiteStoreDefaultDirectories() { @@ -144,20 +144,20 @@ class StorageInterfaceTests: XCTestCase { .URLByAppendingPathComponent(DataStack.applicationName, isDirectory: false) .URLByAppendingPathExtension("sqlite") - expect(LegacySQLiteStore.legacyDefaultRootDirectory).to(equal(legacyDefaultRootDirectory)) - expect(LegacySQLiteStore.legacyDefaultFileURL).to(equal(legacyDefaultFileURL)) + XCTAssertEqual(LegacySQLiteStore.defaultRootDirectory, legacyDefaultRootDirectory) + XCTAssertEqual(LegacySQLiteStore.defaultFileURL, legacyDefaultFileURL) } func testDefaultLegacySQLiteStore() { let store = LegacySQLiteStore() - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(beNil()) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertNil(store.configuration) + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL).to(equal(LegacySQLiteStore.legacyDefaultFileURL)) - expect(store.mappingModelBundles).to(equal(NSBundle.allBundles())) - expect(store.resetStoreOnModelMismatch).to(beFalse()) + XCTAssertEqual(store.fileURL, LegacySQLiteStore.defaultFileURL) + XCTAssertEqual(store.mappingModelBundles, NSBundle.allBundles()) + XCTAssertFalse(store.resetStoreOnModelMismatch) } func testLegacySQLiteStoreFileURL() { @@ -173,13 +173,13 @@ class StorageInterfaceTests: XCTestCase { mappingModelBundles: bundles, resetStoreOnModelMismatch: true ) - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(equal("config1")) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertEqual(store.configuration, "config1") + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL).to(equal(fileURL)) - expect(store.mappingModelBundles).to(equal(bundles)) - expect(store.resetStoreOnModelMismatch).to(beTrue()) + XCTAssertEqual(store.fileURL, fileURL) + XCTAssertEqual(store.mappingModelBundles, bundles) + XCTAssertTrue(store.resetStoreOnModelMismatch) } func testLegacySQLiteStoreFileName() { @@ -193,13 +193,13 @@ class StorageInterfaceTests: XCTestCase { mappingModelBundles: bundles, resetStoreOnModelMismatch: true ) - expect(store.dynamicType.storeType).to(equal(NSSQLiteStoreType)) - expect(store.configuration).to(equal("config1")) - expect(store.storeOptions).to(equal([NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary)) + XCTAssertEqual(store.dynamicType.storeType, NSSQLiteStoreType) + XCTAssertEqual(store.configuration, "config1") + XCTAssertEqual(store.storeOptions, [NSSQLitePragmasOption: ["journal_mode": "WAL"]] as NSDictionary) - expect(store.fileURL.URLByDeletingLastPathComponent).to(equal(LegacySQLiteStore.legacyDefaultRootDirectory)) - expect(store.fileURL.lastPathComponent).to(equal(fileName)) - expect(store.mappingModelBundles).to(equal(bundles)) - expect(store.resetStoreOnModelMismatch).to(beTrue()) + XCTAssertEqual(store.fileURL.URLByDeletingLastPathComponent, LegacySQLiteStore.defaultRootDirectory) + XCTAssertEqual(store.fileURL.lastPathComponent, fileName) + XCTAssertEqual(store.mappingModelBundles, bundles) + XCTAssertTrue(store.resetStoreOnModelMismatch) } } diff --git a/README.md b/README.md index 2a162c1..129cfbc 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,8 @@ CoreStore +
+ +Unleashing the real power of Core Data with the elegance and safety of Swift + [![Build Status](https://img.shields.io/travis/JohnEstropia/CoreStore/master.svg?style=flat)](https://travis-ci.org/JohnEstropia/CoreStore) [![Version](https://img.shields.io/cocoapods/v/CoreStore.svg?style=flat)](http://cocoadocs.org/docsets/CoreStore) @@ -7,8 +11,6 @@ [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) [![Swift Package Manager compatible](https://img.shields.io/badge/Swift_Package_Manager-compatible-orange.svg?style=flat)](https://swiftpkgs.ng.bluemix.net/package/27993573) -Unleashing the real power of Core Data with the elegance and safety of Swift - * Swift 2.2 (Xcode 7.3) * iOS 8+ / OSX 10.10+ / watchOS 2.0+ / tvOS 9.0+ diff --git a/Sources/Setting Up/StorageInterfaces/LegacySQLiteStore.swift b/Sources/Setting Up/StorageInterfaces/LegacySQLiteStore.swift index 00239cf..2d8cf09 100644 --- a/Sources/Setting Up/StorageInterfaces/LegacySQLiteStore.swift +++ b/Sources/Setting Up/StorageInterfaces/LegacySQLiteStore.swift @@ -64,7 +64,7 @@ public final class LegacySQLiteStore: SQLiteStore { public required init(fileName: String, configuration: String? = nil, mappingModelBundles: [NSBundle] = NSBundle.allBundles(), resetStoreOnModelMismatch: Bool = false) { super.init( - fileURL: LegacySQLiteStore.legacyDefaultRootDirectory.URLByAppendingPathComponent( + fileURL: LegacySQLiteStore.defaultRootDirectory.URLByAppendingPathComponent( fileName, isDirectory: false ), @@ -75,6 +75,30 @@ public final class LegacySQLiteStore: SQLiteStore { } + // MARK: SQLiteStore + + internal override class var defaultRootDirectory: NSURL { + + #if os(tvOS) + let systemDirectorySearchPath = NSSearchPathDirectory.CachesDirectory + #else + let systemDirectorySearchPath = NSSearchPathDirectory.ApplicationSupportDirectory + #endif + + return NSFileManager.defaultManager().URLsForDirectory( + systemDirectorySearchPath, + inDomains: .UserDomainMask + ).first! + } + + internal override class var defaultFileURL: NSURL { + + return LegacySQLiteStore.defaultRootDirectory + .URLByAppendingPathComponent(DataStack.applicationName, isDirectory: false) + .URLByAppendingPathExtension("sqlite") + } + + // MARK: DefaultInitializableStore /** @@ -83,24 +107,6 @@ public final class LegacySQLiteStore: SQLiteStore { */ public required init() { - super.init(fileURL: LegacySQLiteStore.legacyDefaultFileURL) + super.init(fileURL: LegacySQLiteStore.defaultFileURL) } - - - // MARK: Internal - - #if os(tvOS) - internal static let systemDirectorySearchPath = NSSearchPathDirectory.CachesDirectory - #else - internal static let systemDirectorySearchPath = NSSearchPathDirectory.ApplicationSupportDirectory - #endif - - internal static let legacyDefaultRootDirectory = NSFileManager.defaultManager().URLsForDirectory( - LegacySQLiteStore.systemDirectorySearchPath, - inDomains: .UserDomainMask - ).first! - - internal static let legacyDefaultFileURL = LegacySQLiteStore.legacyDefaultRootDirectory - .URLByAppendingPathComponent(DataStack.applicationName, isDirectory: false) - .URLByAppendingPathExtension("sqlite") } diff --git a/Sources/Setting Up/StorageInterfaces/SQLiteStore.swift b/Sources/Setting Up/StorageInterfaces/SQLiteStore.swift index 23e7b86..682d40d 100644 --- a/Sources/Setting Up/StorageInterfaces/SQLiteStore.swift +++ b/Sources/Setting Up/StorageInterfaces/SQLiteStore.swift @@ -147,7 +147,7 @@ public class SQLiteStore: LocalStorage, DefaultInitializableStore { // MARK: Internal - internal static let defaultRootDirectory: NSURL = { + internal class var defaultRootDirectory: NSURL { #if os(tvOS) let systemDirectorySearchPath = NSSearchPathDirectory.CachesDirectory @@ -163,14 +163,14 @@ public class SQLiteStore: LocalStorage, DefaultInitializableStore { NSBundle.mainBundle().bundleIdentifier ?? "com.CoreStore.DataStack", isDirectory: true ) - }() + } - internal static let defaultFileURL: NSURL = { + internal class var defaultFileURL: NSURL { let applicationName = (NSBundle.mainBundle().objectForInfoDictionaryKey("CFBundleName") as? String) ?? "CoreData" return SQLiteStore.defaultRootDirectory .URLByAppendingPathComponent(applicationName, isDirectory: false) .URLByAppendingPathExtension("sqlite") - }() + } }