Sha256: e55b1a17892637db8f95a2887f167d08a3eea142d4d258069e1b2cd7c5787b24

Contents?: true

Size: 1.7 KB

Versions: 131

Compression:

Stored size: 1.7 KB

Contents

module ForestLiana
  class IntercomAttributeSerializer
    include ForestAdmin::JSONAPI::Serializer

    attribute :session_count
    attribute :last_seen_ip

    attribute :created_at do
      object.created_at.try(:utc).try(:iso8601)
    end

    attribute :updated_at do
      object.updated_at.try(:utc).try(:iso8601)
    end

    attribute :signed_up_at do
      object.signed_up_at.try(:utc).try(:iso8601)
    end

    attribute :last_request_at do
      object.last_request_at.try(:utc).try(:iso8601)
    end

    attribute :country do
      object.location_data.try(:country_name)
    end

    attribute :city do
      object.location_data.try(:city_name)
    end

    attribute :user_agent do
      object.user_agent_data
    end

    attribute :companies do
      object.companies.map(&:name)
    end

    attribute :segments do
      object.segments.map(&:name)
    end

    attribute :tags do
      object.tags.map(&:name)
    end

    attribute :browser do
      useragent = UserAgent.parse(object.user_agent_data)
      "#{useragent.try(:browser)} #{useragent.try(:version)}"
    end

    attribute :platform do
      UserAgent.parse(object.user_agent_data).try(:platform)
    end

    attribute :geoloc do
      [object.location_data.try(:latitude), object.location_data.try(:longitude)]
    end

    def self_link
      "/forest#{super}"
    end

    def type
      @options[:context][:type] || 'intercom-attributes'
    end

    def format_name(attribute_name)
      attribute_name.to_s
    end

    def unformat_name(attribute_name)
      attribute_name.to_s.underscore
    end

    def relationship_self_link(attribute_name)
      nil
    end

    def relationship_related_link(attribute_name)
      nil
    end
  end
end

Version data entries

131 entries across 131 versions & 1 rubygems

Version Path
forest_liana-9.11.1 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.11.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.6 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.5 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.4 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.3 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.2 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.1 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.10.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.9.1 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.9.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.8.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.7.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.6.4 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.6.3 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.6.0 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.5.7 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.5.6 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.5.5 app/serializers/forest_liana/intercom_attribute_serializer.rb
forest_liana-9.5.4 app/serializers/forest_liana/intercom_attribute_serializer.rb