class GtmOnRails::DataLayer::Object
Attributes
data[RW]
Public Class Methods
new(**args)
click to toggle source
# File lib/gtm_on_rails/models/data_layer/object.rb, line 6 def initialize(**args) @data = args.with_indifferent_access end
Public Instance Methods
add(**hash)
click to toggle source
# File lib/gtm_on_rails/models/data_layer/object.rb, line 10 def add(**hash) @data.merge!(hash) end
as_json(options = nil)
click to toggle source
# File lib/gtm_on_rails/models/data_layer/object.rb, line 14 def as_json(options = nil) @data.as_json(options) end
method_missing(method, *args, &block)
click to toggle source
Calls superclass method
# File lib/gtm_on_rails/models/data_layer/object.rb, line 28 def method_missing(method, *args, &block) if method.to_s.end_with?('=') key = method.to_s.chop.to_sym _method = :[]= _args = [key] + args else key = method _method = :[] _args = [key] end if @data.has_key?(key) @data.send(_method, *_args) else super end end
to_js(options = nil)
click to toggle source
# File lib/gtm_on_rails/models/data_layer/object.rb, line 24 def to_js(options = nil) "dataLayer.push(#{self.to_json(options)});".html_safe end
to_json(options = nil)
click to toggle source
# File lib/gtm_on_rails/models/data_layer/object.rb, line 18 def to_json(options = nil) hash = as_json(options) hash.to_json end