49 lines
1.1 KiB
Ruby
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
|