21 lines
354 B
Crystal
21 lines
354 B
Crystal
|
|
||
|
abstract class Package::Backend::Packaging
|
||
|
getter name : String
|
||
|
|
||
|
def initialize(@name)
|
||
|
end
|
||
|
|
||
|
abstract def package(context : Context, package : Package) : Bool
|
||
|
end
|
||
|
|
||
|
class Package::Backend::Splitter
|
||
|
def initialize(&block : Proc(Recipe, Package))
|
||
|
@callback = block
|
||
|
end
|
||
|
|
||
|
def create_split(recipe : Recipe) : Package
|
||
|
@callback.call recipe
|
||
|
end
|
||
|
end
|
||
|
|