зеркало из
https://github.com/glebtv/yookassa.git
synced 2026-08-28 15:16:18 +03:00
Fix rubocop issues and browser test CHROME_PATH
Этот коммит содержится в:
3
.github/workflows/main.yml
поставляемый
3
.github/workflows/main.yml
поставляемый
@@ -30,6 +30,9 @@ jobs:
|
||||
browser-tests:
|
||||
runs-on: ubuntu-latest
|
||||
|
||||
env:
|
||||
CHROME_PATH: /usr/bin/google-chrome
|
||||
|
||||
steps:
|
||||
- uses: actions/checkout@v4
|
||||
- name: Set up Ruby
|
||||
|
||||
@@ -17,4 +17,4 @@ Layout/LineLength:
|
||||
Max: 150
|
||||
|
||||
Metrics/BlockLength:
|
||||
IgnoredMethods: ['describe', 'context', 'shared_examples']
|
||||
AllowedMethods: ['describe', 'context', 'shared_examples']
|
||||
|
||||
4
Gemfile
4
Gemfile
@@ -18,14 +18,14 @@ group :development, :test do
|
||||
gem "cuprite", "~> 0.15"
|
||||
gem "pry"
|
||||
gem "pry-byebug", "~> 3.10"
|
||||
gem "rake", "~> 13.0"
|
||||
gem "rack-test", "~> 2.1"
|
||||
gem "rails", "~> 8.0"
|
||||
gem "rake", "~> 13.0"
|
||||
gem "rspec", "~> 3.13"
|
||||
gem "sqlite3", "~> 2.0"
|
||||
gem "rubocop", "~> 1.60"
|
||||
gem "rubocop-rake", "~> 0.7"
|
||||
gem "rubocop-rspec", "~> 2.31"
|
||||
gem "simplecov", "~> 0.22"
|
||||
gem "sqlite3", "~> 2.0"
|
||||
gem "webmock", "~> 3.23"
|
||||
end
|
||||
|
||||
@@ -54,7 +54,7 @@ module Yookassa
|
||||
end
|
||||
|
||||
def payload_matches_api_object?(payload)
|
||||
object = payload["object"] || payload.dig("data", "object")
|
||||
object = extract_object(payload)
|
||||
return false unless object.is_a?(Hash)
|
||||
|
||||
object_id = object["id"].to_s
|
||||
@@ -69,6 +69,10 @@ module Yookassa
|
||||
false
|
||||
end
|
||||
|
||||
def extract_object(payload)
|
||||
payload["object"] || payload.dig("data", "object")
|
||||
end
|
||||
|
||||
def fetch_object_from_api(payload, object_id)
|
||||
event_name = payload["event"].to_s
|
||||
event_name = payload["type"].to_s if event_name.empty?
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
Yookassa::Engine.routes.draw do
|
||||
post "/webhooks/:token", to: "webhooks#create"
|
||||
end
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require "http"
|
||||
require_relative "./entity/error"
|
||||
require_relative "entity/error"
|
||||
|
||||
module Yookassa
|
||||
class Client
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/deal"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/deal"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Deals < Client
|
||||
@@ -13,7 +13,7 @@ module Yookassa
|
||||
|
||||
def create(payload:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("deals", payload: payload, idempotency_key: idempotency_key)
|
||||
Entity::Deal.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Deal.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def list
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./payment"
|
||||
require_relative "./receipt"
|
||||
require_relative "./refund"
|
||||
require_relative "./webhook"
|
||||
require_relative "./deal"
|
||||
require_relative "types"
|
||||
require_relative "payment"
|
||||
require_relative "receipt"
|
||||
require_relative "refund"
|
||||
require_relative "webhook"
|
||||
require_relative "deal"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,13 +1,13 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "./payment_methods"
|
||||
require_relative "./confirmation"
|
||||
require_relative "./recipient"
|
||||
require_relative "./cancellation_details"
|
||||
require_relative "./authorization_details"
|
||||
require_relative "./transfer"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
require_relative "payment_methods"
|
||||
require_relative "confirmation"
|
||||
require_relative "recipient"
|
||||
require_relative "cancellation_details"
|
||||
require_relative "authorization_details"
|
||||
require_relative "transfer"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./card"
|
||||
require_relative "types"
|
||||
require_relative "card"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./customer"
|
||||
require_relative "./product"
|
||||
require_relative "types"
|
||||
require_relative "customer"
|
||||
require_relative "product"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "./payout_destinations"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
require_relative "payout_destinations"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./card"
|
||||
require_relative "types"
|
||||
require_relative "card"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "./supplier"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
require_relative "supplier"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./customer"
|
||||
require_relative "./product"
|
||||
require_relative "./settlement"
|
||||
require_relative "types"
|
||||
require_relative "customer"
|
||||
require_relative "product"
|
||||
require_relative "settlement"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "./source"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
require_relative "source"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "./amount"
|
||||
require_relative "types"
|
||||
require_relative "amount"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./types"
|
||||
require_relative "types"
|
||||
|
||||
module Yookassa
|
||||
module Entity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/payment"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/payment"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Payments < Client
|
||||
@@ -13,17 +13,17 @@ module Yookassa
|
||||
|
||||
def create(payment:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("payments", payload: payment, idempotency_key: idempotency_key)
|
||||
Entity::Payment.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Payment.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def capture(payment_id:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("payments/#{payment_id}/capture", idempotency_key: idempotency_key)
|
||||
Entity::Payment.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Payment.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def cancel(payment_id:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("payments/#{payment_id}/cancel", idempotency_key: idempotency_key)
|
||||
Entity::Payment.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Payment.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def list(filters: {})
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/payout"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/payout"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Payouts < Client
|
||||
@@ -13,7 +13,7 @@ module Yookassa
|
||||
|
||||
def create(payload:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("payouts", payload: payload, idempotency_key: idempotency_key)
|
||||
Entity::Payout.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Payout.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/receipt"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/receipt"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Receipts < Client
|
||||
@@ -13,7 +13,7 @@ module Yookassa
|
||||
|
||||
def create(payload:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("receipts", payload: payload, idempotency_key: idempotency_key)
|
||||
Entity::Receipt.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Receipt.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def list(filters: {})
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/refund"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/refund"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Refunds < Client
|
||||
@@ -13,7 +13,7 @@ module Yookassa
|
||||
|
||||
def create(payload:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("refunds", payload: payload, idempotency_key: idempotency_key)
|
||||
Entity::Refund.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Refund.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def list(filters: {})
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/store_info"
|
||||
require_relative "client"
|
||||
require_relative "entity/store_info"
|
||||
|
||||
module Yookassa
|
||||
class Stores < Client
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
require_relative "./client"
|
||||
require_relative "./entity/webhook"
|
||||
require_relative "./entity/collection"
|
||||
require_relative "client"
|
||||
require_relative "entity/webhook"
|
||||
require_relative "entity/collection"
|
||||
|
||||
module Yookassa
|
||||
class Webhooks < Client
|
||||
def create(payload:, idempotency_key: SecureRandom.hex(10))
|
||||
data = post("webhooks", payload: payload, idempotency_key: idempotency_key)
|
||||
Entity::Webhook.new(**data.merge(idempotency_key: idempotency_key))
|
||||
Entity::Webhook.new(**data, idempotency_key: idempotency_key)
|
||||
end
|
||||
|
||||
def list
|
||||
@@ -16,7 +16,7 @@ module Yookassa
|
||||
Entity::WebhookCollection.new(**data)
|
||||
end
|
||||
|
||||
def delete(webhook_id:)
|
||||
def delete(webhook_id:) # rubocop:disable Naming/PredicateMethod
|
||||
delete("webhooks/#{webhook_id}")
|
||||
true
|
||||
end
|
||||
|
||||
@@ -17,7 +17,7 @@ if defined?(Rails)
|
||||
require File.expand_path("../../app/controllers/yookassa/webhooks_controller", __dir__)
|
||||
|
||||
class YookassaSpecBrowserController < ActionController::Base
|
||||
def index
|
||||
def index # rubocop:disable Metrics/MethodLength
|
||||
render inline: <<~HTML
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
|
||||
Ссылка в новой задаче
Block a user