class Fcoin::OrdersValidator
Attributes
amount[RW]
method_name[RW]
price[RW]
side[RW]
states[RW]
symbol[RW]
total[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 :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/orders_validator.rb, line 16 def initialize(params) self.symbol = params[:symbol] self.side = params[:side] self.type = params[:type] self.price = params[:price] self.amount = params[:amount] self.total = params[:total] 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/orders_validator.rb, line 33 def messages return {} if valid? results = [] results << (validator.present? ? validator.messages : {}) results.compact&.each_with_object({}) { |message, data| data.merge!(message) } end
valid?()
click to toggle source
Validate according to method_name
# File lib/fcoin/validator/orders_validator.rb, line 28 def valid? validator.present? ? validator.valid? : false end
Private Instance Methods
create_order_limit_validator()
click to toggle source
# File lib/fcoin/validator/orders_validator.rb, line 57 def create_order_limit_validator @create_order_limit_validator ||= Orders::CreateOrderLimitValidator.new(symbol: symbol, side: side, price: price, amount: amount) end
create_order_market_validator()
click to toggle source
# File lib/fcoin/validator/orders_validator.rb, line 61 def create_order_market_validator @create_order_market_validator ||= Orders::CreateOrderMarketValidator.new(symbol: symbol, side: side, total: total, amount: amount) end
order_list_validator()
click to toggle source
# File lib/fcoin/validator/orders_validator.rb, line 65 def order_list_validator @order_list_validator ||= Orders::OrderListValidator.new(symbol: symbol, states: states) end
validator()
click to toggle source
# File lib/fcoin/validator/orders_validator.rb, line 44 def validator case method_name.to_sym when :create_order_limit create_order_limit_validator when :create_order_market create_order_market_validator when :order_list order_list_validator else nil end end