Class: Fcoin::OrdersValidator

Inherits:
Object
  • Object
show all
Defined in:
lib/fcoin/validator/orders_validator.rb

Instance Method Summary collapse

Constructor Details

#initialize(params) ⇒ OrdersValidator

Returns a new instance of OrdersValidator.

Parameters:

  • params (Hash)

    Parameter you want to verify including the called method name

Options Hash (params):

  • :symbol (String or Symbol)

    Transaction pair

  • :side (String or Symbol)

    Direction of the transaction

  • :type (String or Symbol)

    Order type

  • :price (Float)
  • :amount (Float)
  • :states (String)

    Order state

  • :method_name (String or Symbol)

    invoked method name



16
17
18
19
20
21
22
23
24
25
# 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

Instance Method Details

#messagesObject

Error message when invalid



33
34
35
36
37
38
# 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?Boolean

Validate according to method_name

Returns:

  • (Boolean)


28
29
30
# File 'lib/fcoin/validator/orders_validator.rb', line 28

def valid?
  validator.present? ? validator.valid? : false
end