Skip to content

Commit

Permalink
Add namespace and resources name to various models
Browse files Browse the repository at this point in the history
  • Loading branch information
NathanE73 committed Nov 27, 2023
1 parent 09519f2 commit fd0c4ea
Show file tree
Hide file tree
Showing 14 changed files with 39 additions and 18 deletions.
6 changes: 3 additions & 3 deletions Sources/BlackboardFramework/Assets/AssetSetFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ protocol AssetSetFactory {

var pathExtension: String { get }

func asset(name: String, data: Data) -> AssetSet?
func asset(namespace: String?, name: String, data: Data) -> AssetSet?

}

Expand Down Expand Up @@ -77,9 +77,9 @@ extension AssetSetFactory {
return nil
}

let name = Naming.namespace(from: namespace, url.lastPathComponent.deletingPathExtension)!
let name = url.lastPathComponent.deletingPathExtension

return asset(name: name, data: data)
return asset(namespace: namespace, name: name, data: data)
}

func providesNamespaceAt(path: String) -> Bool {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,23 @@ import Foundation

struct BlackboardColor {

var namespace: String?
var name: String
var propertyName: String
var resourceName: String

}

extension BlackboardColor {

init(_ colorSet: ColorSet) {
namespace = colorSet.namespace
name = colorSet.name

propertyName = Naming.methodName(from: colorSet.name)
.removingSuffix("Color")

resourceName = Naming.namespace(from: colorSet.namespace, colorSet.name) ?? colorSet.name
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ extension SwiftSource {
append()
append("public extension ColorAsset") {
colors.forEach { color in
append("static let \(color.propertyName) = ColorAsset(name: \"\(color.name)\")")
append("static let \(color.propertyName) = ColorAsset(name: \"\(color.resourceName)\")")
}
}
append()
Expand Down
4 changes: 3 additions & 1 deletion Sources/BlackboardFramework/Color Assets/ColorSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@
import Foundation

struct ColorSet {
var namespace: String?
var name: String
}

extension ColorSet {

init?(name: String, assetColorSet: AssetColorSet) {
init?(namespace: String?, name: String, assetColorSet: AssetColorSet) {
self.namespace = namespace
self.name = name
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ class ColorSetFactory: AssetSetFactory {
paths.flatMap(assetsAt(path:))
}

func asset(name: String, data: Data) -> ColorSet? {
func asset(namespace: String?, name: String, data: Data) -> ColorSet? {
guard let assetColorSet = try? JSONDecoder().decode(AssetColorSet.self, from: data) else {
return nil
}

return ColorSet(name: name, assetColorSet: assetColorSet)
return ColorSet(namespace: namespace, name: name, assetColorSet: assetColorSet)
}

}
5 changes: 5 additions & 0 deletions Sources/BlackboardFramework/Data Assets/BlackboardData.swift
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,23 @@ import Foundation

struct BlackboardData {

var namespace: String?
var name: String
var propertyName: String
var resourceName: String

}

extension BlackboardData {

init(_ dataSet: DataSet) {
namespace = dataSet.namespace
name = dataSet.name

propertyName = Naming.methodName(from: dataSet.name)
.removingSuffix("Data")

resourceName = Naming.namespace(from: dataSet.namespace, dataSet.name) ?? dataSet.name
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ extension SwiftSource {
append()
append("public extension DataAsset") {
data.forEach { data in
append("static let \(data.propertyName) = DataAsset(name: \"\(data.name)\")")
append("static let \(data.propertyName) = DataAsset(name: \"\(data.resourceName)\")")
}
}
append()
Expand Down
4 changes: 3 additions & 1 deletion Sources/BlackboardFramework/Data Assets/DataSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@
import Foundation

struct DataSet {
var namespace: String?
var name: String
}

extension DataSet {

init?(name: String, assetDataSet: AssetDataSet) {
init?(namespace: String?, name: String, assetDataSet: AssetDataSet) {
self.namespace = namespace
self.name = name
}

Expand Down
4 changes: 2 additions & 2 deletions Sources/BlackboardFramework/Data Assets/DataSetFactory.swift
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ class DataSetFactory: AssetSetFactory {
paths.flatMap(assetsAt(path:))
}

func asset(name: String, data: Data) -> DataSet? {
func asset(namespace: String?, name: String, data: Data) -> DataSet? {
guard let assetDataSet = try? JSONDecoder().decode(AssetDataSet.self, from: data) else {
return nil
}

return DataSet(name: name, assetDataSet: assetDataSet)
return DataSet(namespace: namespace, name: name, assetDataSet: assetDataSet)
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -26,18 +26,23 @@ import Foundation

struct BlackboardImage {

var namespace: String?
var name: String
var propertyName: String
var resourceName: String

}

extension BlackboardImage {

init(_ imageSet: ImageSet) {
namespace = imageSet.namespace
name = imageSet.name

propertyName = Naming.methodName(from: imageSet.name)
.removingSuffix("Image")

resourceName = Naming.namespace(from: imageSet.namespace, imageSet.name) ?? imageSet.name
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ extension SwiftSource {
append()
append("public extension ImageAsset") {
images.forEach { image in
append("static let \(image.propertyName) = ImageAsset(name: \"\(image.name)\")")
append("static let \(image.propertyName) = ImageAsset(name: \"\(image.resourceName)\")")
}
}
append()
Expand Down
4 changes: 3 additions & 1 deletion Sources/BlackboardFramework/Image Assets/ImageSet.swift
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,14 @@
import Foundation

struct ImageSet {
var namespace: String?
var name: String
}

extension ImageSet {

init?(name: String, assetImageSet: AssetImageSet) {
init?(namespace: String?, name: String, assetImageSet: AssetImageSet) {
self.namespace = namespace
self.name = name
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ class ImageSetFactory: AssetSetFactory {
paths.flatMap(assetsAt(path:))
}

func asset(name: String, data: Data) -> ImageSet? {
func asset(namespace: String?, name: String, data: Data) -> ImageSet? {
guard let assetImageSet = try? JSONDecoder().decode(AssetImageSet.self, from: data) else {
return nil
}

return ImageSet(name: name, assetImageSet: assetImageSet)
return ImageSet(namespace: namespace, name: name, assetImageSet: assetImageSet)
}

}
6 changes: 3 additions & 3 deletions Tests/BlackboardFrameworkTests/XCTest/Fixture.swift
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ class Fixture {
return nil
}

return ColorSetFactory().asset(name: name, data: data)
return ColorSetFactory().asset(namespace: nil, name: name, data: data)
}

static func dataSet(project: Project, path: String? = nil, name: String, file: StaticString = #file, line: UInt = #line) -> DataSet? {
Expand All @@ -68,7 +68,7 @@ class Fixture {
return nil
}

return DataSetFactory().asset(name: name, data: data)
return DataSetFactory().asset(namespace: nil, name: name, data: data)
}

static func imageSet(project: Project, path: String? = nil, name: String, file: StaticString = #file, line: UInt = #line) -> ImageSet? {
Expand All @@ -78,7 +78,7 @@ class Fixture {
return nil
}

return ImageSetFactory().asset(name: name, data: data)
return ImageSetFactory().asset(namespace: nil, name: name, data: data)
}

static func storyboard(project: Project, path: String? = nil, name: String, file: StaticString = #file, line: UInt = #line) -> Storyboard? {
Expand Down

0 comments on commit fd0c4ea

Please sign in to comment.