Class: RailsDrips::CompareDefinition
- Inherits:
-
Object
- Object
- RailsDrips::CompareDefinition
- Defined in:
- app/services/rails_drips/compare_definition.rb
Constant Summary collapse
- EXECUTABLE_FIELDS =
%w[position name kind delay_amount delay_unit email_key email_category data].freeze
Class Method Summary collapse
Class Method Details
.fingerprint_definition(definition) ⇒ Object
9 10 11 12 13 14 |
# File 'app/services/rails_drips/compare_definition.rb', line 9 def self.fingerprint_definition(definition) steps = definition.fetch("campaign").fetch("steps").map do |step| EXECUTABLE_FIELDS.to_h { |field| [field, step[field]] } end JSON.generate(steps.sort_by { |step| step["position"] }) end |
.fingerprint_version(version) ⇒ Object
16 17 18 19 20 21 22 23 24 25 26 |
# File 'app/services/rails_drips/compare_definition.rb', line 16 def self.fingerprint_version(version) steps = version.steps.order(:position).map do |step| { "position" => step.position, "name" => step.name, "kind" => step.kind, "delay_amount" => step.delay_amount, "delay_unit" => step.delay_unit, "email_key" => step.email_key, "email_category" => step.email_category, "data" => step.data_value.presence } end JSON.generate(steps) end |