зеркало из
https://github.com/glebtv/yookassa.git
synced 2026-09-07 19:35:51 +03:00
Merge pull request #6 from PaymentInstruments/configurator
Adding configurator
Этот коммит содержится в:
13
bin/console
Исполняемый файл
13
bin/console
Исполняемый файл
@@ -0,0 +1,13 @@
|
|||||||
|
#!/usr/bin/env ruby
|
||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
require "bundler/setup"
|
||||||
|
require "yookassa"
|
||||||
|
|
||||||
|
begin
|
||||||
|
require "pry-byebug"
|
||||||
|
Pry.start
|
||||||
|
rescue LoadError
|
||||||
|
require "irb"
|
||||||
|
IRB.start
|
||||||
|
end
|
||||||
8
bin/setup
Исполняемый файл
8
bin/setup
Исполняемый файл
@@ -0,0 +1,8 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
set -euo pipefail
|
||||||
|
IFS=$'\n\t'
|
||||||
|
set -vx
|
||||||
|
|
||||||
|
bundle install
|
||||||
|
|
||||||
|
# Do any other automated setup that you need to do here
|
||||||
@@ -11,3 +11,14 @@ require "yookassa/optional"
|
|||||||
require "yookassa/entity/payment"
|
require "yookassa/entity/payment"
|
||||||
require "yookassa/entity/refund"
|
require "yookassa/entity/refund"
|
||||||
require "yookassa/error"
|
require "yookassa/error"
|
||||||
|
require "yookassa/config"
|
||||||
|
|
||||||
|
module Yookassa
|
||||||
|
def self.configure
|
||||||
|
yield(config)
|
||||||
|
end
|
||||||
|
|
||||||
|
def self.config
|
||||||
|
@config ||= Config.new
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|||||||
7
lib/yookassa/config.rb
Обычный файл
7
lib/yookassa/config.rb
Обычный файл
@@ -0,0 +1,7 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Yookassa
|
||||||
|
class Config
|
||||||
|
attr_accessor :shop_id, :api_key
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
module Yookassa
|
module Yookassa
|
||||||
class Payment < Evil::Client
|
class Payment < Evil::Client
|
||||||
option :shop_id, proc(&:to_s)
|
option :shop_id, proc(&:to_s), default: proc { Yookassa.config.shop_id }
|
||||||
option :api_key, proc(&:to_s)
|
option :api_key, proc(&:to_s), default: proc { Yookassa.config.api_key }
|
||||||
|
|
||||||
path { "https://api.yookassa.ru/v3/payments" }
|
path { "https://api.yookassa.ru/v3/payments" }
|
||||||
security { basic_auth shop_id, api_key }
|
security { basic_auth shop_id, api_key }
|
||||||
|
|||||||
@@ -2,8 +2,8 @@
|
|||||||
|
|
||||||
module Yookassa
|
module Yookassa
|
||||||
class Refund < Evil::Client
|
class Refund < Evil::Client
|
||||||
option :shop_id, proc(&:to_s)
|
option :shop_id, proc(&:to_s), default: proc { Yookassa.config.shop_id }
|
||||||
option :api_key, proc(&:to_s)
|
option :api_key, proc(&:to_s), default: proc { Yookassa.config.api_key }
|
||||||
|
|
||||||
path { "https://api.yookassa.ru/v3/refunds" }
|
path { "https://api.yookassa.ru/v3/refunds" }
|
||||||
security { basic_auth shop_id, api_key }
|
security { basic_auth shop_id, api_key }
|
||||||
|
|||||||
9
spec/yookassa/config_spec.rb
Обычный файл
9
spec/yookassa/config_spec.rb
Обычный файл
@@ -0,0 +1,9 @@
|
|||||||
|
# frozen_string_literal: true
|
||||||
|
|
||||||
|
module Yookassa
|
||||||
|
RSpec.describe Config do
|
||||||
|
subject { described_class.new }
|
||||||
|
it { is_expected.to respond_to(:shop_id) }
|
||||||
|
it { is_expected.to respond_to(:api_key) }
|
||||||
|
end
|
||||||
|
end
|
||||||
@@ -4,4 +4,18 @@ RSpec.describe Yookassa do
|
|||||||
it "has a version number" do
|
it "has a version number" do
|
||||||
expect(Yookassa::VERSION).not_to be nil
|
expect(Yookassa::VERSION).not_to be nil
|
||||||
end
|
end
|
||||||
|
|
||||||
|
describe ".configure" do
|
||||||
|
before do
|
||||||
|
Yookassa.configure do |config|
|
||||||
|
config.shop_id = 123
|
||||||
|
config.api_key = "test_321"
|
||||||
|
end
|
||||||
|
end
|
||||||
|
|
||||||
|
it "stores settings and provides access to credentials" do
|
||||||
|
expect(Yookassa.config.shop_id).to eq(123)
|
||||||
|
expect(Yookassa.config.api_key).to eq("test_321")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user