t2_airtime 0.5.0 → 0.5.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (213) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +23 -3
  3. data/Rakefile +2 -0
  4. data/lib/t2_airtime/serializer.rb +15 -15
  5. data/lib/t2_airtime/version.rb +1 -1
  6. data/spec/dummy/config/application.rb +0 -10
  7. data/spec/dummy/config/initializers/cors.rb +8 -9
  8. data/spec/dummy/log/development.log +785 -0
  9. data/spec/dummy/tmp/cache/361/BB0/accounts +0 -0
  10. data/spec/dummy/tmp/cache/3DD/470/countries +0 -0
  11. data/spec/dummy/tmp/cache/4B0/790/products%2F734 +0 -0
  12. data/spec/dummy/tmp/cache/4E2/500/products%2F1573 +0 -0
  13. data/spec/dummy/tmp/cache/521/AE0/operators%2F668 +0 -0
  14. data/spec/dummy/tmp/cache/63A/8F0/msisdn%2F%2B393801524729 +0 -0
  15. data/spec/dummy/tmp/cache/769/350/accounts%2Fcurrency +1 -1
  16. data/spec/dummy/tmp/cache/785/260/transactions%2F584700240 +0 -0
  17. data/spec/dummy/tmp/cache/788/240/transactions%2F584700117 +0 -0
  18. data/spec/dummy/tmp/cache/788/260/transactions%2F584700135 +0 -0
  19. data/spec/dummy/tmp/cache/789/310/transactions%2F584711404 +0 -0
  20. data/spec/dummy/tmp/cache/789/380/transactions%2F584705230 +0 -0
  21. data/spec/dummy/tmp/cache/78A/340/transactions%2F584711504 +0 -0
  22. data/spec/dummy/tmp/cache/78A/360/transactions%2F584705123 +0 -0
  23. data/spec/dummy/tmp/cache/78B/290/transactions%2F584700219 +0 -0
  24. data/spec/dummy/tmp/cache/78C/370/transactions%2F584711353 +0 -0
  25. data/spec/dummy/tmp/cache/78C/3D0/transactions%2F584705170 +0 -0
  26. data/spec/dummy/tmp/cache/78D/540/transactions%2F584685200 +0 -0
  27. data/spec/dummy/tmp/cache/78E/3B0/transactions%2F584711373 +0 -0
  28. data/spec/dummy/tmp/cache/78F/3D0/transactions%2F584705146 +0 -0
  29. data/spec/dummy/tmp/cache/78F/560/transactions%2F584683420 +0 -0
  30. data/spec/dummy/tmp/cache/790/320/transactions%2F584700179 +0 -0
  31. data/spec/dummy/tmp/cache/790/3A0/transactions%2F584711429 +0 -0
  32. data/spec/dummy/tmp/cache/790/3D0/transactions%2F584705057 +0 -0
  33. data/spec/dummy/tmp/cache/790/3D0/transactions%2F584711456 +0 -0
  34. data/spec/dummy/tmp/cache/790/400/transactions%2F584705084 +0 -0
  35. data/spec/dummy/tmp/cache/790/410/transactions%2F584708009 +0 -0
  36. data/spec/dummy/tmp/cache/790/540/transactions%2F584691332 +0 -0
  37. data/spec/dummy/tmp/cache/790/560/transactions%2F584685113 +0 -0
  38. data/spec/dummy/tmp/cache/791/500/transactions%2F584709270 +0 -0
  39. data/spec/dummy/tmp/cache/791/510/transactions%2F584707902 +0 -0
  40. data/spec/dummy/tmp/cache/793/460/transactions%2F584705195 +0 -0
  41. data/spec/dummy/tmp/cache/793/4B0/transactions%2F584709128 +0 -0
  42. data/spec/dummy/tmp/cache/793/4E0/transactions%2F584709236 +0 -0
  43. data/spec/dummy/tmp/cache/794/430/transactions%2F584711478 +0 -0
  44. data/spec/dummy/tmp/cache/794/4D0/transactions%2F584709219 +0 -0
  45. data/spec/dummy/tmp/cache/794/580/transactions%2F584691417 +0 -0
  46. data/spec/dummy/tmp/cache/794/5A0/transactions%2F584691435 +0 -0
  47. data/spec/dummy/tmp/cache/794/5D0/transactions%2F584685225 +0 -0
  48. data/spec/dummy/tmp/cache/794/600/transactions%2F584683551 +0 -0
  49. data/spec/dummy/tmp/cache/794/610/transactions%2F584682912 +0 -0
  50. data/spec/dummy/tmp/cache/794/630/transactions%2F584685522 +0 -0
  51. data/spec/dummy/tmp/cache/794/630/transactions%2F584685603 +0 -0
  52. data/spec/dummy/tmp/cache/794/680/transactions%2F584689050 +0 -0
  53. data/spec/dummy/tmp/cache/794/680/transactions%2F584697150 +0 -0
  54. data/spec/dummy/tmp/cache/795/5C0/transactions%2F584691364 +0 -0
  55. data/spec/dummy/tmp/cache/795/5D0/transactions%2F584685136 +0 -0
  56. data/spec/dummy/tmp/cache/795/5E0/transactions%2F584691463 +0 -0
  57. data/spec/dummy/tmp/cache/795/5F0/transactions%2F584691391 +0 -0
  58. data/spec/dummy/tmp/cache/795/610/transactions%2F584683471 +0 -0
  59. data/spec/dummy/tmp/cache/795/640/transactions%2F584689006 +0 -0
  60. data/spec/dummy/tmp/cache/795/670/transactions%2F584685550 +0 -0
  61. data/spec/dummy/tmp/cache/795/6A0/transactions%2F584697241 +0 -0
  62. data/spec/dummy/tmp/cache/796/500/transactions%2F584709149 +0 -0
  63. data/spec/dummy/tmp/cache/796/5C0/transactions%2F584707880 +0 -0
  64. data/spec/dummy/tmp/cache/796/5F0/transactions%2F584683526 +0 -0
  65. data/spec/dummy/tmp/cache/796/670/transactions%2F584685461 +0 -0
  66. data/spec/dummy/tmp/cache/796/6D0/transactions%2F584697260 +0 -0
  67. data/spec/dummy/tmp/cache/797/5A0/transactions%2F584707854 +0 -0
  68. data/spec/dummy/tmp/cache/797/680/transactions%2F584689026 +0 -0
  69. data/spec/dummy/tmp/cache/797/680/transactions%2F584697207 +0 -0
  70. data/spec/dummy/tmp/cache/798/540/transactions%2F584709169 +0 -0
  71. data/spec/dummy/tmp/cache/798/620/transactions%2F584685157 +0 -0
  72. data/spec/dummy/tmp/cache/798/6A0/transactions%2F584682880 +0 -0
  73. data/spec/dummy/tmp/cache/798/6B0/transactions%2F584685481 +0 -0
  74. data/spec/dummy/tmp/cache/798/6C0/transactions%2F584685571 +0 -0
  75. data/spec/dummy/tmp/cache/798/6F0/transactions%2F584697181 +0 -0
  76. data/spec/dummy/tmp/cache/798/720/transactions%2F584687812 +0 -0
  77. data/spec/dummy/tmp/cache/799/5B0/transactions%2F584707928 +0 -0
  78. data/spec/dummy/tmp/cache/799/5E0/transactions%2F584707955 +0 -0
  79. data/spec/dummy/tmp/cache/799/620/transactions%2F584683448 +0 -0
  80. data/spec/dummy/tmp/cache/799/640/transactions%2F584685086 +0 -0
  81. data/spec/dummy/tmp/cache/799/6A0/transactions%2F584697128 +0 -0
  82. data/spec/dummy/tmp/cache/79A/580/transactions%2F584709189 +0 -0
  83. data/spec/dummy/tmp/cache/79A/660/transactions%2F584685177 +0 -0
  84. data/spec/dummy/tmp/cache/79A/690/transactions%2F584682936 +0 -0
  85. data/spec/dummy/tmp/cache/79A/7B0/transactions%2F584688930 +0 -0
  86. data/spec/dummy/tmp/cache/79B/630/transactions%2F584707984 +0 -0
  87. data/spec/dummy/tmp/cache/79B/660/transactions%2F584691487 +0 -0
  88. data/spec/dummy/tmp/cache/79B/770/transactions%2F584687833 +0 -0
  89. data/spec/dummy/tmp/cache/79B/790/transactions%2F584688904 +0 -0
  90. data/spec/dummy/tmp/cache/79C/7A0/transactions%2F584687771 +0 -0
  91. data/spec/dummy/tmp/cache/79C/7A0/transactions%2F584687852 +0 -0
  92. data/spec/dummy/tmp/cache/79D/680/transactions%2F584683389 +0 -0
  93. data/spec/dummy/tmp/cache/79D/780/transactions%2F584687745 +0 -0
  94. data/spec/dummy/tmp/cache/79F/6D0/transactions%2F584683499 +0 -0
  95. data/spec/dummy/tmp/cache/79F/700/transactions%2F584682959 +0 -0
  96. data/spec/dummy/tmp/cache/79F/730/transactions%2F584685497 +0 -0
  97. data/spec/dummy/tmp/cache/79F/820/transactions%2F584688953 +0 -0
  98. data/spec/dummy/tmp/cache/7A1/7A0/transactions%2F584697289 +0 -0
  99. data/spec/dummy/tmp/cache/7A3/830/transactions%2F584687796 +0 -0
  100. data/spec/dummy/tmp/cache/7A3/830/transactions%2F584687877 +0 -0
  101. data/spec/dummy/tmp/cache/7A6/8B0/transactions%2F584688978 +0 -0
  102. data/spec/dummy/tmp/cache/8B4/E50/countries%2Fserializer +166 -6
  103. data/spec/dummy/tmp/cache/987/CE0/products%2F734%2Fserializer +12 -0
  104. data/spec/dummy/tmp/cache/9B9/2F0/products%2F1573%2Fserializer +55 -0
  105. data/spec/dummy/tmp/cache/9F8/C00/operators%2F668%2Fserializer +3 -0
  106. data/spec/dummy/tmp/cache/C5C/4C0/transactions%2F584700240%2Fserializer +0 -0
  107. data/spec/dummy/tmp/cache/C5F/710/transactions%2F584700117%2Fserializer +0 -0
  108. data/spec/dummy/tmp/cache/C5F/730/transactions%2F584700135%2Fserializer +0 -0
  109. data/spec/dummy/tmp/cache/C60/8B0/transactions%2F584711404%2Fserializer +0 -0
  110. data/spec/dummy/tmp/cache/C60/920/transactions%2F584705230%2Fserializer +0 -0
  111. data/spec/dummy/tmp/cache/C61/9B0/transactions%2F584711504%2Fserializer +0 -0
  112. data/spec/dummy/tmp/cache/C61/9D0/transactions%2F584705123%2Fserializer +0 -0
  113. data/spec/dummy/tmp/cache/C62/9D0/transactions%2F584700219%2Fserializer +0 -0
  114. data/spec/dummy/tmp/cache/C63/B80/transactions%2F584711353%2Fserializer +0 -0
  115. data/spec/dummy/tmp/cache/C63/BE0/transactions%2F584705170%2Fserializer +0 -0
  116. data/spec/dummy/tmp/cache/C64/E20/transactions%2F584685200%2Fserializer +0 -0
  117. data/spec/dummy/tmp/cache/C65/D60/transactions%2F584711373%2Fserializer +0 -0
  118. data/spec/dummy/tmp/cache/C66/E50/transactions%2F584705146%2Fserializer +0 -0
  119. data/spec/dummy/tmp/cache/C66/FE0/transactions%2F584683420%2Fserializer +0 -0
  120. data/spec/dummy/tmp/cache/C67/090/transactions%2F584691332%2Fserializer +0 -0
  121. data/spec/dummy/tmp/cache/C67/0B0/transactions%2F584685113%2Fserializer +0 -0
  122. data/spec/dummy/tmp/cache/C67/E70/transactions%2F584700179%2Fserializer +0 -0
  123. data/spec/dummy/tmp/cache/C67/EF0/transactions%2F584711429%2Fserializer +0 -0
  124. data/spec/dummy/tmp/cache/C67/F20/transactions%2F584705057%2Fserializer +0 -0
  125. data/spec/dummy/tmp/cache/C67/F20/transactions%2F584711456%2Fserializer +0 -0
  126. data/spec/dummy/tmp/cache/C67/F50/transactions%2F584705084%2Fserializer +0 -0
  127. data/spec/dummy/tmp/cache/C67/F60/transactions%2F584708009%2Fserializer +0 -0
  128. data/spec/dummy/tmp/cache/C68/120/transactions%2F584709270%2Fserializer +0 -0
  129. data/spec/dummy/tmp/cache/C68/130/transactions%2F584707902%2Fserializer +0 -0
  130. data/spec/dummy/tmp/cache/C6A/220/transactions%2F584705195%2Fserializer +0 -0
  131. data/spec/dummy/tmp/cache/C6A/270/transactions%2F584709128%2Fserializer +0 -0
  132. data/spec/dummy/tmp/cache/C6A/2A0/transactions%2F584709236%2Fserializer +0 -0
  133. data/spec/dummy/tmp/cache/C6B/2C0/transactions%2F584711478%2Fserializer +0 -0
  134. data/spec/dummy/tmp/cache/C6B/360/transactions%2F584709219%2Fserializer +0 -0
  135. data/spec/dummy/tmp/cache/C6B/410/transactions%2F584691417%2Fserializer +0 -0
  136. data/spec/dummy/tmp/cache/C6B/430/transactions%2F584691435%2Fserializer +0 -0
  137. data/spec/dummy/tmp/cache/C6B/460/transactions%2F584685225%2Fserializer +0 -0
  138. data/spec/dummy/tmp/cache/C6B/490/transactions%2F584683551%2Fserializer +0 -0
  139. data/spec/dummy/tmp/cache/C6B/4A0/transactions%2F584682912%2Fserializer +0 -0
  140. data/spec/dummy/tmp/cache/C6B/4C0/transactions%2F584685522%2Fserializer +0 -0
  141. data/spec/dummy/tmp/cache/C6B/4C0/transactions%2F584685603%2Fserializer +0 -0
  142. data/spec/dummy/tmp/cache/C6B/510/transactions%2F584689050%2Fserializer +0 -0
  143. data/spec/dummy/tmp/cache/C6B/510/transactions%2F584697150%2Fserializer +0 -0
  144. data/spec/dummy/tmp/cache/C6C/520/transactions%2F584691364%2Fserializer +0 -0
  145. data/spec/dummy/tmp/cache/C6C/530/transactions%2F584685136%2Fserializer +0 -0
  146. data/spec/dummy/tmp/cache/C6C/540/transactions%2F584691463%2Fserializer +0 -0
  147. data/spec/dummy/tmp/cache/C6C/550/transactions%2F584691391%2Fserializer +0 -0
  148. data/spec/dummy/tmp/cache/C6C/570/transactions%2F584683471%2Fserializer +0 -0
  149. data/spec/dummy/tmp/cache/C6C/5A0/transactions%2F584689006%2Fserializer +0 -0
  150. data/spec/dummy/tmp/cache/C6C/5D0/transactions%2F584685550%2Fserializer +0 -0
  151. data/spec/dummy/tmp/cache/C6C/600/transactions%2F584697241%2Fserializer +0 -0
  152. data/spec/dummy/tmp/cache/C6D/530/transactions%2F584709149%2Fserializer +0 -0
  153. data/spec/dummy/tmp/cache/C6D/5F0/transactions%2F584707880%2Fserializer +0 -0
  154. data/spec/dummy/tmp/cache/C6D/620/transactions%2F584683526%2Fserializer +0 -0
  155. data/spec/dummy/tmp/cache/C6D/6A0/transactions%2F584685461%2Fserializer +0 -0
  156. data/spec/dummy/tmp/cache/C6D/700/transactions%2F584697260%2Fserializer +0 -0
  157. data/spec/dummy/tmp/cache/C6E/6A0/transactions%2F584707854%2Fserializer +0 -0
  158. data/spec/dummy/tmp/cache/C6E/780/transactions%2F584689026%2Fserializer +0 -0
  159. data/spec/dummy/tmp/cache/C6E/780/transactions%2F584697207%2Fserializer +0 -0
  160. data/spec/dummy/tmp/cache/C6F/710/transactions%2F584709169%2Fserializer +0 -0
  161. data/spec/dummy/tmp/cache/C6F/7F0/transactions%2F584685157%2Fserializer +0 -0
  162. data/spec/dummy/tmp/cache/C6F/870/transactions%2F584682880%2Fserializer +0 -0
  163. data/spec/dummy/tmp/cache/C6F/880/transactions%2F584685481%2Fserializer +0 -0
  164. data/spec/dummy/tmp/cache/C6F/890/transactions%2F584685571%2Fserializer +0 -0
  165. data/spec/dummy/tmp/cache/C6F/8C0/transactions%2F584697181%2Fserializer +0 -0
  166. data/spec/dummy/tmp/cache/C6F/8F0/transactions%2F584687812%2Fserializer +0 -0
  167. data/spec/dummy/tmp/cache/C70/850/transactions%2F584707928%2Fserializer +0 -0
  168. data/spec/dummy/tmp/cache/C70/880/transactions%2F584707955%2Fserializer +0 -0
  169. data/spec/dummy/tmp/cache/C70/8C0/transactions%2F584683448%2Fserializer +0 -0
  170. data/spec/dummy/tmp/cache/C70/8E0/transactions%2F584685086%2Fserializer +0 -0
  171. data/spec/dummy/tmp/cache/C70/940/transactions%2F584697128%2Fserializer +0 -0
  172. data/spec/dummy/tmp/cache/C71/8F0/transactions%2F584709189%2Fserializer +0 -0
  173. data/spec/dummy/tmp/cache/C71/9D0/transactions%2F584685177%2Fserializer +0 -0
  174. data/spec/dummy/tmp/cache/C71/A00/transactions%2F584682936%2Fserializer +0 -0
  175. data/spec/dummy/tmp/cache/C71/B20/transactions%2F584688930%2Fserializer +0 -0
  176. data/spec/dummy/tmp/cache/C72/A70/transactions%2F584707984%2Fserializer +0 -0
  177. data/spec/dummy/tmp/cache/C72/AA0/transactions%2F584691487%2Fserializer +0 -0
  178. data/spec/dummy/tmp/cache/C72/BB0/transactions%2F584687833%2Fserializer +0 -0
  179. data/spec/dummy/tmp/cache/C72/BD0/transactions%2F584688904%2Fserializer +0 -0
  180. data/spec/dummy/tmp/cache/C73/CB0/transactions%2F584687771%2Fserializer +0 -0
  181. data/spec/dummy/tmp/cache/C73/CB0/transactions%2F584687852%2Fserializer +0 -0
  182. data/spec/dummy/tmp/cache/C74/C60/transactions%2F584683389%2Fserializer +0 -0
  183. data/spec/dummy/tmp/cache/C74/D60/transactions%2F584687745%2Fserializer +0 -0
  184. data/spec/dummy/tmp/cache/C76/E50/transactions%2F584683499%2Fserializer +0 -0
  185. data/spec/dummy/tmp/cache/C76/E80/transactions%2F584682959%2Fserializer +0 -0
  186. data/spec/dummy/tmp/cache/C76/EB0/transactions%2F584685497%2Fserializer +0 -0
  187. data/spec/dummy/tmp/cache/C76/FA0/transactions%2F584688953%2Fserializer +0 -0
  188. data/spec/dummy/tmp/cache/C78/0C0/transactions%2F584697289%2Fserializer +0 -0
  189. data/spec/dummy/tmp/cache/C7A/2F0/transactions%2F584687796%2Fserializer +0 -0
  190. data/spec/dummy/tmp/cache/C7A/2F0/transactions%2F584687877%2Fserializer +0 -0
  191. data/spec/dummy/tmp/cache/C7D/5E0/transactions%2F584688978%2Fserializer +0 -0
  192. data/spec/spec_helper.rb +8 -0
  193. metadata +375 -43
  194. data/spec/dummy/tmp/cache/4AF/760/products%2F715 +0 -0
  195. data/spec/dummy/tmp/cache/4DE/4A0/products%2F2361 +0 -0
  196. data/spec/dummy/tmp/cache/4DF/460/products%2F2074 +0 -0
  197. data/spec/dummy/tmp/cache/4E6/4F0/products%2F2099 +0 -0
  198. data/spec/dummy/tmp/cache/4EB/5F0/products%2F1879 +0 -0
  199. data/spec/dummy/tmp/cache/51A/A70/operators%2F661 +0 -0
  200. data/spec/dummy/tmp/cache/51B/A80/operators%2F662 +0 -0
  201. data/spec/dummy/tmp/cache/51C/A90/operators%2F663 +0 -0
  202. data/spec/dummy/tmp/cache/51D/AA0/operators%2F664 +0 -0
  203. data/spec/dummy/tmp/cache/51F/AC0/operators%2F666 +0 -0
  204. data/spec/dummy/tmp/cache/986/BE0/products%2F715%2Fserializer +0 -2
  205. data/spec/dummy/tmp/cache/9B5/F50/products%2F2361%2Fserializer +0 -3
  206. data/spec/dummy/tmp/cache/9B6/FE0/products%2F2074%2Fserializer +0 -3
  207. data/spec/dummy/tmp/cache/9BD/620/products%2F2099%2Fserializer +0 -4
  208. data/spec/dummy/tmp/cache/9C2/B30/products%2F1879%2Fserializer +0 -3
  209. data/spec/dummy/tmp/cache/9F1/5E0/operators%2F661%2Fserializer +0 -2
  210. data/spec/dummy/tmp/cache/9F2/6C0/operators%2F662%2Fserializer +0 -2
  211. data/spec/dummy/tmp/cache/9F3/7A0/operators%2F663%2Fserializer +0 -2
  212. data/spec/dummy/tmp/cache/9F4/880/operators%2F664%2Fserializer +0 -2
  213. data/spec/dummy/tmp/cache/9F6/A40/operators%2F666%2Fserializer +0 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0033cb2780d4034c75f9d8b3dfa66f458921a3e1
4
- data.tar.gz: 7e69c57be3e92fcea08fdc8779b12bea942ea352
3
+ metadata.gz: 9ed347685b12293d4f75fe1130903ec4e1891a1f
4
+ data.tar.gz: f36c229070ee49bb50f5f636e23864e51e4b6280
5
5
  SHA512:
6
- metadata.gz: 7a63458e982c66c080ff02c11f7aa53601245360b5e28dcf2b471d61f86599b2acbad88da2c36329acc5c295e86319189c17c6dbf6e63951c4731d39bcfa3802
7
- data.tar.gz: 3f02005f4df0ead3e41b99e726c86373217e96ac6c6e33d23c658fcfd278c2bf20edb49938245e5a2e999bb778e0203d4ed0f287e22b3fac34325ac7768ffc33
6
+ metadata.gz: 2c7d8fca6a8c1e68d930a20d4ad44626b3d964eae01ded112dad0ff9f42fed480f79ae5612bf3cfea67653135ddd9674902aac024db842d003b2989ad4c15abb
7
+ data.tar.gz: c7b49e29525a5d703d3dd2a991218d38e5915169489fa725b7aba480660d1a376fa68efcaf5636af6012682539d9aa1eb3bd2501a39f0d36f6a1e4fcb82c6244
data/README.md CHANGED
@@ -2,6 +2,7 @@
2
2
  [![Gem Version](https://badge.fury.io/rb/t2_airtime.svg)](https://badge.fury.io/rb/t2_airtime)
3
3
  [![GitHub version](https://badge.fury.io/gh/matteolc%2Ft2_airtime.svg)](https://badge.fury.io/gh/matteolc%2Ft2_airtime)
4
4
  [![Dependency Status](https://gemnasium.com/badges/github.com/matteolc/t2_airtime.svg)](https://gemnasium.com/github.com/matteolc/t2_airtime)
5
+ [![Code Climate](https://codeclimate.com/github/matteolc/t2_airtime.png)](https://codeclimate.com/github/matteolc/t2_airtime)
5
6
 
6
7
  t2-airtime
7
8
  ==========
@@ -25,14 +26,33 @@ Download image:
25
26
  ```
26
27
  docker pull voxbox/t2_airtime
27
28
  ```
28
- Run `docker run voxbox/t2_airtime`
29
29
 
30
- Build from source code:
30
+ Export your secrets:
31
31
 
32
+ ```sh
33
+ export T2_SHOP_USER=<your_username>
34
+ export T2_AIRTIME_KEY=<your_token>
35
+ ```
36
+
37
+ Export the host allowed to access the API (CORS):
38
+ ```sh
39
+ export CORS_ORIGIN=<your_frontend_address>
32
40
  ```
33
- docker build -t "voxbox/t2_airtime" .
41
+
42
+ Run:
43
+
44
+ ```sh
45
+ docker run -d \
46
+ --name t2_airtime \
47
+ -p 3000:3000 \
48
+ -e T2_SHOP_USER \
49
+ -e T2_AIRTIME_KEY \
50
+ -e CORS_ORIGIN \
51
+ voxbox/t2_airtime
52
+ docker logs t2_airtime -f
34
53
  ```
35
54
 
55
+
36
56
  ### Setup Transfer-To credentials
37
57
 
38
58
  1. Make sure you are a registered user of [Transfer-To](https://www.transfer-to.com/home).
data/Rakefile CHANGED
@@ -22,3 +22,5 @@ require 'rspec/core/rake_task'
22
22
  RSpec::Core::RakeTask.new(:spec)
23
23
 
24
24
  task default: :spec
25
+
26
+
@@ -311,7 +311,7 @@ module T2Airtime
311
311
  end
312
312
 
313
313
  def self.serialize_one(data, ts = Time.zone.now.to_s)
314
- Rails.cache.fetch("transactions/#{data[:transactionid]}/serializer", expires_in: 365.hour) do
314
+ Rails.cache.fetch("transactions/#{data[:transactionid]}/serializer", expires_in: 365.days) do
315
315
  {
316
316
  type: 'transactions',
317
317
  id: Integer(data[:transactionid]),
@@ -328,47 +328,47 @@ module T2Airtime
328
328
  cid2: data[:cid2],
329
329
  cid3: data[:cid3],
330
330
  date: data[:date],
331
- currency: data[:originating_currency],
332
- localCurrency: data[:destination_currency],
331
+ currency: data[:originating_currency] && data[:originating_currency] || 'XXX',
332
+ localCurrency: data[:destination_currency] && data[:destination_currency] || 'XXX',
333
333
  pinBased: data[:pin_based],
334
334
  localInfoAmount: data[:local_info_amount],
335
335
  localInfoCurrency: data[:local_info_currency],
336
336
  localInfoValue: data[:local_info_value],
337
337
  errorCode: data[:error_code],
338
338
  errorTxt: data[:error_txt],
339
- countryId: Integer(data[:countryid]),
339
+ countryId: data[:countryid] && Integer(data[:countryid]) || nil,
340
340
  countryName: data[:country],
341
- countryAlpha3: T2Airtime::Country.alpha3(data[:country]),
342
- operatorId: Integer(data[:operatorid]),
341
+ countryAlpha3: data[:country] && T2Airtime::Country.alpha3(data[:country]) || 'XXX',
342
+ operatorId: data[:operatorid] && Integer(data[:operatorid]) || nil,
343
343
  operatorName: data[:operator],
344
- operatorLogo: T2Airtime::Util.operator_logo_url(data[:operatorid]),
345
- productName: "#{Money.new(Integer(data[:product_requested]) * 100, data[:destination_currency]).format}",
344
+ operatorLogo: data[:operatorid] && T2Airtime::Util.operator_logo_url(data[:operatorid]) || nil,
345
+ productName: data[:destination_currency] && "#{Money.new(Integer(data[:product_requested]) * 100, data[:destination_currency]).format}" || nil,
346
346
  productLocalCurrency: data[:destination_currency],
347
- productLocalCurrencySymbol: Money::Currency.new(data[:destination_currency]).symbol,
347
+ productLocalCurrencySymbol: data[:destination_currency] && Money::Currency.new(data[:destination_currency]).symbol || 'XXX',
348
348
  productCurrency: Account.currency,
349
349
  productCurrencySymbol: Money::Currency.new(Account.currency).symbol,
350
- productLocalPrice: Float(data[:product_requested]),
351
- productRetailPrice: Float(data[:retail_price]),
352
- productWholesalePrice: Float(data[:wholesale_price]),
350
+ productLocalPrice: data[:product_requested] && Float(data[:product_requested]) || 0,
351
+ productRetailPrice: data[:retail_price] && Float(data[:retail_price]) || 0,
352
+ productWholesalePrice: data[:wholesale_price] && Float(data[:wholesale_price]) || 0,
353
353
  fetchedAt: T2Airtime::Util.format_time(ts)
354
354
  },
355
355
  relationships: {
356
356
  country: {
357
357
  data: {
358
358
  type: 'countries',
359
- id: Integer(data[:countryid])
359
+ id: data[:countryid] && Integer(data[:countryid]) || nil
360
360
  }
361
361
  },
362
362
  operator: {
363
363
  data: {
364
364
  type: 'operators',
365
- id: Integer(data[:operatorid])
365
+ id: data[:operatorid] && Integer(data[:operatorid]) || nil
366
366
  }
367
367
  },
368
368
  product: {
369
369
  data: {
370
370
  type: 'products',
371
- id: Integer(data[:product_requested])
371
+ id: data[:product_requested] && Integer(data[:product_requested]) || nil
372
372
  }
373
373
  }
374
374
  }
@@ -1,3 +1,3 @@
1
1
  module T2Airtime
2
- VERSION = '0.5.0'.freeze
2
+ VERSION = '0.5.1'.freeze
3
3
  end
@@ -28,15 +28,5 @@ module Dummy
28
28
  # Skip views, helpers and assets when generating a new resource.
29
29
  config.api_only = true
30
30
 
31
- # Rack::Cors provides support for Cross-Origin Resource Sharing (CORS)
32
- # for Rack compatible web applications.
33
- config.middleware.insert_before 0, Rack::Cors do
34
- allow do
35
- origins '*'
36
- resource '*',
37
- headers: :any,
38
- methods: %i[get post options]
39
- end
40
- end
41
31
  end
42
32
  end
@@ -5,12 +5,11 @@
5
5
 
6
6
  # Read more: https://github.com/cyu/rack-cors
7
7
 
8
- # Rails.application.config.middleware.insert_before 0, Rack::Cors do
9
- # allow do
10
- # origins 'example.com'
11
- #
12
- # resource '*',
13
- # headers: :any,
14
- # methods: [:get, :post, :put, :patch, :delete, :options, :head]
15
- # end
16
- # end
8
+ Rails.application.config.middleware.insert_before 0, Rack::Cors do
9
+ allow do
10
+ origins ENV['CORS_ORIGIN']
11
+ resource '*',
12
+ headers: :any,
13
+ methods: %i[get post options]
14
+ end
15
+ end
@@ -12162,3 +12162,788 @@ Processing by T2Airtime::CountriesController#index as JSON
12162
12162
  Completed 200 OK in 16ms (Views: 13.6ms)
12163
12163
 
12164
12164
 
12165
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:38:32 +0200
12166
+ Processing by T2Airtime::CountriesController#index as JSON
12167
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12168
+ Completed 200 OK in 1559ms (Views: 0.8ms)
12169
+
12170
+
12171
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:39:36 +0200
12172
+ Processing by T2Airtime::CountriesController#index as JSON
12173
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12174
+ Completed 200 OK in 3ms (Views: 0.6ms)
12175
+
12176
+
12177
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=1000&sort=-id" for 192.168.18.1 at 2017-09-18 16:39:58 +0200
12178
+ Processing by T2Airtime::CountriesController#index as JSON
12179
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"1000"}, "sort"=>"-id", "country"=>{}}
12180
+ Completed 200 OK in 10ms (Views: 7.2ms)
12181
+
12182
+
12183
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:40:47 +0200
12184
+ Processing by T2Airtime::CountriesController#index as JSON
12185
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12186
+ Completed 200 OK in 2ms (Views: 0.7ms)
12187
+
12188
+
12189
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:41:55 +0200
12190
+ Processing by T2Airtime::CountriesController#index as JSON
12191
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12192
+ Completed 200 OK in 27028ms (Views: 29.0ms)
12193
+
12194
+
12195
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:45:16 +0200
12196
+ Processing by T2Airtime::CountriesController#index as JSON
12197
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12198
+ Completed 200 OK in 29ms (Views: 24.8ms)
12199
+
12200
+
12201
+ Started GET "/countries/664" for 192.168.18.1 at 2017-09-18 16:46:39 +0200
12202
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=664&sort=-id" for 192.168.18.1 at 2017-09-18 16:46:39 +0200
12203
+ Processing by T2Airtime::OperatorsController#index as JSON
12204
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"664"}, "sort"=>"-id", "operator"=>{}}
12205
+ Processing by T2Airtime::CountriesController#show as JSON
12206
+ Parameters: {"id"=>"664", "country"=>{}}
12207
+ Completed 200 OK in 1ms (Views: 0.4ms)
12208
+
12209
+
12210
+ Completed 200 OK in 1584ms (Views: 0.5ms)
12211
+
12212
+
12213
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=664&sort=-id" for 192.168.18.1 at 2017-09-18 16:46:40 +0200
12214
+ Processing by T2Airtime::OperatorsController#index as JSON
12215
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"664"}, "sort"=>"-id", "operator"=>{}}
12216
+ Completed 200 OK in 2ms (Views: 0.2ms)
12217
+
12218
+
12219
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:47:12 +0200
12220
+ Processing by T2Airtime::CountriesController#index as JSON
12221
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12222
+ Completed 200 OK in 1420ms (Views: 0.4ms)
12223
+
12224
+
12225
+ Started GET "/countries/662" for 192.168.18.1 at 2017-09-18 16:47:19 +0200
12226
+ Processing by T2Airtime::CountriesController#show as JSON
12227
+ Parameters: {"id"=>"662", "country"=>{}}
12228
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=662&sort=-id" for 192.168.18.1 at 2017-09-18 16:47:19 +0200
12229
+ Processing by T2Airtime::OperatorsController#index as JSON
12230
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"662"}, "sort"=>"-id", "operator"=>{}}
12231
+ Completed 200 OK in 6ms (Views: 0.4ms)
12232
+
12233
+
12234
+ Completed 200 OK in 1469ms (Views: 0.5ms)
12235
+
12236
+
12237
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=662&sort=-id" for 192.168.18.1 at 2017-09-18 16:47:21 +0200
12238
+ Processing by T2Airtime::OperatorsController#index as JSON
12239
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"662"}, "sort"=>"-id", "operator"=>{}}
12240
+ Completed 200 OK in 1ms (Views: 0.2ms)
12241
+
12242
+
12243
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:49:48 +0200
12244
+ Processing by T2Airtime::CountriesController#index as JSON
12245
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12246
+ Completed 200 OK in 2ms (Views: 0.5ms)
12247
+
12248
+
12249
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:02 +0200
12250
+ Processing by T2Airtime::CountriesController#index as JSON
12251
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12252
+ Completed 200 OK in 20375ms (Views: 26.4ms)
12253
+
12254
+
12255
+ Started GET "/countries/662" for 192.168.18.1 at 2017-09-18 16:50:27 +0200
12256
+ Processing by T2Airtime::CountriesController#show as JSON
12257
+ Parameters: {"id"=>"662", "country"=>{}}
12258
+ Completed 200 OK in 1ms (Views: 0.4ms)
12259
+
12260
+
12261
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=662&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:27 +0200
12262
+ Processing by T2Airtime::OperatorsController#index as JSON
12263
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"662"}, "sort"=>"-id", "operator"=>{}}
12264
+ Completed 200 OK in 1681ms (Views: 1.0ms)
12265
+
12266
+
12267
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=662&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:29 +0200
12268
+ Processing by T2Airtime::OperatorsController#index as JSON
12269
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"662"}, "sort"=>"-id", "operator"=>{}}
12270
+ Completed 200 OK in 4ms (Views: 0.7ms)
12271
+
12272
+
12273
+ Started GET "/operators/715" for 192.168.18.1 at 2017-09-18 16:50:36 +0200
12274
+ Processing by T2Airtime::OperatorsController#show as JSON
12275
+ Parameters: {"id"=>"715", "operator"=>{}}
12276
+ Completed 200 OK in 1ms (Views: 0.3ms)
12277
+
12278
+
12279
+ Started GET "/products?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Boperator_id%5D=715&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:36 +0200
12280
+ Processing by T2Airtime::ProductsController#index as JSON
12281
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"operator_id"=>"715"}, "sort"=>"-id", "product"=>{}}
12282
+ Completed 200 OK in 3446ms (Views: 2.5ms)
12283
+
12284
+
12285
+ Started GET "/products?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Boperator_id%5D=715&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:40 +0200
12286
+ Processing by T2Airtime::ProductsController#index as JSON
12287
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"operator_id"=>"715"}, "sort"=>"-id", "product"=>{}}
12288
+ Completed 200 OK in 6ms (Views: 4.1ms)
12289
+
12290
+
12291
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=1000&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:41 +0200
12292
+ Processing by T2Airtime::CountriesController#index as JSON
12293
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"1000"}, "sort"=>"-id", "country"=>{}}
12294
+ Completed 200 OK in 31ms (Views: 28.4ms)
12295
+
12296
+
12297
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 16:50:44 +0200
12298
+ Processing by T2Airtime::CountriesController#index as JSON
12299
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12300
+ Completed 200 OK in 27ms (Views: 21.7ms)
12301
+
12302
+
12303
+ Started GET "/countries/670" for 192.168.18.1 at 2017-09-18 16:52:03 +0200
12304
+ Processing by T2Airtime::CountriesController#show as JSON
12305
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=670&sort=-id" for 192.168.18.1 at 2017-09-18 16:52:03 +0200
12306
+ Parameters: {"id"=>"670", "country"=>{}}
12307
+ Completed 200 OK in 4ms (Views: 0.9ms)
12308
+
12309
+
12310
+ Processing by T2Airtime::OperatorsController#index as JSON
12311
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"670"}, "sort"=>"-id", "operator"=>{}}
12312
+ Completed 200 OK in 1869ms (Views: 2.4ms)
12313
+
12314
+
12315
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=670&sort=-id" for 192.168.18.1 at 2017-09-18 16:52:05 +0200
12316
+ Processing by T2Airtime::OperatorsController#index as JSON
12317
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"670"}, "sort"=>"-id", "operator"=>{}}
12318
+ Completed 200 OK in 5ms (Views: 1.4ms)
12319
+
12320
+
12321
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:02:28 +0200
12322
+ Processing by T2Airtime::TransactionsController#index as JSON
12323
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12324
+ Completed 500 Internal Server Error in 3237ms
12325
+
12326
+
12327
+
12328
+ TypeError (can't convert nil into Integer):
12329
+
12330
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:339:in `Integer'
12331
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:339:in `block in serialize_one'
12332
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `block in fetch'
12333
+ activesupport (5.1.4) lib/active_support/cache.rb:586:in `block in save_block_result_to_cache'
12334
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `block in instrument'
12335
+ activesupport (5.1.4) lib/active_support/notifications.rb:168:in `instrument'
12336
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `instrument'
12337
+ activesupport (5.1.4) lib/active_support/cache.rb:585:in `save_block_result_to_cache'
12338
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `fetch'
12339
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:314:in `serialize_one'
12340
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:310:in `show'
12341
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `block in serialize'
12342
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12343
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12344
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `map'
12345
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `serialize'
12346
+ /src/gem/t2_airtime/app/controllers/t2_airtime/transactions_controller.rb:11:in `index'
12347
+ actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
12348
+ actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
12349
+ actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
12350
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
12351
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12352
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
12353
+ actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
12354
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
12355
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
12356
+ activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
12357
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
12358
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
12359
+ actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
12360
+ actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
12361
+ actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
12362
+ actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
12363
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
12364
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
12365
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12366
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12367
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12368
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12369
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12370
+ railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
12371
+ railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
12372
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
12373
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
12374
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12375
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12376
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12377
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12378
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
12379
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
12380
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
12381
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
12382
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12383
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
12384
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12385
+ actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
12386
+ actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
12387
+ railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
12388
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
12389
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
12390
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
12391
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
12392
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
12393
+ actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
12394
+ actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
12395
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
12396
+ activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
12397
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12398
+ actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
12399
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
12400
+ rack-cors (1.0.1) lib/rack/cors.rb:93:in `call'
12401
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12402
+ puma (3.10.0) lib/puma/configuration.rb:225:in `call'
12403
+ puma (3.10.0) lib/puma/server.rb:605:in `handle_request'
12404
+ puma (3.10.0) lib/puma/server.rb:437:in `process_client'
12405
+ puma (3.10.0) lib/puma/server.rb:301:in `block in run'
12406
+ puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
12407
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:10:06 +0200
12408
+ Processing by T2Airtime::TransactionsController#index as JSON
12409
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12410
+ Completed 500 Internal Server Error in 1611ms
12411
+
12412
+
12413
+
12414
+ TypeError (can't convert nil into Integer):
12415
+
12416
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:339:in `Integer'
12417
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:339:in `block in serialize_one'
12418
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `block in fetch'
12419
+ activesupport (5.1.4) lib/active_support/cache.rb:586:in `block in save_block_result_to_cache'
12420
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `block in instrument'
12421
+ activesupport (5.1.4) lib/active_support/notifications.rb:168:in `instrument'
12422
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `instrument'
12423
+ activesupport (5.1.4) lib/active_support/cache.rb:585:in `save_block_result_to_cache'
12424
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `fetch'
12425
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:314:in `serialize_one'
12426
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:310:in `show'
12427
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `block in serialize'
12428
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12429
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12430
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `map'
12431
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `serialize'
12432
+ /src/gem/t2_airtime/app/controllers/t2_airtime/transactions_controller.rb:11:in `index'
12433
+ actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
12434
+ actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
12435
+ actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
12436
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
12437
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12438
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
12439
+ actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
12440
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
12441
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
12442
+ activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
12443
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
12444
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
12445
+ actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
12446
+ actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
12447
+ actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
12448
+ actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
12449
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
12450
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
12451
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12452
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12453
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12454
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12455
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12456
+ railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
12457
+ railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
12458
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
12459
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
12460
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12461
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12462
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12463
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12464
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
12465
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
12466
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
12467
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
12468
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12469
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
12470
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12471
+ actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
12472
+ actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
12473
+ railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
12474
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
12475
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
12476
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
12477
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
12478
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
12479
+ actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
12480
+ actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
12481
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
12482
+ activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
12483
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12484
+ actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
12485
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
12486
+ rack-cors (1.0.1) lib/rack/cors.rb:93:in `call'
12487
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12488
+ puma (3.10.0) lib/puma/configuration.rb:225:in `call'
12489
+ puma (3.10.0) lib/puma/server.rb:605:in `handle_request'
12490
+ puma (3.10.0) lib/puma/server.rb:437:in `process_client'
12491
+ puma (3.10.0) lib/puma/server.rb:301:in `block in run'
12492
+ puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
12493
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:10:23 +0200
12494
+ Processing by T2Airtime::TransactionsController#index as JSON
12495
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12496
+ Completed 500 Internal Server Error in 4034ms
12497
+
12498
+
12499
+
12500
+ Money::Currency::UnknownCurrency (Unknown currency ''):
12501
+
12502
+ money (6.9.0) lib/money/currency.rb:41:in `new'
12503
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:347:in `block in serialize_one'
12504
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `block in fetch'
12505
+ activesupport (5.1.4) lib/active_support/cache.rb:586:in `block in save_block_result_to_cache'
12506
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `block in instrument'
12507
+ activesupport (5.1.4) lib/active_support/notifications.rb:168:in `instrument'
12508
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `instrument'
12509
+ activesupport (5.1.4) lib/active_support/cache.rb:585:in `save_block_result_to_cache'
12510
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `fetch'
12511
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:314:in `serialize_one'
12512
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:310:in `show'
12513
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `block in serialize'
12514
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12515
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12516
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `map'
12517
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `serialize'
12518
+ /src/gem/t2_airtime/app/controllers/t2_airtime/transactions_controller.rb:11:in `index'
12519
+ actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
12520
+ actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
12521
+ actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
12522
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
12523
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12524
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
12525
+ actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
12526
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
12527
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
12528
+ activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
12529
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
12530
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
12531
+ actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
12532
+ actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
12533
+ actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
12534
+ actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
12535
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
12536
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
12537
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12538
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12539
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12540
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12541
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12542
+ railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
12543
+ railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
12544
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
12545
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
12546
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12547
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12548
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12549
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12550
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
12551
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
12552
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
12553
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
12554
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12555
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
12556
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12557
+ actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
12558
+ actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
12559
+ railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
12560
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
12561
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
12562
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
12563
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
12564
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
12565
+ actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
12566
+ actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
12567
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
12568
+ activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
12569
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12570
+ actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
12571
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
12572
+ rack-cors (1.0.1) lib/rack/cors.rb:93:in `call'
12573
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12574
+ puma (3.10.0) lib/puma/configuration.rb:225:in `call'
12575
+ puma (3.10.0) lib/puma/server.rb:605:in `handle_request'
12576
+ puma (3.10.0) lib/puma/server.rb:437:in `process_client'
12577
+ puma (3.10.0) lib/puma/server.rb:301:in `block in run'
12578
+ puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
12579
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:11:10 +0200
12580
+ Processing by T2Airtime::TransactionsController#index as JSON
12581
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12582
+ Completed 500 Internal Server Error in 3086ms
12583
+
12584
+
12585
+
12586
+ TypeError (can't convert nil into Integer):
12587
+
12588
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:359:in `Integer'
12589
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:359:in `block in serialize_one'
12590
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `block in fetch'
12591
+ activesupport (5.1.4) lib/active_support/cache.rb:586:in `block in save_block_result_to_cache'
12592
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `block in instrument'
12593
+ activesupport (5.1.4) lib/active_support/notifications.rb:168:in `instrument'
12594
+ activesupport (5.1.4) lib/active_support/cache.rb:555:in `instrument'
12595
+ activesupport (5.1.4) lib/active_support/cache.rb:585:in `save_block_result_to_cache'
12596
+ activesupport (5.1.4) lib/active_support/cache.rb:297:in `fetch'
12597
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:314:in `serialize_one'
12598
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:310:in `show'
12599
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `block in serialize'
12600
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12601
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `each'
12602
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `map'
12603
+ /src/gem/t2_airtime/lib/t2_airtime/serializer.rb:299:in `serialize'
12604
+ /src/gem/t2_airtime/app/controllers/t2_airtime/transactions_controller.rb:11:in `index'
12605
+ actionpack (5.1.4) lib/action_controller/metal/basic_implicit_render.rb:4:in `send_action'
12606
+ actionpack (5.1.4) lib/abstract_controller/base.rb:186:in `process_action'
12607
+ actionpack (5.1.4) lib/action_controller/metal/rendering.rb:30:in `process_action'
12608
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
12609
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12610
+ actionpack (5.1.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
12611
+ actionpack (5.1.4) lib/action_controller/metal/rescue.rb:20:in `process_action'
12612
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
12613
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `block in instrument'
12614
+ activesupport (5.1.4) lib/active_support/notifications/instrumenter.rb:21:in `instrument'
12615
+ activesupport (5.1.4) lib/active_support/notifications.rb:166:in `instrument'
12616
+ actionpack (5.1.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
12617
+ actionpack (5.1.4) lib/action_controller/metal/params_wrapper.rb:252:in `process_action'
12618
+ actionpack (5.1.4) lib/abstract_controller/base.rb:124:in `process'
12619
+ actionpack (5.1.4) lib/action_controller/metal.rb:189:in `dispatch'
12620
+ actionpack (5.1.4) lib/action_controller/metal.rb:253:in `dispatch'
12621
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:49:in `dispatch'
12622
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:31:in `serve'
12623
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12624
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12625
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12626
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12627
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12628
+ railties (5.1.4) lib/rails/railtie.rb:185:in `public_send'
12629
+ railties (5.1.4) lib/rails/railtie.rb:185:in `method_missing'
12630
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:17:in `block in <class:Constraints>'
12631
+ actionpack (5.1.4) lib/action_dispatch/routing/mapper.rb:46:in `serve'
12632
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:50:in `block in serve'
12633
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `each'
12634
+ actionpack (5.1.4) lib/action_dispatch/journey/router.rb:33:in `serve'
12635
+ actionpack (5.1.4) lib/action_dispatch/routing/route_set.rb:834:in `call'
12636
+ rack (2.0.3) lib/rack/etag.rb:25:in `call'
12637
+ rack (2.0.3) lib/rack/conditional_get.rb:25:in `call'
12638
+ rack (2.0.3) lib/rack/head.rb:12:in `call'
12639
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:26:in `block in call'
12640
+ activesupport (5.1.4) lib/active_support/callbacks.rb:97:in `run_callbacks'
12641
+ actionpack (5.1.4) lib/action_dispatch/middleware/callbacks.rb:24:in `call'
12642
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12643
+ actionpack (5.1.4) lib/action_dispatch/middleware/debug_exceptions.rb:59:in `call'
12644
+ actionpack (5.1.4) lib/action_dispatch/middleware/show_exceptions.rb:31:in `call'
12645
+ railties (5.1.4) lib/rails/rack/logger.rb:36:in `call_app'
12646
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `block in call'
12647
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `block in tagged'
12648
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:26:in `tagged'
12649
+ activesupport (5.1.4) lib/active_support/tagged_logging.rb:69:in `tagged'
12650
+ railties (5.1.4) lib/rails/rack/logger.rb:24:in `call'
12651
+ actionpack (5.1.4) lib/action_dispatch/middleware/remote_ip.rb:79:in `call'
12652
+ actionpack (5.1.4) lib/action_dispatch/middleware/request_id.rb:25:in `call'
12653
+ rack (2.0.3) lib/rack/runtime.rb:22:in `call'
12654
+ activesupport (5.1.4) lib/active_support/cache/strategy/local_cache_middleware.rb:27:in `call'
12655
+ actionpack (5.1.4) lib/action_dispatch/middleware/executor.rb:12:in `call'
12656
+ actionpack (5.1.4) lib/action_dispatch/middleware/static.rb:125:in `call'
12657
+ rack (2.0.3) lib/rack/sendfile.rb:111:in `call'
12658
+ rack-cors (1.0.1) lib/rack/cors.rb:93:in `call'
12659
+ railties (5.1.4) lib/rails/engine.rb:522:in `call'
12660
+ puma (3.10.0) lib/puma/configuration.rb:225:in `call'
12661
+ puma (3.10.0) lib/puma/server.rb:605:in `handle_request'
12662
+ puma (3.10.0) lib/puma/server.rb:437:in `process_client'
12663
+ puma (3.10.0) lib/puma/server.rb:301:in `block in run'
12664
+ puma (3.10.0) lib/puma/thread_pool.rb:120:in `block in spawn_thread'
12665
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:12:10 +0200
12666
+ Processing by T2Airtime::TransactionsController#index as JSON
12667
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12668
+ Completed 200 OK in 139735ms (Views: 88.3ms)
12669
+
12670
+
12671
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:16:40 +0200
12672
+ Processing by T2Airtime::TransactionsController#index as JSON
12673
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12674
+ Completed 200 OK in 2206ms (Views: 127.9ms)
12675
+
12676
+
12677
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:18:51 +0200
12678
+ Processing by T2Airtime::TransactionsController#index as JSON
12679
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12680
+ Completed 200 OK in 2264ms (Views: 160.2ms)
12681
+
12682
+
12683
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:19:55 +0200
12684
+ Processing by T2Airtime::TransactionsController#index as JSON
12685
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12686
+ Completed 200 OK in 2384ms (Views: 273.3ms)
12687
+
12688
+
12689
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:20:26 +0200
12690
+ Processing by T2Airtime::TransactionsController#index as JSON
12691
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12692
+ Completed 200 OK in 2130ms (Views: 118.0ms)
12693
+
12694
+
12695
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:20:51 +0200
12696
+ Processing by T2Airtime::TransactionsController#index as JSON
12697
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12698
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:22:51 +0200
12699
+ Processing by T2Airtime::TransactionsController#index as JSON
12700
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12701
+ Completed 200 OK in 139789ms (Views: 76.2ms)
12702
+
12703
+
12704
+ Started GET "/transactions/584709219" for 192.168.18.1 at 2017-09-18 17:28:51 +0200
12705
+ Processing by T2Airtime::TransactionsController#show as JSON
12706
+ Parameters: {"id"=>"584709219", "transaction"=>{}}
12707
+ Completed 200 OK in 7ms (Views: 1.9ms)
12708
+
12709
+
12710
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:28:56 +0200
12711
+ Processing by T2Airtime::TransactionsController#index as JSON
12712
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12713
+ Completed 200 OK in 1759ms (Views: 58.8ms)
12714
+
12715
+
12716
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&filter%5Bstart%5D=2017-09-18T00%3A00%3A00%2B02%3A00&sort=-id" for 192.168.18.1 at 2017-09-18 17:29:13 +0200
12717
+ Processing by T2Airtime::TransactionsController#index as JSON
12718
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "filter"=>{"start"=>"2017-09-18T00:00:00+02:00"}, "sort"=>"-id", "transaction"=>{}}
12719
+ Completed 200 OK in 1840ms (Views: 122.6ms)
12720
+
12721
+
12722
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:29:20 +0200
12723
+ Processing by T2Airtime::TransactionsController#index as JSON
12724
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12725
+ Completed 200 OK in 4927ms (Views: 73.2ms)
12726
+
12727
+
12728
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:33:27 +0200
12729
+ Processing by T2Airtime::TransactionsController#index as JSON
12730
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12731
+ Completed 200 OK in 3616ms (Views: 704.7ms)
12732
+
12733
+
12734
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:35:05 +0200
12735
+ Processing by T2Airtime::TransactionsController#index as JSON
12736
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12737
+ Completed 200 OK in 3003ms (Views: 848.7ms)
12738
+
12739
+
12740
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:35:46 +0200
12741
+ Processing by T2Airtime::TransactionsController#index as JSON
12742
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12743
+ Completed 200 OK in 2529ms (Views: 311.8ms)
12744
+
12745
+
12746
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:36:54 +0200
12747
+ Processing by T2Airtime::TransactionsController#index as JSON
12748
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12749
+ Completed 200 OK in 2072ms (Views: 194.8ms)
12750
+
12751
+
12752
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:37:43 +0200
12753
+ Processing by T2Airtime::TransactionsController#index as JSON
12754
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12755
+ Completed 200 OK in 2988ms (Views: 372.6ms)
12756
+
12757
+
12758
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:38:05 +0200
12759
+ Processing by T2Airtime::TransactionsController#index as JSON
12760
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12761
+ Completed 200 OK in 2992ms (Views: 596.0ms)
12762
+
12763
+
12764
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:38:22 +0200
12765
+ Processing by T2Airtime::TransactionsController#index as JSON
12766
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12767
+ Completed 200 OK in 2589ms (Views: 146.0ms)
12768
+
12769
+
12770
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:39:43 +0200
12771
+ Processing by T2Airtime::TransactionsController#index as JSON
12772
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12773
+ Completed 200 OK in 4001ms (Views: 1070.8ms)
12774
+
12775
+
12776
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:41:48 +0200
12777
+ Processing by T2Airtime::TransactionsController#index as JSON
12778
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12779
+ Completed 200 OK in 2977ms (Views: 600.0ms)
12780
+
12781
+
12782
+ Started GET "/transactions/584682912" for 192.168.18.1 at 2017-09-18 17:42:05 +0200
12783
+ Processing by T2Airtime::TransactionsController#show as JSON
12784
+ Parameters: {"id"=>"584682912", "transaction"=>{}}
12785
+ Completed 200 OK in 9ms (Views: 2.7ms)
12786
+
12787
+
12788
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 17:42:08 +0200
12789
+ Processing by T2Airtime::TransactionsController#index as JSON
12790
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12791
+ Completed 200 OK in 1933ms (Views: 136.8ms)
12792
+
12793
+
12794
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:00:27 +0200
12795
+ Processing by T2Airtime::TransactionsController#index as JSON
12796
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12797
+ Completed 200 OK in 2656ms (Views: 267.8ms)
12798
+
12799
+
12800
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:01:13 +0200
12801
+ Processing by T2Airtime::TransactionsController#index as JSON
12802
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12803
+ Completed 200 OK in 3477ms (Views: 496.3ms)
12804
+
12805
+
12806
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:01:33 +0200
12807
+ Processing by T2Airtime::TransactionsController#index as JSON
12808
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12809
+ Completed 200 OK in 2836ms (Views: 294.4ms)
12810
+
12811
+
12812
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:01:58 +0200
12813
+ Processing by T2Airtime::CountriesController#index as JSON
12814
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "country"=>{}}
12815
+ Completed 200 OK in 15285ms (Views: 42.7ms)
12816
+
12817
+
12818
+ Started GET "/countries/668" for 192.168.18.1 at 2017-09-18 18:02:22 +0200
12819
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=668&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:22 +0200
12820
+ Processing by T2Airtime::CountriesController#show as JSON
12821
+ Parameters: {"id"=>"668", "country"=>{}}
12822
+ Completed 200 OK in 1ms (Views: 0.6ms)
12823
+
12824
+
12825
+ Processing by T2Airtime::OperatorsController#index as JSON
12826
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"668"}, "sort"=>"-id", "operator"=>{}}
12827
+ Completed 200 OK in 1706ms (Views: 1.8ms)
12828
+
12829
+
12830
+ Started GET "/operators?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Bcountry_id%5D=668&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:24 +0200
12831
+ Processing by T2Airtime::OperatorsController#index as JSON
12832
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"country_id"=>"668"}, "sort"=>"-id", "operator"=>{}}
12833
+ Completed 200 OK in 3ms (Views: 1.0ms)
12834
+
12835
+
12836
+ Started GET "/operators/1573" for 192.168.18.1 at 2017-09-18 18:02:28 +0200
12837
+ Started GET "/products?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Boperator_id%5D=1573&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:28 +0200
12838
+ Processing by T2Airtime::OperatorsController#show as JSON
12839
+ Parameters: {"id"=>"1573", "operator"=>{}}
12840
+ Completed 200 OK in 1ms (Views: 0.3ms)
12841
+
12842
+
12843
+ Processing by T2Airtime::ProductsController#index as JSON
12844
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"operator_id"=>"1573"}, "sort"=>"-id", "product"=>{}}
12845
+ Completed 200 OK in 3502ms (Views: 12.6ms)
12846
+
12847
+
12848
+ Started GET "/products?page%5Boffset%5D=0&page%5Blimit%5D=25&filter%5Boperator_id%5D=1573&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:31 +0200
12849
+ Processing by T2Airtime::ProductsController#index as JSON
12850
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"25"}, "filter"=>{"operator_id"=>"1573"}, "sort"=>"-id", "product"=>{}}
12851
+ Completed 200 OK in 12ms (Views: 10.0ms)
12852
+
12853
+
12854
+ Started GET "/countries?page%5Boffset%5D=0&page%5Blimit%5D=1000&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:34 +0200
12855
+ Processing by T2Airtime::CountriesController#index as JSON
12856
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"1000"}, "sort"=>"-id", "country"=>{}}
12857
+ Completed 200 OK in 29ms (Views: 23.4ms)
12858
+
12859
+
12860
+ Started GET "/msisdn_info?destination_number=%2B393801524729" for 192.168.18.1 at 2017-09-18 18:02:44 +0200
12861
+ Processing by T2Airtime::TopupsController#msisdn_info as JSON
12862
+ Parameters: {"destination_number"=>"+393801524729", "topup"=>{}}
12863
+ Unpermitted parameter: :topup
12864
+ Completed 200 OK in 2084ms (Views: 0.4ms)
12865
+
12866
+
12867
+ Started GET "/products?page%5Boffset%5D=0&page%5Blimit%5D=1000&filter%5Boperator_id%5D=734&sort=-id" for 192.168.18.1 at 2017-09-18 18:02:47 +0200
12868
+ Processing by T2Airtime::ProductsController#index as JSON
12869
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"1000"}, "filter"=>{"operator_id"=>"734"}, "sort"=>"-id", "product"=>{}}
12870
+ Completed 200 OK in 1714ms (Views: 1.7ms)
12871
+
12872
+
12873
+ Started GET "/reserve_id" for 192.168.18.1 at 2017-09-18 18:02:50 +0200
12874
+ Processing by T2Airtime::TopupsController#reserve_id as JSON
12875
+ Parameters: {"topup"=>{}}
12876
+ Completed 200 OK in 1895ms (Views: 0.6ms)
12877
+
12878
+
12879
+ Started POST "/topup?msisdn=%2B9323432333&destination_number=%2B393801524729&product=5&method=simulation&reserved_id=584776414&send_sms=false&sms=undefined&cid1=undefined&cid2=undefined&cid3=undefined" for 192.168.18.1 at 2017-09-18 18:03:05 +0200
12880
+ Processing by T2Airtime::TopupsController#topup as JSON
12881
+ Parameters: {"msisdn"=>"+9323432333", "destination_number"=>"+393801524729", "product"=>"5", "method"=>"simulation", "reserved_id"=>"584776414", "send_sms"=>"false", "sms"=>"undefined", "cid1"=>"undefined", "cid2"=>"undefined", "cid3"=>"undefined", "topup"=>{}}
12882
+ Unpermitted parameter: :topup
12883
+ Unpermitted parameter: :topup
12884
+ Unpermitted parameter: :topup
12885
+ Unpermitted parameter: :topup
12886
+ Unpermitted parameter: :topup
12887
+ Unpermitted parameter: :topup
12888
+ Unpermitted parameter: :topup
12889
+ Unpermitted parameter: :topup
12890
+ Unpermitted parameter: :topup
12891
+ Unpermitted parameter: :topup
12892
+ Unpermitted parameter: :topup
12893
+ Completed 200 OK in 3077ms (Views: 0.6ms)
12894
+
12895
+
12896
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:03:13 +0200
12897
+ Processing by T2Airtime::TransactionsController#index as JSON
12898
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12899
+ Completed 200 OK in 1692ms (Views: 75.2ms)
12900
+
12901
+
12902
+ Started GET "/transactions/584682936" for 192.168.18.1 at 2017-09-18 18:03:23 +0200
12903
+ Processing by T2Airtime::TransactionsController#show as JSON
12904
+ Parameters: {"id"=>"584682936", "transaction"=>{}}
12905
+ Completed 200 OK in 4ms (Views: 1.5ms)
12906
+
12907
+
12908
+ Started GET "/transactions/584682936" for 192.168.18.1 at 2017-09-18 18:03:57 +0200
12909
+ Processing by T2Airtime::TransactionsController#show as JSON
12910
+ Parameters: {"id"=>"584682936", "transaction"=>{}}
12911
+ Completed 200 OK in 8ms (Views: 1.6ms)
12912
+
12913
+
12914
+ Started GET "/transactions/584682936" for 192.168.18.1 at 2017-09-18 18:06:06 +0200
12915
+ Processing by T2Airtime::TransactionsController#show as JSON
12916
+ Parameters: {"id"=>"584682936", "transaction"=>{}}
12917
+ Completed 200 OK in 13ms (Views: 1.5ms)
12918
+
12919
+
12920
+ Started GET "/transactions/584682936" for 192.168.18.1 at 2017-09-18 18:08:01 +0200
12921
+ Processing by T2Airtime::TransactionsController#show as JSON
12922
+ Parameters: {"id"=>"584682936", "transaction"=>{}}
12923
+ Completed 200 OK in 3ms (Views: 0.9ms)
12924
+
12925
+
12926
+ Started GET "/transactions/584682936" for 192.168.18.1 at 2017-09-18 18:08:38 +0200
12927
+ Processing by T2Airtime::TransactionsController#show as JSON
12928
+ Parameters: {"id"=>"584682936", "transaction"=>{}}
12929
+ Completed 200 OK in 6ms (Views: 3.8ms)
12930
+
12931
+
12932
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:08:42 +0200
12933
+ Processing by T2Airtime::TransactionsController#index as JSON
12934
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12935
+ Completed 200 OK in 1992ms (Views: 78.8ms)
12936
+
12937
+
12938
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:09:14 +0200
12939
+ Processing by T2Airtime::TransactionsController#index as JSON
12940
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12941
+ Completed 200 OK in 1725ms (Views: 55.9ms)
12942
+
12943
+
12944
+ Started GET "/transactions?page%5Boffset%5D=0&page%5Blimit%5D=10&sort=-id" for 192.168.18.1 at 2017-09-18 18:09:34 +0200
12945
+ Processing by T2Airtime::TransactionsController#index as JSON
12946
+ Parameters: {"page"=>{"offset"=>"0", "limit"=>"10"}, "sort"=>"-id", "transaction"=>{}}
12947
+ Completed 200 OK in 1986ms (Views: 141.5ms)
12948
+
12949
+