class Fcoin::Validator

Attributes

amount[RW]
level[RW]
method_name[RW]
price[RW]
resolution[RW]
side[RW]
states[RW]
symbol[RW]
type[RW]

Public Class Methods

new(params) click to toggle source

@param params [Hash] Parameter you want to verify including the called method name @option params :level [String or Symbol] Level of depth chart @option params :resolution [String or Symbol] period of Candles Chart @option params :symbol [String or Symbol] Transaction pair @option params :side [String or Symbol] Direction of the transaction @option params :type [String or Symbol] Order type @option params :price [Float] @option params :amount [Float] @option params :states [String] Order state @option params :method_name [String or Symbol] invoked method name

# File lib/fcoin/validator.rb, line 17
def initialize(params)
  self.level       = params[:level]
  self.resolution  = params[:resolution]
  self.symbol      = params[:symbol]
  self.side        = params[:side]
  self.type        = params[:type]
  self.price       = params[:price]
  self.amount      = params[:amount]
  self.states      = params[:states]
  self.method_name = params[:method_name]
end

Public Instance Methods

messages() click to toggle source

Error message when invalid

# File lib/fcoin/validator.rb, line 35
def messages
  validator.present? ? validator.messages : {}
end
valid?() click to toggle source

Whether the parameters are valid?

# File lib/fcoin/validator.rb, line 30
def valid?
  validator.present? ? validator.valid? : true
end

Private Instance Methods

validator() click to toggle source
# File lib/fcoin/validator.rb, line 41
def validator
  case method_name
  when /market_depth|on_depth/
    MarketValidator.new(level: level, method_name: method_name)
  when /market_candles|on_candle/
    MarketValidator.new(resolution: resolution, method_name: method_name)
  when /create_order/
    OrdersValidator.new(symbol: symbol, side: side, type: type, price: price, amount: amount, method_name: method_name)
  when /order_list/
    OrdersValidator.new(symbol: symbol, states: states, method_name: method_name)
  else
    nil
  end
end