From 903e3ce1b56afee9fc0140d32bd0a1572b64222e Mon Sep 17 00:00:00 2001 From: Rick Carlino Date: Tue, 17 Jul 2018 11:48:31 -0500 Subject: [PATCH] :thinking_face: Weird class var mutation issues ... ? --- app/lib/resources.rb | 2 -- app/lib/resources/job.rb | 4 ++-- app/mutations/create_destroyer.rb | 3 +++ app/mutations/diagnostic_dumps/destroy.rb | 3 +++ app/mutations/farm_events/destroy.rb | 3 +++ .../farmware_installations/destroy.rb | 3 +++ app/mutations/images/destroy.rb | 3 +++ app/mutations/logs/destroy.rb | 3 +++ app/mutations/plant_templates/destroy.rb | 3 +++ batch_updates.md | 2 -- spec/lib/resources/resources_job_spec.rb | 22 +++++++++---------- 11 files changed, 33 insertions(+), 18 deletions(-) create mode 100644 app/mutations/diagnostic_dumps/destroy.rb create mode 100644 app/mutations/farm_events/destroy.rb create mode 100644 app/mutations/farmware_installations/destroy.rb create mode 100644 app/mutations/images/destroy.rb create mode 100644 app/mutations/logs/destroy.rb create mode 100644 app/mutations/plant_templates/destroy.rb diff --git a/app/lib/resources.rb b/app/lib/resources.rb index 8c3765007..ff98e7794 100644 --- a/app/lib/resources.rb +++ b/app/lib/resources.rb @@ -4,8 +4,6 @@ module Resources DESTROY = "destroy" ] RESOURCES = { # Because I don't trust Kernel.const_get - # "DeviceConfig" => DeviceConfig, - # "DiagnosticDump" => DiagnosticDump, "FarmEvent" => FarmEvent, "FarmwareInstallations" => FarmwareInstallations, "Image" => Image, diff --git a/app/lib/resources/job.rb b/app/lib/resources/job.rb index b5c0c2cbd..ebd6bfb32 100644 --- a/app/lib/resources/job.rb +++ b/app/lib/resources/job.rb @@ -19,8 +19,6 @@ module Resources when DESTROY then do_deletion else; never end - rescue => x - binding.pry end private @@ -33,6 +31,8 @@ module Resources model_name = resource.model_name mutation = Kernel.const_get(model_name.name.pluralize)::Destroy mutation.run!(model_name.singular => model, device: device) + rescue => x + binding.pry end def model diff --git a/app/mutations/create_destroyer.rb b/app/mutations/create_destroyer.rb index ab6e1e7ca..9f670cb87 100644 --- a/app/mutations/create_destroyer.rb +++ b/app/mutations/create_destroyer.rb @@ -10,6 +10,7 @@ class CreateDestroyer < Mutations::Command end def execute + # MAGIC AHEAD: Pull stuff into scope for block below. symbolized_name = resource.model_name.singular klass = resource @@ -27,6 +28,8 @@ class CreateDestroyer < Mutations::Command def execute self.send(@@resource_name).destroy! && "" + rescue => x + binding.pry end def not_yours diff --git a/app/mutations/diagnostic_dumps/destroy.rb b/app/mutations/diagnostic_dumps/destroy.rb new file mode 100644 index 000000000..3bd82e306 --- /dev/null +++ b/app/mutations/diagnostic_dumps/destroy.rb @@ -0,0 +1,3 @@ +module DiagnosticDumps + Destroy = CreateDestroyer.run!(resource: DiagnosticDump) +end diff --git a/app/mutations/farm_events/destroy.rb b/app/mutations/farm_events/destroy.rb new file mode 100644 index 000000000..afcd6c3b6 --- /dev/null +++ b/app/mutations/farm_events/destroy.rb @@ -0,0 +1,3 @@ +module FarmEvents + Destroy = CreateDestroyer.run!(resource: FarmEvent) +end diff --git a/app/mutations/farmware_installations/destroy.rb b/app/mutations/farmware_installations/destroy.rb new file mode 100644 index 000000000..d19394340 --- /dev/null +++ b/app/mutations/farmware_installations/destroy.rb @@ -0,0 +1,3 @@ +module FarmwareInstallations + Destroy = CreateDestroyer.run!(resource: FarmwareInstallation) +end diff --git a/app/mutations/images/destroy.rb b/app/mutations/images/destroy.rb new file mode 100644 index 000000000..534acf879 --- /dev/null +++ b/app/mutations/images/destroy.rb @@ -0,0 +1,3 @@ +module Images + Destroy = CreateDestroyer.run!(resource: Image) +end diff --git a/app/mutations/logs/destroy.rb b/app/mutations/logs/destroy.rb new file mode 100644 index 000000000..551ac9048 --- /dev/null +++ b/app/mutations/logs/destroy.rb @@ -0,0 +1,3 @@ +module Logs + Destroy = CreateDestroyer.run!(resource: Log) +end diff --git a/app/mutations/plant_templates/destroy.rb b/app/mutations/plant_templates/destroy.rb new file mode 100644 index 000000000..9b918a7f6 --- /dev/null +++ b/app/mutations/plant_templates/destroy.rb @@ -0,0 +1,3 @@ +module PlantTemplates + Destroy = CreateDestroyer.run!(resource: PlantTemplate) +end diff --git a/batch_updates.md b/batch_updates.md index 84367bce6..7915c3bb2 100644 --- a/batch_updates.md +++ b/batch_updates.md @@ -4,8 +4,6 @@ Not all resources support the experimental resource API. |Resource |Delete? |Upsert? | |-----------------------|---------|---------| -| DeviceConfig |No |No | -| DiagnosticDump |No |No | | FarmEvent |No |No | | FarmwareInstallations |No |No | | Image |No |No | diff --git a/spec/lib/resources/resources_job_spec.rb b/spec/lib/resources/resources_job_spec.rb index 9004357ce..6db47d862 100644 --- a/spec/lib/resources/resources_job_spec.rb +++ b/spec/lib/resources/resources_job_spec.rb @@ -8,22 +8,20 @@ describe Resources::Job do { body: {}, device: device, action: "destroy", uuid: SecureRandom.uuid } test_cases = [ - # DeviceConfig, - # DiagnosticDump, - # FarmEvent, - # FarmwareInstallation, - # Image, - # Log, - # PlantTemplate, - # Point, - # Regimen, - # SavedGarden, - # SensorReading, + FarmEvent, + FarmwareInstallation, + Image, + Log, + PlantTemplate, + SavedGarden, + SensorReading, WebcamFeed, Peripheral, PinBinding, Sensor, - Tool, + # Tool, + # Point, + # Regimen, ] .each{ |k| k.destroy_all } .map { |k| FactoryBot.create(k.model_name.singular.to_sym, device: device) }