Class: GtmOnRails::DataLayer::Ecommerce::Impression
- Defined in:
- lib/gtm_on_rails/models/data_layer/ecommerce/impression.rb
Instance Attribute Summary
Attributes inherited from Object
Instance Method Summary collapse
-
#initialize(**args) ⇒ Impression
constructor
A new instance of Impression.
- #to_js ⇒ Object
Methods inherited from Object
#add, #as_json, #method_missing, #to_json
Constructor Details
#initialize(**args) ⇒ Impression
Returns a new instance of Impression.
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'lib/gtm_on_rails/models/data_layer/ecommerce/impression.rb', line 4 def initialize(**args) raise ArgumentError.new("required either 'id' or 'name', or both.") if args[:id].blank? && args[:name].blank? @data = {} @data[:id] = args[:id] if args[:id].present? @data[:name] = args[:name] if args[:name].present? @data[:list] = args[:list] if args[:list].present? @data[:brand] = args[:brand] if args[:brand].present? @data[:variant] = args[:variant] if args[:variant].present? @data[:position] = args[:position] if args[:position].present? @data[:price] = args[:price] if args[:price].present? if args[:category].present? if args[:category].is_a?(Array) @data[:category] = args[:category].join('/') else @data[:category] = args[:category] end end end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class GtmOnRails::DataLayer::Object
Instance Method Details
#to_js ⇒ Object
25 26 27 |
# File 'lib/gtm_on_rails/models/data_layer/ecommerce/impression.rb', line 25 def to_js to_json end |