Conversation
| module Services::Sms | ||
| class Base | ||
| SMS_PROVIDERS = [ | ||
| KCELL = "Kcell" |
There was a problem hiding this comment.
Лучше убрать лишние пробелы
|
|
||
| SETTINGS = [ | ||
| FALLBACK_PROVIDER_SETTING = "sms_service.fallback_provider", | ||
| DEFAULT_PROVIDER_SETTING = "sms_service.default_provider", |
There was a problem hiding this comment.
Лучше выровнять пробелы
Убрать запятую в последней строке
| provider_klass_for(provider_to_use).new(phone, message) | ||
| end | ||
|
|
||
| attr_accessor :phone, :message, :error_code |
There was a problem hiding this comment.
Лучше перенести на самый верх, чтобы не искать какие аксессоры есть в классе
| end | ||
|
|
||
| # Services::Sms::Base.prepare("+371 20128732", "hello world", "gsm") | ||
| def self.prepare(phone, message, custom_provider=nil) |
There was a problem hiding this comment.
Именованные аргументы, особенно когда nil, чтобы при добавлении нового аргументы не приходилось переделывать все использования метода
There was a problem hiding this comment.
Я бы убрала комментарий, потому что непонятно зачем он нужен, использование метода хорошо понятно из объявления
| # Services::Sms::Base.prepare("+371 20128732", "hello world", "gsm") | ||
| def self.prepare(phone, message, custom_provider=nil) | ||
| provider_to_use = custom_provider.presence || | ||
| PREFERRED_SENDER_FOR[PhoneNumber::CarrierDetective.call(phone: phone)].call |
There was a problem hiding this comment.
PREFERRED_SENDER_FOR не объявлен нигде
There was a problem hiding this comment.
formatted_phone = PhoneNumber::CarrierDetective.call(phone: phone)
provider_to_use = custom_provider.presence || PREFERRED_SENDER_FOR[formatted_phone].call
| end | ||
|
|
||
| def parse_response(response) | ||
| return if !response.body |
There was a problem hiding this comment.
return unless response.body
There was a problem hiding this comment.
|
|
||
| def prepare_params | ||
| { | ||
| "client_message_id": current_uid, |
There was a problem hiding this comment.
Я бы выровняла хеш
There was a problem hiding this comment.
Prefer symbols instead of strings as hash keys.
https://github.com/rubocop-hq/ruby-style-guide#symbols-as-keys
| end | ||
|
|
||
| private | ||
| def current_uid |
There was a problem hiding this comment.
Я бы отделила пустой строкой и убрала отступ вправо в дальнейших объявлениях методов
| http.request(request) | ||
| end | ||
|
|
||
|
|
There was a problem hiding this comment.
Одна пустая строка, видимо, случайно здесь)
| request = Net::HTTP::Post.new(uri.request_uri, headers) | ||
| request.basic_auth(config["username"], config["password"]) | ||
| request.body = params.to_json | ||
| http.request(request) |
There was a problem hiding this comment.
Я бы поиграла выравниваниями и пустыми строками
uri = URI(url)
http = Net::HTTP.new(uri.host)
request = Net::HTTP::Post.new(uri.request_uri, headers)
request.body = params.to_json
request.basic_auth(config["username"], config["password"])
http.request(request)
No description provided.