Sha256: 4e63db7fd35134233437e61a1ea189741ad2e426fe30e1806c7d792f6541ec3f
Contents?: true
Size: 942 Bytes
Versions: 3
Compression:
Stored size: 942 Bytes
Contents
# frozen_string_literal: true require 'faraday' require 'faraday_middleware' require 'apple_music/config' module AppleMusic class ApiError < StandardError; end class ParameterMissing < StandardError; end API_URI = 'https://api.music.apple.com/v1/' class << self def config @config ||= Config.new end def configure(&block) block.call(config) end private def client @client ||= Faraday.new(API_URI) do |conn| conn.response :json, content_type: /\bjson\z/ conn.headers['Authorization'] = "Bearer #{config.authentication_token}" conn.adapter config.adapter end end def method_missing(name, *args, &block) if client.respond_to?(name) client.send(name, *args, &block) else super end end def respond_to_missing?(name, include_private = false) client.respond_to?(name, include_private) end end end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
apple_music-0.3.1 | lib/apple_music/connection.rb |
apple_music-0.3.0 | lib/apple_music/connection.rb |
apple_music-0.2.0 | lib/apple_music/connection.rb |