Sha256: 860029314b4af6c73ef4f2e48f06e9498daab0335a35808c0f598440c6c18f1f

Contents?: true

Size: 905 Bytes

Versions: 2

Compression:

Stored size: 905 Bytes

Contents

require 'mopidy/version'
require 'mopidy/library'
require 'mopidy/playback'
require 'mopidy/playlist'
require 'mopidy/tracklist'
require 'json'
require 'httparty'

module Mopidy
  class << self
    attr_accessor :configuration
  end

  def self.configure
    self.configuration ||= Configuration.new
    yield configuration
  end

  class Configuration
    attr_accessor :mopidy_url

    def initialize
      @mopidy_url ||= 'http://localhost:6680/mopidy/rpc'
    end
  end

  def self.format_json(id, method, params = {})
    {
      'jsonrpc': '2.0',
      'id': id,
      'method': method,
      'params': params
    }.to_json
  end

  def self.post(body)
    post = HTTParty.post(
      configuration.mopidy_url,
      body: body,
      headers: {
        'Content-Type' => 'application/json'
      }
    )
    result = post.parsed_response['result']
    return {} if result.nil?
    result
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mopidy-0.1.1 lib/mopidy.rb
mopidy-0.1.0 lib/mopidy.rb