Sha256: cc5cfec7836d029c246da373fe8c65310ad97df051f3ce45a7c81b74c810e0ca

Contents?: true

Size: 696 Bytes

Versions: 1

Compression:

Stored size: 696 Bytes

Contents

module Chronicle
  module Spotify
    class LikeTransformer < Chronicle::ETL::Transformer
      include Chronicle::Spotify::Builders

      register_connector do |r|
        r.provider = 'spotify'
        r.description = 'a spotify track'
        r.identifier = 'like'
      end

      def transform
        build_liked(
          timestamp: timestamp,
          object: object,
          actor: @extraction.meta[:actor]
        )
      end

      def id
        object[:id]
      end

      def timestamp
        Time.parse(@extraction.data[:added_at])
      end

      private

      def object
        @object = @extraction.data[:track] || @extraction.data[:album]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
chronicle-spotify-0.1.0 lib/chronicle/spotify/like_transformer.rb