Class: VariationModel
- Inherits:
-
Object
- Object
- VariationModel
- Defined in:
- lib/wingify/models/campaign/variation_model.rb
Instance Attribute Summary collapse
-
#end_range_variation ⇒ Object
Returns the value of attribute end_range_variation.
-
#id ⇒ Object
Returns the value of attribute id.
-
#key ⇒ Object
Returns the value of attribute key.
-
#rule_key ⇒ Object
Returns the value of attribute rule_key.
-
#salt ⇒ Object
Returns the value of attribute salt.
-
#segments ⇒ Object
Returns the value of attribute segments.
-
#start_range_variation ⇒ Object
Returns the value of attribute start_range_variation.
-
#type ⇒ Object
Returns the value of attribute type.
-
#variables ⇒ Object
Returns the value of attribute variables.
-
#variations ⇒ Object
Returns the value of attribute variations.
-
#weight ⇒ Object
Returns the value of attribute weight.
Instance Method Summary collapse
- #get_end_range_variation ⇒ Object
- #get_id ⇒ Object
- #get_key ⇒ Object
- #get_rule_key ⇒ Object
- #get_salt ⇒ Object
- #get_segments ⇒ Object
- #get_start_range_variation ⇒ Object
- #get_type ⇒ Object
- #get_variables ⇒ Object
- #get_variations ⇒ Object
- #get_weight ⇒ Object
-
#initialize ⇒ VariationModel
constructor
A new instance of VariationModel.
-
#model_from_dictionary(variation) ⇒ Object
Creates a model instance from a hash (dictionary).
-
#process_variables(variable_list) ⇒ Object
Process variables list.
-
#process_variations(variation_list) ⇒ Object
Process variations list.
- #set_end_range(end_range_variation) ⇒ Object
- #set_start_range(start_range_variation) ⇒ Object
Constructor Details
#initialize ⇒ VariationModel
Returns a new instance of VariationModel.
21 22 23 24 25 26 27 28 29 30 31 32 33 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 21 def initialize @id = nil @key = '' @rule_key = '' @weight = 0 @start_range_variation = 0 @end_range_variation = 0 @variables = [] @variations = [] @segments = {} @type = '' @salt = '' end |
Instance Attribute Details
#end_range_variation ⇒ Object
Returns the value of attribute end_range_variation.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def end_range_variation @end_range_variation end |
#id ⇒ Object
Returns the value of attribute id.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def id @id end |
#key ⇒ Object
Returns the value of attribute key.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def key @key end |
#rule_key ⇒ Object
Returns the value of attribute rule_key.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def rule_key @rule_key end |
#salt ⇒ Object
Returns the value of attribute salt.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def salt @salt end |
#segments ⇒ Object
Returns the value of attribute segments.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def segments @segments end |
#start_range_variation ⇒ Object
Returns the value of attribute start_range_variation.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def start_range_variation @start_range_variation end |
#type ⇒ Object
Returns the value of attribute type.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def type @type end |
#variables ⇒ Object
Returns the value of attribute variables.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def variables @variables end |
#variations ⇒ Object
Returns the value of attribute variations.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def variations @variations end |
#weight ⇒ Object
Returns the value of attribute weight.
18 19 20 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 18 def weight @weight end |
Instance Method Details
#get_end_range_variation ⇒ Object
110 111 112 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 110 def get_end_range_variation @end_range_variation end |
#get_id ⇒ Object
86 87 88 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 86 def get_id @id end |
#get_key ⇒ Object
90 91 92 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 90 def get_key @key end |
#get_rule_key ⇒ Object
94 95 96 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 94 def get_rule_key @rule_key end |
#get_salt ⇒ Object
134 135 136 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 134 def get_salt @salt end |
#get_segments ⇒ Object
126 127 128 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 126 def get_segments @segments end |
#get_start_range_variation ⇒ Object
102 103 104 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 102 def get_start_range_variation @start_range_variation end |
#get_type ⇒ Object
130 131 132 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 130 def get_type @type end |
#get_variables ⇒ Object
118 119 120 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 118 def get_variables @variables end |
#get_variations ⇒ Object
122 123 124 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 122 def get_variations @variations end |
#get_weight ⇒ Object
98 99 100 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 98 def get_weight @weight end |
#model_from_dictionary(variation) ⇒ Object
Creates a model instance from a hash (dictionary)
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 36 def model_from_dictionary(variation) if variation.is_a?(Hash) @id = variation["id"] @key = variation["key"] || variation["name"] @weight = variation["weight"] @rule_key = variation["ruleKey"] @salt = variation["salt"] @type = variation["type"] @start_range_variation = variation["start_range_variation"] @end_range_variation = variation["end_range_variation"] @segments = variation["segments"] if variation["segments"] @variables = process_variables(variation["variables"]) @variations = process_variations(variation["variations"]) elsif variation.is_a?(VariationModel) @id = variation.id @key = variation.key @weight = variation.weight @rule_key = variation.rule_key @salt = variation.salt @type = variation.type @start_range_variation = variation.start_range_variation @end_range_variation = variation.end_range_variation @segments = variation.segments @variables = variation.variables @variations = variation.variations else @id = variation.id @key = variation.key @rule_key = variation.rule_key @salt = variation.salt @type = variation.type @segments = variation.segments @variations = variation.variations end self end |
#process_variables(variable_list) ⇒ Object
Process variables list
75 76 77 78 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 75 def process_variables(variable_list) return [] unless variable_list.is_a?(Array) variable_list.map { |variable| VariableModel.new.model_from_dictionary(variable) } end |
#process_variations(variation_list) ⇒ Object
Process variations list
81 82 83 84 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 81 def process_variations(variation_list) return [] unless variation_list.is_a?(Array) variation_list.map { |variation| VariationModel.new.model_from_dictionary(variation) } end |
#set_end_range(end_range_variation) ⇒ Object
114 115 116 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 114 def set_end_range(end_range_variation) @end_range_variation = end_range_variation end |
#set_start_range(start_range_variation) ⇒ Object
106 107 108 |
# File 'lib/wingify/models/campaign/variation_model.rb', line 106 def set_start_range(start_range_variation) @start_range_variation = start_range_variation end |