class Itly::Plugin::Iteratively::TrackModel
Data model for HTTP client buffering
Attributes
date_sent[R]
event_id[R]
event_name[R]
event_schema_version[R]
properties[R]
type[R]
valid[R]
validation[R]
Public Class Methods
new(type:, event:, properties:, validation: nil, omit_values: false)
click to toggle source
# File lib/itly/plugin/iteratively/track_model.rb, line 17 def initialize(type:, event:, properties:, validation: nil, omit_values: false) @omit_values = omit_values @type = type @date_sent = Time.now.utc.iso8601 @event_id = event&.id @event_schema_version = event&.version @event_name = event&.name @properties = event&.properties || properties @valid = validation ? validation.valid : true @validation = { details: validation ? validation.message : '' } @properties = @properties.transform_values { |_| '' } if @omit_values end
Public Instance Methods
to_json(*_)
click to toggle source
# File lib/itly/plugin/iteratively/track_model.rb, line 31 def to_json(*_) { type: @type, dateSent: @date_sent, eventId: @event_id, eventSchemaVersion: @event_schema_version, eventName: @event_name, properties: @properties, valid: @valid, validation: @validation }.to_json end
to_s()
click to toggle source
# File lib/itly/plugin/iteratively/track_model.rb, line 44 def to_s "#<#{self.class.name}: type: #{@type} date_sent: #{@date_sent} event_id: #{@event_id} "\ "event_schema_version: #{@event_schema_version} event_name: #{@event_name} "\ "properties: #{@properties} valid: #{@valid} validation: #{@validation}>" end