Lists
This commit is contained in:
parent
54458709f9
commit
7479ffd244
2 changed files with 79 additions and 15 deletions
|
|
@ -56,37 +56,37 @@ pub fn new<'a, S: Into<Cow<'a, str>>, C: CommandRunner, P: 'a + Deref<Target = s
|
||||||
command_runner: &'a C,
|
command_runner: &'a C,
|
||||||
cert: P,
|
cert: P,
|
||||||
user_name: S,
|
user_name: S,
|
||||||
) -> Box<dyn Symbol + 'a> {
|
) -> impl Symbol + 'a {
|
||||||
// impl trait
|
// impl trait
|
||||||
let user_name_cow = user_name.into();
|
let user_name_cow = user_name.into();
|
||||||
let account_key_file: PathBuf = ["/home", user_name_cow.borrow(), "account.key"]
|
let account_key_file: PathBuf = ["/home", user_name_cow.borrow(), "account.key"]
|
||||||
.iter()
|
.iter()
|
||||||
.collect();
|
.collect();
|
||||||
Box::new(List::new(vec![
|
List::from((
|
||||||
Box::new(AcmeAccountKey::new(
|
AcmeAccountKey::new(
|
||||||
account_key_file.clone().into(),
|
account_key_file.clone().into(),
|
||||||
command_runner,
|
command_runner,
|
||||||
)),
|
),
|
||||||
Box::new(Owner::new(
|
Owner::new(
|
||||||
account_key_file.to_string_lossy().into_owned(),
|
account_key_file.to_string_lossy().into_owned(),
|
||||||
user_name_cow.clone(),
|
user_name_cow.clone(),
|
||||||
command_runner,
|
command_runner,
|
||||||
)),
|
),
|
||||||
Box::new(Dir::new("/home/acme/challenges")),
|
Dir::new("/home/acme/challenges"),
|
||||||
Box::new(Owner::new(
|
Owner::new(
|
||||||
"/home/acme/challenges",
|
"/home/acme/challenges",
|
||||||
user_name_cow.clone(),
|
user_name_cow.clone(),
|
||||||
command_runner,
|
command_runner,
|
||||||
)),
|
),
|
||||||
Box::new(Dir::new("/etc/ssl/local_certs")),
|
Dir::new("/etc/ssl/local_certs"),
|
||||||
Box::new(Owner::new(
|
Owner::new(
|
||||||
"/etc/ssl/local_certs",
|
"/etc/ssl/local_certs",
|
||||||
user_name_cow,
|
user_name_cow,
|
||||||
command_runner,
|
command_runner,
|
||||||
)),
|
),
|
||||||
Box::new(File::new(
|
File::new(
|
||||||
"/home/acme/lets_encrypt_x3_cross_signed.pem",
|
"/home/acme/lets_encrypt_x3_cross_signed.pem",
|
||||||
cert,
|
cert,
|
||||||
)),
|
),
|
||||||
]))
|
))
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,70 @@ impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol> From<(A
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol> From<(A, B, C, D, E)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e): (A, B, C, D, E)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol> From<(A, B, C, D, E, F)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f): (A, B, C, D, E, F)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol> From<(A, B, C, D, E, F, G)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g): (A, B, C, D, E, F, G)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol, H: 'a + Symbol> From<(A, B, C, D, E, F, G, H)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g, h): (A, B, C, D, E, F, G, H)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g), Box::new(h)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol, H: 'a + Symbol, I: 'a + Symbol, J: 'a + Symbol, K: 'a + Symbol> From<(A, B, C, D, E, F, G, H, I, J, K)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g, h, i, j, k): (A, B, C, D, E, F, G, H, I, J, K)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g), Box::new(h), Box::new(i), Box::new(j), Box::new(k)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol, H: 'a + Symbol, I: 'a + Symbol, J: 'a + Symbol, K: 'a + Symbol, L: 'a + Symbol> From<(A, B, C, D, E, F, G, H, I, J, K, L)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g, h, i, j, k, l): (A, B, C, D, E, F, G, H, I, J, K, L)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g), Box::new(h), Box::new(i), Box::new(j), Box::new(k), Box::new(l)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol, H: 'a + Symbol, I: 'a + Symbol, J: 'a + Symbol, K: 'a + Symbol, L: 'a + Symbol, M: 'a + Symbol> From<(A, B, C, D, E, F, G, H, I, J, K, L, M)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g, h, i, j, k, l, m): (A, B, C, D, E, F, G, H, I, J, K, L, M)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g), Box::new(h), Box::new(i), Box::new(j), Box::new(k), Box::new(l), Box::new(m)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
impl<'a, A: 'a + Symbol, B: 'a + Symbol, C: 'a + Symbol, D: 'a + Symbol, E: 'a + Symbol, F: 'a + Symbol, G: 'a + Symbol, H: 'a + Symbol, I: 'a + Symbol, J: 'a + Symbol, K: 'a + Symbol, L: 'a + Symbol, M: 'a + Symbol, N: 'a + Symbol> From<(A, B, C, D, E, F, G, H, I, J, K, L, M, N)>
|
||||||
|
for List<'a>
|
||||||
|
{
|
||||||
|
fn from((a, b, c, d, e, f, g, h, i, j, k, l, m, n): (A, B, C, D, E, F, G, H, I, J, K, L, M, N)) -> Self {
|
||||||
|
Self::new(vec![Box::new(a), Box::new(b), Box::new(c), Box::new(d), Box::new(e), Box::new(f), Box::new(g), Box::new(h), Box::new(i), Box::new(j), Box::new(k), Box::new(l), Box::new(m), Box::new(n)])
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
struct SymbolListAction<'a> {
|
struct SymbolListAction<'a> {
|
||||||
runner: &'a dyn SymbolRunner,
|
runner: &'a dyn SymbolRunner,
|
||||||
symbols: &'a [Box<dyn Symbol + 'a>],
|
symbols: &'a [Box<dyn Symbol + 'a>],
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue