Class: OrangeData::ReceiptResult
- Inherits:
-
PayloadContent
- Object
- PayloadContent
- OrangeData::ReceiptResult
- Defined in:
- lib/orange_data/receipt.rb
Instance Attribute Summary collapse
-
#content ⇒ Object
readonly
Returns the value of attribute content.
Class Method Summary collapse
Instance Method Summary collapse
-
#initialize(payload) ⇒ ReceiptResult
constructor
A new instance of ReceiptResult.
- #qr_code_content ⇒ Object
Methods inherited from PayloadContent
#==, #as_json, #assign_attributes, #attributes, #to_hash, #to_json
Constructor Details
#initialize(payload) ⇒ ReceiptResult
Returns a new instance of ReceiptResult.
193 194 195 196 |
# File 'lib/orange_data/receipt.rb', line 193 def initialize(payload) super(payload) @content = ReceiptContent.new(@payload["content"]) end |
Instance Attribute Details
#content ⇒ Object (readonly)
Returns the value of attribute content.
205 206 207 |
# File 'lib/orange_data/receipt.rb', line 205 def content @content end |
Class Method Details
.from_hash(hash) ⇒ Object
198 199 200 201 202 203 |
# File 'lib/orange_data/receipt.rb', line 198 def self.from_hash(hash) return if hash.nil? raise ArgumentError, 'Expect hash here' unless hash.is_a?(Hash) new(hash) end |
Instance Method Details
#qr_code_content ⇒ Object
209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 |
# File 'lib/orange_data/receipt.rb', line 209 def qr_code_content # Пример: t=20150720T1638&s=9999999.00&fn=000110000105&i=12345678&fp=123456&n=2 # вообще это тег 1196, но OD его не присылают { # - t=<date/time - дата и время осуществления расчета в формате ГГГГММДДТЧЧММ> t: processed_at.gsub(/:\d{2}\z/, '').gsub(/[^0-9T]/, ''), # - s=<сумма расчета в рублях и копейках, разделенных точкой> s: content.check_close.payments.inject(0.0){|d, p| d + p.amount }, # - fn=<заводской номер фискального накопителя> fn: fs_number, # - i=<порядковый номер фискального документа, нулями не дополняется> i: document_number, # documentIndex?? # - fp=<фискальный признак документа, нулями не дополняется> fp: fp, # - n=<признак расчета>. n: content.raw_type, }.map{|k, v| "#{k}=#{v}" }.join('&') end |