class Privateer::Connection

Public Class Methods

new(options = {}) click to toggle source
# File lib/privateer/connection.rb, line 2
def initialize(options = {})
  raise ArgumentError, 'store_name is required' if options[:store_name].nil?
  raise ArgumentError, 'api_key is required' if options[:api_key].nil?
  raise ArgumentError, 'password is required' if options[:password].nil?

  @store_name = options[:store_name]
  @api_key = options[:api_key]
  @password = options[:password]

  @store_url = "https://#{@api_key}:#{@password}@#{@store_name}.myshopify.com/admin/"

  @connection = Faraday.new(url: @store_url)
end

Public Instance Methods

delete(target, params = {}) click to toggle source
# File lib/privateer/connection.rb, line 28
def delete(target, params = {})
  call(:delete, target, params)
end
get(target, params = {}) click to toggle source
# File lib/privateer/connection.rb, line 16
def get(target, params = {})
  call(:get, target, params)
end
post(target, params = {}) click to toggle source
# File lib/privateer/connection.rb, line 20
def post(target, params = {})
  call(:post, target, params)
end
put(target, params = {}) click to toggle source
# File lib/privateer/connection.rb, line 24
def put(target, params = {})
  call(:put, target, params)
end

Private Instance Methods

call(verb, target, params) click to toggle source
# File lib/privateer/connection.rb, line 33
def call(verb, target, params)
  target += '.json' unless target =~ /\.json$/
  resp = @connection.send(verb, target, params)
  return resp.status, JSON.parse(resp.body), resp
end