class Stripe::Customer

def add_invoice_item(params, opts = {})

def add_invoice_item(params, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  InvoiceItem.create(params.merge(customer: id), opts)
end

def cancel_subscription(params = {}, opts = {})

def cancel_subscription(params = {}, opts = {})
  resp, opts = request(:delete, subscription_url, params, opts)
  initialize_from({ subscription: resp.data }, opts, true)
  subscription
end

def charges(params = {}, opts = {})

def charges(params = {}, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  Charge.all(params.merge(customer: id), opts)
end

def create_subscription(params = {}, opts = {})

def create_subscription(params = {}, opts = {})
  resp, opts = request(:post, subscriptions_url, params, opts)
  initialize_from({ subscription: resp.data }, opts, true)
  subscription
end

def create_upcoming_invoice(params = {}, opts = {})

def create_upcoming_invoice(params = {}, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  Invoice.create(params.merge(customer: id), opts)
end

def delete_discount

def delete_discount
  _, opts = request(:delete, discount_url)
  initialize_from({ discount: nil }, opts, true)
end

def discount_url

def discount_url
ce_url + "/discount"

def invoice_items(params = {}, opts = {})

def invoice_items(params = {}, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  InvoiceItem.all(params.merge(customer: id), opts)
end

def invoices(params = {}, opts = {})

def invoices(params = {}, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  Invoice.all(params.merge(customer: id), opts)
end

def subscription_url

def subscription_url
ce_url + "/subscription"

def subscriptions_url

def subscriptions_url
ce_url + "/subscriptions"

def upcoming_invoice(params = {}, opts = {})

def upcoming_invoice(params = {}, opts = {})
  opts = @opts.merge(Util.normalize_opts(opts))
  Invoice.upcoming(params.merge(customer: id), opts)
end

def update_subscription(params = {}, opts = {})

def update_subscription(params = {}, opts = {})
  resp, opts = request(:post, subscription_url, params, opts)
  initialize_from({ subscription: resp.data }, opts, true)
  subscription
end