Class: Rfsms::Answer
- Inherits:
-
Object
- Object
- Rfsms::Answer
- Defined in:
- lib/rfsms.rb
Direct Known Subclasses
Instance Attribute Summary collapse
-
#descr ⇒ Object
readonly
Returns the value of attribute descr.
Instance Method Summary collapse
-
#initialize(body, &validate) ⇒ Answer
constructor
Инициализация объекта ответа с проверкой элементов в передаваемом блоке validate.
Constructor Details
#initialize(body, &validate) ⇒ Answer
Инициализация объекта ответа с проверкой элементов в передаваемом блоке validate. Если validate возвращает false или nil возникает исключение Rfsms::IncorrectAnswerError
29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/rfsms.rb', line 29 def initialize(body, &validate) body_e = Nori.parse(body, :nokogiri) p body_e if $DEBUG elements = body_e[:data] raise IncorrectAnswerError unless elements.is_a?(Hash) p elements if $DEBUG if code = elements.delete(:code) and @descr = elements.delete(:descr) if code == '1' raise IncorrectAnswerError if validate and !validate.call(elements) elements.each_pair do |tag, value| instance_variable_set(:"@#{tag}", value) end else raise AnswerError, "#{code}: #{@descr}" end else raise IncorrectAnswerError end end |
Instance Attribute Details
#descr ⇒ Object (readonly)
Returns the value of attribute descr.
25 26 27 |
# File 'lib/rfsms.rb', line 25 def descr @descr end |