t2_airtime 0.5.0 → 0.5.1

Sign up to get free protection for your applications and to get access to all the features.
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
+