aboutsummaryrefslogtreecommitdiffhomepage
path: root/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/shirabe/src/dependency_resolver/operation/update_operation.rs')
-rw-r--r--crates/shirabe/src/dependency_resolver/operation/update_operation.rs33
1 files changed, 9 insertions, 24 deletions
diff --git a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
index 76b17189..a06a9cdc 100644
--- a/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
+++ b/crates/shirabe/src/dependency_resolver/operation/update_operation.rs
@@ -1,11 +1,10 @@
//! ref: composer/src/Composer/DependencyResolver/Operation/UpdateOperation.php
-use crate::dependency_resolver::operation::OperationInterface;
use crate::dependency_resolver::operation::SolverOperation;
use crate::package::PackageInterfaceHandle;
use crate::package::version::VersionParser;
-#[derive(Debug)]
+#[derive(Debug, Clone)]
pub struct UpdateOperation {
pub(crate) initial_package: PackageInterfaceHandle,
pub(crate) target_package: PackageInterfaceHandle,
@@ -27,6 +26,14 @@ impl UpdateOperation {
self.target_package.clone()
}
+ pub fn show(&self, lock: bool) -> String {
+ Self::format(
+ self.initial_package.clone(),
+ self.target_package.clone(),
+ lock,
+ )
+ }
+
pub fn format(
initial_package: PackageInterfaceHandle,
target_package: PackageInterfaceHandle,
@@ -78,28 +85,6 @@ impl SolverOperation for UpdateOperation {
const TYPE: &'static str = "update";
}
-impl OperationInterface for UpdateOperation {
- fn as_any(&self) -> &dyn std::any::Any {
- self
- }
-
- fn get_operation_type(&self) -> String {
- Self::TYPE.to_string()
- }
-
- fn show(&self, lock: bool) -> String {
- Self::format(
- self.initial_package.clone(),
- self.target_package.clone(),
- lock,
- )
- }
-
- fn as_update_operation(&self) -> Option<&UpdateOperation> {
- Some(self)
- }
-}
-
impl std::fmt::Display for UpdateOperation {
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
write!(f, "{}", self.show(false))