Skip to content

Commit f234c8a

Browse files
committed
Review refactorings
1 parent d5128a4 commit f234c8a

File tree

2 files changed

+56
-56
lines changed

2 files changed

+56
-56
lines changed

src/crates/mod.rs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ trait CrateTrait: std::fmt::Display {
1414
}
1515

1616
enum CrateType {
17-
CratesIO(registry::RegistryCrate),
17+
Registry(registry::RegistryCrate),
1818
Git(git::GitRepo),
1919
Local(local::Local),
2020
}
@@ -25,7 +25,7 @@ pub struct Crate(CrateType);
2525
impl Crate {
2626
/// Load a create from specified registry.
2727
pub fn registry(registry_index: &str, name: &str, version: &str) -> Self {
28-
Crate(CrateType::CratesIO(registry::RegistryCrate::new(
28+
Crate(CrateType::Registry(registry::RegistryCrate::new(
2929
registry::Registry::Alternative(registry::AlternativeRegistry::new(registry_index)),
3030
name,
3131
version,
@@ -34,7 +34,7 @@ impl Crate {
3434

3535
/// Load a crate from the [crates.io registry](https://crates.io).
3636
pub fn crates_io(name: &str, version: &str) -> Self {
37-
Crate(CrateType::CratesIO(registry::RegistryCrate::new(
37+
Crate(CrateType::Registry(registry::RegistryCrate::new(
3838
registry::Registry::CratesIo,
3939
name,
4040
version,
@@ -86,7 +86,7 @@ impl Crate {
8686

8787
fn as_trait(&self) -> &dyn CrateTrait {
8888
match &self.0 {
89-
CrateType::CratesIO(krate) => krate,
89+
CrateType::Registry(krate) => krate,
9090
CrateType::Git(repo) => repo,
9191
CrateType::Local(local) => local,
9292
}

src/crates/registry.rs

Lines changed: 52 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,58 @@ use tar::Archive;
1010

1111
static CRATES_ROOT: &str = "https://static.crates.io/crates";
1212

13+
pub struct AlternativeRegistry {
14+
registry_index: String,
15+
}
16+
17+
impl AlternativeRegistry {
18+
pub fn new(registry_index: impl Into<String>) -> AlternativeRegistry {
19+
AlternativeRegistry {
20+
registry_index: registry_index.into(),
21+
}
22+
}
23+
24+
fn index(&self) -> &str {
25+
self.registry_index.as_str()
26+
}
27+
28+
fn index_folder(&self) -> String {
29+
crate::utils::escape_path(self.registry_index.as_bytes())
30+
}
31+
}
32+
33+
pub enum Registry {
34+
CratesIo,
35+
Alternative(AlternativeRegistry),
36+
}
37+
38+
impl Registry {
39+
fn cache_folder(&self) -> String {
40+
match self {
41+
Registry::CratesIo => "cratesio-sources".into(),
42+
Registry::Alternative(alt) => format!("{}-sources", alt.index_folder()),
43+
}
44+
}
45+
46+
fn name(&self) -> String {
47+
match self {
48+
Registry::CratesIo => "crates.io".into(),
49+
Registry::Alternative(alt) => alt.index().to_string(),
50+
}
51+
}
52+
}
53+
54+
pub(super) struct RegistryCrate {
55+
registry: Registry,
56+
name: String,
57+
version: String,
58+
}
59+
60+
#[derive(serde::Deserialize)]
61+
struct IndexConfig {
62+
dl: String,
63+
}
64+
1365
impl RegistryCrate {
1466
pub(super) fn new(registry: Registry, name: &str, version: &str) -> Self {
1567
RegistryCrate {
@@ -69,58 +121,6 @@ impl RegistryCrate {
69121
}
70122
}
71123

72-
#[derive(serde::Deserialize)]
73-
struct IndexConfig {
74-
dl: String,
75-
}
76-
77-
pub struct AlternativeRegistry {
78-
registry_index: String,
79-
}
80-
81-
impl AlternativeRegistry {
82-
pub fn new(registry_index: impl Into<String>) -> AlternativeRegistry {
83-
AlternativeRegistry {
84-
registry_index: registry_index.into(),
85-
}
86-
}
87-
88-
fn index(&self) -> &str {
89-
self.registry_index.as_str()
90-
}
91-
92-
fn index_folder(&self) -> String {
93-
crate::utils::escape_path(self.registry_index.as_bytes())
94-
}
95-
}
96-
97-
pub enum Registry {
98-
CratesIo,
99-
Alternative(AlternativeRegistry),
100-
}
101-
102-
impl Registry {
103-
fn cache_folder(&self) -> String {
104-
match self {
105-
Registry::CratesIo => "cratesio-sources".into(),
106-
Registry::Alternative(alt) => format!("{}-sources", alt.index()),
107-
}
108-
}
109-
110-
fn name(&self) -> String {
111-
match self {
112-
Registry::CratesIo => "crates.io".into(),
113-
Registry::Alternative(_alt) => todo!(),
114-
}
115-
}
116-
}
117-
118-
pub(super) struct RegistryCrate {
119-
registry: Registry,
120-
name: String,
121-
version: String,
122-
}
123-
124124
impl CrateTrait for RegistryCrate {
125125
fn fetch(&self, workspace: &Workspace) -> Result<(), Error> {
126126
let local = self.cache_path(workspace);

0 commit comments

Comments
 (0)