Проблемы с соглашениями об именах в сервисах - PullRequest
0 голосов
/ 02 октября 2018

Я следую этому руководству , чтобы внедрить сервис платежей Stripe, но я получаю неинициализированную постоянную ошибку.

В статье иногда используется путь без подчеркивания, например paymentgateway, который соответствует классу в случае змеи:

app/services/paymentgateway/stripeclient.rb

class PaymentGateway::StripeClient
  def lookup_customer(identifier: )
    handle_client_error do
      @lookup_customer ||= Stripe::Customer.retreive(identifier)
    end
  end

, а в других случаях используется путь с подчеркиванием, например:

app/services/payment_gateway/client.rb

class PaymentGateway::Client
  attr_accessor :external_client

  def initialize(external_client: PaymentGateway::StripeClient.new)
    @external_client = external_client
  end

Это опечатка в статье?Я не нашел ни одного упоминания в Ruby on Rails Guide о том, как это использовать.Как правильно соблюдать соглашения об именах в этих случаях?

Ответы [ 2 ]

0 голосов
/ 02 октября 2018

Используйте подчеркивание и модули для пространства имен.

предположим, что если ваш путь подобен этому app/services/payment_gateway/stripe_client.rb, то

module PaymentGateway
  class StripeClient
    def lookup_customer(identifier: )
      handle_client_error do
        @lookup_customer ||= Stripe::Customer.retreive(identifier)
      end
    end
  end
end
0 голосов
/ 02 октября 2018

Соглашение заключается в использовании подчеркивания.Правильный путь будет

app/services/payment_gateway/stripe_client.rb
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...