Skip to content

Commit f79a463

Browse files
committed
models::dependency: Move encodable() method to EncodableDependency
1 parent a1ecef8 commit f79a463

File tree

2 files changed

+19
-21
lines changed

2 files changed

+19
-21
lines changed

src/models/dependency.rs

+1-19
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use crate::util::errors::{cargo_err, AppResult};
55

66
use crate::models::{Crate, Version};
77
use crate::schema::*;
8-
use crate::views::{EncodableCrateDependency, EncodableDependency};
8+
use crate::views::EncodableCrateDependency;
99

1010
pub const WILDCARD_ERROR_MESSAGE: &str = "wildcard (`*`) dependency constraints are not allowed \
1111
on crates.io. See https://doc.rust-lang.org/cargo/faq.html#can-\
@@ -49,24 +49,6 @@ pub enum DependencyKind {
4949
// if you add a kind here, be sure to update `from_row` below.
5050
}
5151

52-
impl Dependency {
53-
// `downloads` need only be specified when generating a reverse dependency
54-
pub fn encodable(self, crate_name: &str, downloads: Option<i32>) -> EncodableDependency {
55-
EncodableDependency {
56-
id: self.id,
57-
version_id: self.version_id,
58-
crate_id: crate_name.into(),
59-
req: self.req,
60-
optional: self.optional,
61-
default_features: self.default_features,
62-
features: self.features,
63-
target: self.target,
64-
kind: self.kind,
65-
downloads: downloads.unwrap_or(0),
66-
}
67-
}
68-
}
69-
7052
pub fn add_dependencies(
7153
conn: &PgConnection,
7254
deps: &[EncodableCrateDependency],

src/views.rs

+18-2
Original file line numberDiff line numberDiff line change
@@ -98,12 +98,28 @@ pub struct EncodableDependency {
9898

9999
impl EncodableDependency {
100100
pub fn from_dep(dependency: Dependency, crate_name: &str) -> Self {
101-
dependency.encodable(crate_name, None)
101+
Self::encode(dependency, crate_name, None)
102102
}
103103

104104
pub fn from_reverse_dep(rev_dep: ReverseDependency, crate_name: &str) -> Self {
105105
let dependency = rev_dep.dependency;
106-
dependency.encodable(crate_name, Some(rev_dep.crate_downloads))
106+
Self::encode(dependency, crate_name, Some(rev_dep.crate_downloads))
107+
}
108+
109+
// `downloads` need only be specified when generating a reverse dependency
110+
fn encode(dependency: Dependency, crate_name: &str, downloads: Option<i32>) -> Self {
111+
Self {
112+
id: dependency.id,
113+
version_id: dependency.version_id,
114+
crate_id: crate_name.into(),
115+
req: dependency.req,
116+
optional: dependency.optional,
117+
default_features: dependency.default_features,
118+
features: dependency.features,
119+
target: dependency.target,
120+
kind: dependency.kind,
121+
downloads: downloads.unwrap_or(0),
122+
}
107123
}
108124
}
109125

0 commit comments

Comments
 (0)