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

Adding simplest configurator. No usage of creds right now

Этот коммит содержится в:
Ivan Shamatov
2021-10-29 00:02:23 +03:00
родитель b6bbdadd4c
Коммит cb7ec675e5
6 изменённых файлов: 62 добавлений и 0 удалений

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 Исполняемый файл
Просмотреть файл

@@ -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/refund"
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 Обычный файл
Просмотреть файл

@@ -0,0 +1,7 @@
# frozen_string_literal: true
module Yookassa
class Config
attr_accessor :shop_id, :api_key
end
end

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
expect(Yookassa::VERSION).not_to be nil
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