Skip to content

Commit 3b34485

Browse files
bors-voyager[bot]Josh Leeb-du Toit
and
Josh Leeb-du Toit
committed
Merge #1564
1564: Rename structs in `krate_publish` with prefix `Encodable` r=jtgeibel a=joshleeb This PR renames the structs in `views/krate_publish` to have the prefix `Encodable`, as per a `TODO` that was present. Co-authored-by: Josh Leeb-du Toit <josh.leebdutoit@gmail.com>
2 parents 57b2119 + f5b9894 commit 3b34485

File tree

4 files changed

+79
-79
lines changed

4 files changed

+79
-79
lines changed

src/tests/all.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -304,7 +304,7 @@ fn logout(req: &mut Request) {
304304
req.mut_extensions().pop::<User>();
305305
}
306306

307-
fn new_crate_to_body_with_tarball(new_crate: &u::NewCrate, tarball: &[u8]) -> Vec<u8> {
307+
fn new_crate_to_body_with_tarball(new_crate: &u::EncodableCrateUpload, tarball: &[u8]) -> Vec<u8> {
308308
let json = serde_json::to_string(&new_crate).unwrap();
309309
let mut body = Vec::new();
310310
body.extend(

src/tests/builders.rs

Lines changed: 20 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@ use tar;
1313

1414
use cargo_registry::util::CargoResult;
1515

16-
use models::{Crate, CrateDownload, Keyword, Version};
17-
use models::{NewCrate, NewVersion};
16+
use models::{Crate, CrateDownload, Keyword, NewCrate, NewVersion, Version};
1817
use schema::*;
1918
use views::krate_publish as u;
2019

@@ -315,7 +314,7 @@ pub struct PublishBuilder {
315314
pub krate_name: String,
316315
version: semver::Version,
317316
tarball: Vec<u8>,
318-
deps: Vec<u::CrateDependency>,
317+
deps: Vec<u::EncodableCrateDependency>,
319318
desc: Option<String>,
320319
readme: Option<String>,
321320
doc_url: Option<String>,
@@ -469,9 +468,9 @@ impl PublishBuilder {
469468

470469
/// Consume this builder to make the Put request body
471470
pub fn body(self) -> Vec<u8> {
472-
let new_crate = u::NewCrate {
473-
name: u::CrateName(self.krate_name.clone()),
474-
vers: u::CrateVersion(self.version),
471+
let new_crate = u::EncodableCrateUpload {
472+
name: u::EncodableCrateName(self.krate_name.clone()),
473+
vers: u::EncodableCrateVersion(self.version),
475474
features: HashMap::new(),
476475
deps: self.deps,
477476
authors: self.authors,
@@ -480,11 +479,14 @@ impl PublishBuilder {
480479
documentation: self.doc_url,
481480
readme: self.readme,
482481
readme_file: None,
483-
keywords: Some(u::KeywordList(
484-
self.keywords.into_iter().map(u::Keyword).collect(),
482+
keywords: Some(u::EncodableKeywordList(
483+
self.keywords.into_iter().map(u::EncodableKeyword).collect(),
485484
)),
486-
categories: Some(u::CategoryList(
487-
self.categories.into_iter().map(u::Category).collect(),
485+
categories: Some(u::EncodableCategoryList(
486+
self.categories
487+
.into_iter()
488+
.map(u::EncodableCategory)
489+
.collect(),
488490
)),
489491
license: self.license,
490492
license_file: self.license_file,
@@ -500,8 +502,8 @@ impl PublishBuilder {
500502
/// A builder for constructing a dependency of another crate.
501503
pub struct DependencyBuilder {
502504
name: String,
503-
explicit_name_in_toml: Option<u::CrateName>,
504-
version_req: u::CrateVersionReq,
505+
explicit_name_in_toml: Option<u::EncodableCrateName>,
506+
version_req: u::EncodableCrateVersionReq,
505507
}
506508

507509
impl DependencyBuilder {
@@ -510,13 +512,13 @@ impl DependencyBuilder {
510512
DependencyBuilder {
511513
name: name.to_string(),
512514
explicit_name_in_toml: None,
513-
version_req: u::CrateVersionReq(semver::VersionReq::parse(">= 0").unwrap()),
515+
version_req: u::EncodableCrateVersionReq(semver::VersionReq::parse(">= 0").unwrap()),
514516
}
515517
}
516518

517519
/// Rename this dependency.
518520
pub fn rename(mut self, new_name: &str) -> Self {
519-
self.explicit_name_in_toml = Some(u::CrateName(new_name.to_string()));
521+
self.explicit_name_in_toml = Some(u::EncodableCrateName(new_name.to_string()));
520522
self
521523
}
522524

@@ -526,7 +528,7 @@ impl DependencyBuilder {
526528
///
527529
/// Panics if the `version_req` string specified isn't a valid `semver::VersionReq`.
528530
pub fn version_req(mut self, version_req: &str) -> Self {
529-
self.version_req = u::CrateVersionReq(
531+
self.version_req = u::EncodableCrateVersionReq(
530532
semver::VersionReq::parse(version_req)
531533
.expect("version req isn't a valid semver::VersionReq"),
532534
);
@@ -535,9 +537,9 @@ impl DependencyBuilder {
535537

536538
/// Consume this builder to create a `u::CrateDependency`. If the dependent crate doesn't
537539
/// already exist, publishing a crate with this dependency will fail.
538-
fn build(self) -> u::CrateDependency {
539-
u::CrateDependency {
540-
name: u::CrateName(self.name),
540+
fn build(self) -> u::EncodableCrateDependency {
541+
u::EncodableCrateDependency {
542+
name: u::EncodableCrateName(self.name),
541543
optional: false,
542544
default_features: true,
543545
features: Vec::new(),

src/views/krate_publish.rs

Lines changed: 57 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,19 @@ use models::DependencyKind;
1414
use models::Keyword as CrateKeyword;
1515

1616
#[derive(Deserialize, Serialize, Debug)]
17-
pub struct NewCrate {
18-
pub name: CrateName,
19-
pub vers: CrateVersion,
20-
pub deps: Vec<CrateDependency>,
21-
pub features: HashMap<FeatureName, Vec<Feature>>,
17+
pub struct EncodableCrateUpload {
18+
pub name: EncodableCrateName,
19+
pub vers: EncodableCrateVersion,
20+
pub deps: Vec<EncodableCrateDependency>,
21+
pub features: HashMap<EncodableFeatureName, Vec<EncodableFeature>>,
2222
pub authors: Vec<String>,
2323
pub description: Option<String>,
2424
pub homepage: Option<String>,
2525
pub documentation: Option<String>,
2626
pub readme: Option<String>,
2727
pub readme_file: Option<String>,
28-
pub keywords: Option<KeywordList>,
29-
pub categories: Option<CategoryList>,
28+
pub keywords: Option<EncodableKeywordList>,
29+
pub categories: Option<EncodableCategoryList>,
3030
pub license: Option<String>,
3131
pub license_file: Option<String>,
3232
pub repository: Option<String>,
@@ -36,38 +36,38 @@ pub struct NewCrate {
3636
}
3737

3838
#[derive(PartialEq, Eq, Hash, Serialize, Debug, Deref)]
39-
pub struct CrateName(pub String);
39+
pub struct EncodableCrateName(pub String);
4040
#[derive(Debug, Deref)]
41-
pub struct CrateVersion(pub semver::Version);
41+
pub struct EncodableCrateVersion(pub semver::Version);
4242
#[derive(Debug, Deref)]
43-
pub struct CrateVersionReq(pub semver::VersionReq);
43+
pub struct EncodableCrateVersionReq(pub semver::VersionReq);
4444
#[derive(Serialize, Debug, Deref)]
45-
pub struct KeywordList(pub Vec<Keyword>);
45+
pub struct EncodableKeywordList(pub Vec<EncodableKeyword>);
4646
#[derive(Serialize, Debug, Deref)]
47-
pub struct Keyword(pub String);
47+
pub struct EncodableKeyword(pub String);
4848
#[derive(Serialize, Debug, Deref)]
49-
pub struct CategoryList(pub Vec<Category>);
49+
pub struct EncodableCategoryList(pub Vec<EncodableCategory>);
5050
#[derive(Serialize, Deserialize, Debug, Deref)]
51-
pub struct Category(pub String);
51+
pub struct EncodableCategory(pub String);
5252
#[derive(Serialize, Debug, Deref)]
53-
pub struct Feature(pub String);
53+
pub struct EncodableFeature(pub String);
5454
#[derive(PartialEq, Eq, Hash, Serialize, Debug, Deref)]
55-
pub struct FeatureName(pub String);
55+
pub struct EncodableFeatureName(pub String);
5656

5757
#[derive(Serialize, Deserialize, Debug)]
58-
pub struct CrateDependency {
58+
pub struct EncodableCrateDependency {
5959
pub optional: bool,
6060
pub default_features: bool,
61-
pub name: CrateName,
62-
pub features: Vec<Feature>,
63-
pub version_req: CrateVersionReq,
61+
pub name: EncodableCrateName,
62+
pub features: Vec<EncodableFeature>,
63+
pub version_req: EncodableCrateVersionReq,
6464
pub target: Option<String>,
6565
pub kind: Option<DependencyKind>,
66-
pub explicit_name_in_toml: Option<CrateName>,
66+
pub explicit_name_in_toml: Option<EncodableCrateName>,
6767
}
6868

69-
impl<'de> Deserialize<'de> for CrateName {
70-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<CrateName, D::Error> {
69+
impl<'de> Deserialize<'de> for EncodableCrateName {
70+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateName, D::Error> {
7171
let s = String::deserialize(d)?;
7272
if !Crate::valid_name(&s) {
7373
let value = de::Unexpected::Str(&s);
@@ -78,12 +78,12 @@ impl<'de> Deserialize<'de> for CrateName {
7878
);
7979
Err(de::Error::invalid_value(value, &expected.as_ref()))
8080
} else {
81-
Ok(CrateName(s))
81+
Ok(EncodableCrateName(s))
8282
}
8383
}
8484
}
8585

86-
impl<T: ?Sized> PartialEq<T> for CrateName
86+
impl<T: ?Sized> PartialEq<T> for EncodableCrateName
8787
where
8888
String: PartialEq<T>,
8989
{
@@ -92,20 +92,20 @@ where
9292
}
9393
}
9494

95-
impl<'de> Deserialize<'de> for Keyword {
96-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Keyword, D::Error> {
95+
impl<'de> Deserialize<'de> for EncodableKeyword {
96+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableKeyword, D::Error> {
9797
let s = String::deserialize(d)?;
9898
if !CrateKeyword::valid_name(&s) {
9999
let value = de::Unexpected::Str(&s);
100100
let expected = "a valid keyword specifier";
101101
Err(de::Error::invalid_value(value, &expected))
102102
} else {
103-
Ok(Keyword(s))
103+
Ok(EncodableKeyword(s))
104104
}
105105
}
106106
}
107107

108-
impl<'de> Deserialize<'de> for FeatureName {
108+
impl<'de> Deserialize<'de> for EncodableFeatureName {
109109
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error> {
110110
let s = String::deserialize(d)?;
111111
if !Crate::valid_feature_name(&s) {
@@ -114,29 +114,29 @@ impl<'de> Deserialize<'de> for FeatureName {
114114
numbers, hyphens, or underscores";
115115
Err(de::Error::invalid_value(value, &expected))
116116
} else {
117-
Ok(FeatureName(s))
117+
Ok(EncodableFeatureName(s))
118118
}
119119
}
120120
}
121121

122-
impl<'de> Deserialize<'de> for Feature {
123-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Feature, D::Error> {
122+
impl<'de> Deserialize<'de> for EncodableFeature {
123+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableFeature, D::Error> {
124124
let s = String::deserialize(d)?;
125125
if !Crate::valid_feature(&s) {
126126
let value = de::Unexpected::Str(&s);
127127
let expected = "a valid feature name";
128128
Err(de::Error::invalid_value(value, &expected))
129129
} else {
130-
Ok(Feature(s))
130+
Ok(EncodableFeature(s))
131131
}
132132
}
133133
}
134134

135-
impl<'de> Deserialize<'de> for CrateVersion {
136-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<CrateVersion, D::Error> {
135+
impl<'de> Deserialize<'de> for EncodableCrateVersion {
136+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateVersion, D::Error> {
137137
let s = String::deserialize(d)?;
138138
match semver::Version::parse(&s) {
139-
Ok(v) => Ok(CrateVersion(v)),
139+
Ok(v) => Ok(EncodableCrateVersion(v)),
140140
Err(..) => {
141141
let value = de::Unexpected::Str(&s);
142142
let expected = "a valid semver";
@@ -146,11 +146,11 @@ impl<'de> Deserialize<'de> for CrateVersion {
146146
}
147147
}
148148

149-
impl<'de> Deserialize<'de> for CrateVersionReq {
150-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<CrateVersionReq, D::Error> {
149+
impl<'de> Deserialize<'de> for EncodableCrateVersionReq {
150+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateVersionReq, D::Error> {
151151
let s = String::deserialize(d)?;
152152
match semver::VersionReq::parse(&s) {
153-
Ok(v) => Ok(CrateVersionReq(v)),
153+
Ok(v) => Ok(EncodableCrateVersionReq(v)),
154154
Err(..) => {
155155
let value = de::Unexpected::Str(&s);
156156
let expected = "a valid version req";
@@ -160,7 +160,7 @@ impl<'de> Deserialize<'de> for CrateVersionReq {
160160
}
161161
}
162162

163-
impl<T: ?Sized> PartialEq<T> for CrateVersionReq
163+
impl<T: ?Sized> PartialEq<T> for EncodableCrateVersionReq
164164
where
165165
semver::VersionReq: PartialEq<T>,
166166
{
@@ -169,9 +169,9 @@ where
169169
}
170170
}
171171

172-
impl<'de> Deserialize<'de> for KeywordList {
173-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<KeywordList, D::Error> {
174-
let inner = <Vec<Keyword> as Deserialize<'de>>::deserialize(d)?;
172+
impl<'de> Deserialize<'de> for EncodableKeywordList {
173+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableKeywordList, D::Error> {
174+
let inner = <Vec<EncodableKeyword> as Deserialize<'de>>::deserialize(d)?;
175175
if inner.len() > 5 {
176176
let expected = "at most 5 keywords per crate";
177177
return Err(de::Error::invalid_length(inner.len(), &expected));
@@ -182,23 +182,23 @@ impl<'de> Deserialize<'de> for KeywordList {
182182
return Err(de::Error::invalid_length(val.len(), &expected));
183183
}
184184
}
185-
Ok(KeywordList(inner))
185+
Ok(EncodableKeywordList(inner))
186186
}
187187
}
188188

189-
impl<'de> Deserialize<'de> for CategoryList {
190-
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<CategoryList, D::Error> {
191-
let inner = <Vec<Category> as Deserialize<'de>>::deserialize(d)?;
189+
impl<'de> Deserialize<'de> for EncodableCategoryList {
190+
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCategoryList, D::Error> {
191+
let inner = <Vec<EncodableCategory> as Deserialize<'de>>::deserialize(d)?;
192192
if inner.len() > 5 {
193193
let expected = "at most 5 categories per crate";
194194
Err(de::Error::invalid_length(inner.len(), &expected))
195195
} else {
196-
Ok(CategoryList(inner))
196+
Ok(EncodableCategoryList(inner))
197197
}
198198
}
199199
}
200200

201-
impl Serialize for CrateVersion {
201+
impl Serialize for EncodableCrateVersion {
202202
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
203203
where
204204
S: Serializer,
@@ -207,7 +207,7 @@ impl Serialize for CrateVersion {
207207
}
208208
}
209209

210-
impl Serialize for CrateVersionReq {
210+
impl Serialize for EncodableCrateVersionReq {
211211
fn serialize<S>(&self, serializer: S) -> Result<S::Ok, S::Error>
212212
where
213213
S: Serializer,
@@ -221,7 +221,7 @@ use diesel::serialize::{self, Output, ToSql};
221221
use diesel::sql_types::Text;
222222
use std::io::Write;
223223

224-
impl ToSql<Text, Pg> for Feature {
224+
impl ToSql<Text, Pg> for EncodableFeature {
225225
fn to_sql<W: Write>(&self, out: &mut Output<'_, W, Pg>) -> serialize::Result {
226226
ToSql::<Text, Pg>::to_sql(&**self, out)
227227
}
@@ -231,10 +231,10 @@ impl ToSql<Text, Pg> for Feature {
231231
fn feature_deserializes_for_valid_features() {
232232
use serde_json as json;
233233

234-
assert!(json::from_str::<Feature>("\"foo\"").is_ok());
235-
assert!(json::from_str::<Feature>("\"\"").is_err());
236-
assert!(json::from_str::<Feature>("\"/\"").is_err());
237-
assert!(json::from_str::<Feature>("\"%/%\"").is_err());
238-
assert!(json::from_str::<Feature>("\"a/a\"").is_ok());
239-
assert!(json::from_str::<Feature>("\"32-column-tables\"").is_ok());
234+
assert!(json::from_str::<EncodableFeature>("\"foo\"").is_ok());
235+
assert!(json::from_str::<EncodableFeature>("\"\"").is_err());
236+
assert!(json::from_str::<EncodableFeature>("\"/\"").is_err());
237+
assert!(json::from_str::<EncodableFeature>("\"%/%\"").is_err());
238+
assert!(json::from_str::<EncodableFeature>("\"a/a\"").is_ok());
239+
assert!(json::from_str::<EncodableFeature>("\"32-column-tables\"").is_ok());
240240
}

src/views/mod.rs

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -210,10 +210,8 @@ pub struct EncodableVersionLinks {
210210
pub authors: String,
211211
}
212212

213-
// TODO: Prefix many of these with `Encodable` then clean up the reexports
214213
pub mod krate_publish;
215-
pub use self::krate_publish::CrateDependency as EncodableCrateDependency;
216-
pub use self::krate_publish::NewCrate as EncodableCrateUpload;
214+
pub use self::krate_publish::{EncodableCrateDependency, EncodableCrateUpload};
217215

218216
#[cfg(test)]
219217
mod tests {

0 commit comments

Comments
 (0)