1
0
зеркало из https://github.com/glebtv/yookassa.git synced 2026-08-28 15:16:18 +03:00

Fix rubocop issues and browser test CHROME_PATH

Этот коммит содержится в:
Gleb Tv
2026-03-06 17:46:32 +03:00
родитель 04a43ec51d
Коммит b592cff079
38 изменённых файлов: 97 добавлений и 88 удалений

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']

Просмотреть файл

@@ -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>