Skip to content
This repository was archived by the owner on Sep 19, 2024. It is now read-only.

Commit d169940

Browse files
committed
Add FileResource type
1 parent 158aa46 commit d169940

File tree

2 files changed

+30
-0
lines changed

2 files changed

+30
-0
lines changed

Library/Core/FileResource.swift

+26
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
//
2+
// FileResource.swift
3+
// Pods
4+
//
5+
// Created by Mathijs Kadijk on 06-01-16.
6+
//
7+
//
8+
9+
import Foundation
10+
11+
public protocol FileResource {
12+
/// Bundle this file is in or nil for main bundle
13+
var bundle: NSBundle? { get }
14+
15+
/// Name of the file file on disk
16+
var name: String { get }
17+
18+
/// Extension of the file on disk
19+
var pathExtension: String { get }
20+
}
21+
22+
public extension FileResource {
23+
public var url: NSURL? {
24+
return bundle?.URLForResource(name, withExtension: pathExtension, subdirectory: nil, localization: nil)
25+
}
26+
}

R.swift.Library.xcodeproj/project.pbxproj

+4
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
D59246591C117A55007F94C7 /* Rswift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D592464E1C117A55007F94C7 /* Rswift.framework */; };
2323
D592465E1C117A55007F94C7 /* RswiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = D592465D1C117A55007F94C7 /* RswiftTests.swift */; };
2424
D5E435A91C3CFB460091090C /* NibResource+UIKit.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */; };
25+
D5E435AD1C3D00770091090C /* FileResource.swift in Sources */ = {isa = PBXBuildFile; fileRef = D5E435AC1C3D00770091090C /* FileResource.swift */; };
2526
/* End PBXBuildFile section */
2627

2728
/* Begin PBXContainerItemProxy section */
@@ -53,6 +54,7 @@
5354
D592465D1C117A55007F94C7 /* RswiftTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RswiftTests.swift; sourceTree = "<group>"; };
5455
D592465F1C117A55007F94C7 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
5556
D5E435A81C3CFB460091090C /* NibResource+UIKit.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "NibResource+UIKit.swift"; sourceTree = "<group>"; };
57+
D5E435AC1C3D00770091090C /* FileResource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = FileResource.swift; sourceTree = "<group>"; };
5658
/* End PBXFileReference section */
5759

5860
/* Begin PBXFrameworksBuildPhase section */
@@ -95,6 +97,7 @@
9597
D543F9BC1C14980600D16A0C /* ReuseIdentifierProtocol.swift */,
9698
D543F9BE1C14983100D16A0C /* StoryboardSegueIdentifierProtocol.swift */,
9799
D543F9C01C14984300D16A0C /* NibResource.swift */,
100+
D5E435AC1C3D00770091090C /* FileResource.swift */,
98101
D53F19231C229D7200AE2FAD /* Validatable.swift */,
99102
);
100103
path = Core;
@@ -248,6 +251,7 @@
248251
files = (
249252
D543F9CC1C1499AB00D16A0C /* UIStoryboardSegue+StoryboardSegueIdentifierProtocol.swift in Sources */,
250253
D543F9CA1C14998800D16A0C /* UIViewController+StoryboardSegueIdentifierProtocol.swift in Sources */,
254+
D5E435AD1C3D00770091090C /* FileResource.swift in Sources */,
251255
D543F9BB1C1497EB00D16A0C /* Identifier.swift in Sources */,
252256
D543F9BD1C14980600D16A0C /* ReuseIdentifierProtocol.swift in Sources */,
253257
D543F9C11C14984300D16A0C /* NibResource.swift in Sources */,

0 commit comments

Comments
 (0)