49 lines
1.1 KiB
Ruby

module VagrantPlugins
module CommandServe
module Util
module HasSeeds
# Provides seed value registration.
module Service
def seed(req, ctx)
@seeds = req
Empty.new
end
def seeds(req, ctx)
return SDK::Args::Seeds.new if @seeds.nil?
@seeds
end
end
# Provides seed access.
module Client
def seed(*args)
raise NotImplementedError,
"Seeding is currently not supported via Ruby client"
end
def seeds
client.seeds(Empty.new)
end
def seed_protos
seeds.typed.map { |any|
SDK::FuncSpec::Value.new(
name: "",
type: any.type_name,
value: any,
)
} + seeds.named.map { |name, any|
SDK::FuncSpec::Value.new(
name: name,
type: any.type_name,
value: any,
)
}
end
end
end
end
end
end