Module: BluepanClient

Defined in:
lib/bluepan_client.rb,
lib/bluepan_client/client.rb,
lib/bluepan_client/version.rb,
lib/bluepan_client/models/city.rb,
lib/bluepan_client/models/province.rb,
lib/bluepan_client/models/strategy.rb,
lib/bluepan_client/indifferent_hash.rb,
lib/bluepan_client/models/recipient.rb,
lib/bluepan_client/models/remittance.rb,
lib/bluepan_client/schemas/base_schema.rb,
lib/bluepan_client/services/apply_vars.rb,
lib/bluepan_client/services/guard_null.rb,
lib/bluepan_client/models/exchange_rate.rb,
lib/bluepan_client/requests/base_request.rb,
lib/bluepan_client/schemas/client_schema.rb,
lib/bluepan_client/responses/base_response.rb,
lib/bluepan_client/requests/get_cities_request.rb,
lib/bluepan_client/responses/recipient_response.rb,
lib/bluepan_client/schemas/get_recipient_schema.rb,
lib/bluepan_client/responses/get_cities_response.rb,
lib/bluepan_client/requests/get_provinces_request.rb,
lib/bluepan_client/requests/get_recipient_request.rb,
lib/bluepan_client/requests/get_strategies_request.rb,
lib/bluepan_client/schemas/create_recipient_schema.rb,
lib/bluepan_client/responses/get_provinces_response.rb,
lib/bluepan_client/responses/get_recipient_response.rb,
lib/bluepan_client/schemas/create_remittance_schema.rb,
lib/bluepan_client/requests/create_recipient_request.rb,
lib/bluepan_client/responses/get_strategies_response.rb,
lib/bluepan_client/requests/create_remittance_request.rb,
lib/bluepan_client/requests/get_exchange_rates_request.rb,
lib/bluepan_client/responses/create_recipient_response.rb,
lib/bluepan_client/responses/create_remittance_response.rb,
lib/bluepan_client/responses/get_exchange_rates_response.rb

Defined Under Namespace

Classes: ApplyVars, BaseRequest, BaseResponse, BaseSchema, City, Client, CreateRecipientRequest, CreateRecipientResponse, CreateRemittanceRequest, CreateRemittanceResponse, ExchangeRate, GetCitiesRequest, GetCitiesResponse, GetExchangeRatesRequest, GetExchangeRatesResponse, GetProvincesRequest, GetProvincesResponse, GetRecipientRequest, GetRecipientResponse, GetStrategiesRequest, GetStrategiesResponse, GuardNull, IndifferentHash, Province, Recipient, RecipientResponse, Remittance, Strategy

Constant Summary collapse

VERSION =
"1.0.0"
ClientSchema =
Dry::Validation.Schema(BaseSchema) do

end
GetRecipientSchema =
Dry::Validation.Schema(BaseSchema) do

  required(:recipientseq).filled

end
CreateRecipientSchema =
Dry::Validation.Schema(BaseSchema) do

  required(:api_secret).filled(:str?)
  required(:recipient_firstname).filled(:str?)
  required(:recipient_lastname).filled(:str?)
  required(:recipient_mobile).filled(:str?)
  optional(:recipient_email).filled(:str?)

end
CreateRemittanceSchema =
Dry::Validation.Schema(BaseSchema) do

  PAYMETHODS = %w(CREDIT BTC)
  DEST_CURRENCIES = %w(KRW CNY)

  optional(:paymethod).filled(:str?, included_in?: PAYMETHODS)
  optional(:dest_currency).filled(:str?, included_in?: DEST_CURRENCIES)
  required(:amount).filled(:float?)
  required(:recipientseq).filled(:int?)
  required(:strategyseq).filled(:int?)
  optional(:provinceseq).filled(:int?)
  optional(:cityseq).filled(:int?)
  optional(:accountname).filled(:str?)
  optional(:accountnumber).filled(:str?)
  optional(:branch).filled(:str?)
  optional(:alipayid).filled(:str?)
  optional(:wechatid).filled(:str?)
  optional(:nick).filled(:str?)
  optional(:payment_url).filled(:str?)
  optional(:payment_account).filled(:str?)
  optional(:payment_password).filled(:str?)

end

Class Method Summary collapse

Class Method Details

.new(opts = {}) ⇒ Object



41
42
43
44
45
46
47
# File 'lib/bluepan_client.rb', line 41

def self.new(opts={})
  client = Client.new(opts)
  error_messages = ClientSchema.(client.attributes).
    messages(full: true).values
  fail ArgumentError, error_messages if error_messages.any?
  client
end