acfs 1.6.0 → 2.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (258) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +144 -115
  3. data/README.md +33 -41
  4. data/acfs.gemspec +9 -10
  5. data/lib/acfs/adapter/typhoeus.rb +6 -4
  6. data/lib/acfs/collections/paginatable.rb +11 -11
  7. data/lib/acfs/configuration.rb +13 -3
  8. data/lib/acfs/errors.rb +7 -7
  9. data/lib/acfs/global.rb +4 -4
  10. data/lib/acfs/location.rb +2 -2
  11. data/lib/acfs/operation.rb +1 -1
  12. data/lib/acfs/request/callbacks.rb +1 -1
  13. data/lib/acfs/request.rb +1 -1
  14. data/lib/acfs/resource/attributes/uuid.rb +2 -2
  15. data/lib/acfs/resource/attributes.rb +1 -1
  16. data/lib/acfs/resource/dirty.rb +1 -1
  17. data/lib/acfs/resource/locatable.rb +2 -2
  18. data/lib/acfs/resource/operational.rb +4 -4
  19. data/lib/acfs/resource/query_methods.rb +5 -5
  20. data/lib/acfs/response/status.rb +1 -1
  21. data/lib/acfs/runner.rb +15 -15
  22. data/lib/acfs/service/middleware.rb +2 -2
  23. data/lib/acfs/singleton_resource.rb +2 -2
  24. data/lib/acfs/stub.rb +35 -30
  25. data/lib/acfs/version.rb +3 -3
  26. data/lib/acfs/yard.rb +1 -0
  27. data/spec/acfs/adapter/typhoeus_spec.rb +4 -4
  28. data/spec/acfs/collection_spec.rb +66 -41
  29. data/spec/acfs/configuration_spec.rb +22 -12
  30. data/spec/acfs/global_spec.rb +14 -12
  31. data/spec/acfs/location_spec.rb +1 -1
  32. data/spec/acfs/middleware/json_spec.rb +9 -9
  33. data/spec/acfs/middleware/{msgpack_spec.rb → message_pack_spec.rb} +7 -7
  34. data/spec/acfs/operation_spec.rb +4 -3
  35. data/spec/acfs/request/callbacks_spec.rb +19 -10
  36. data/spec/acfs/request_spec.rb +15 -19
  37. data/spec/acfs/resource/attributes/boolean_spec.rb +32 -32
  38. data/spec/acfs/resource/attributes/date_time_spec.rb +17 -9
  39. data/spec/acfs/resource/attributes/dict_spec.rb +16 -10
  40. data/spec/acfs/resource/attributes/float_spec.rb +21 -11
  41. data/spec/acfs/resource/attributes/integer_spec.rb +11 -6
  42. data/spec/acfs/resource/attributes/list_spec.rb +13 -8
  43. data/spec/acfs/resource/attributes/uuid_spec.rb +14 -8
  44. data/spec/acfs/resource/attributes_spec.rb +33 -32
  45. data/spec/acfs/resource/dirty_spec.rb +7 -4
  46. data/spec/acfs/resource/initialization_spec.rb +4 -5
  47. data/spec/acfs/resource/loadable_spec.rb +3 -1
  48. data/spec/acfs/resource/locatable_spec.rb +24 -18
  49. data/spec/acfs/resource/{persistance_spec.rb → persistence_spec.rb} +119 -87
  50. data/spec/acfs/resource/query_methods_spec.rb +144 -111
  51. data/spec/acfs/resource/validation_spec.rb +34 -27
  52. data/spec/acfs/response/formats_spec.rb +8 -8
  53. data/spec/acfs/response/status_spec.rb +16 -9
  54. data/spec/acfs/runner_spec.rb +22 -20
  55. data/spec/acfs/service/middleware_spec.rb +3 -3
  56. data/spec/acfs/service_spec.rb +5 -4
  57. data/spec/acfs/singleton_resource_spec.rb +2 -1
  58. data/spec/acfs/stub_spec.rb +64 -65
  59. data/spec/acfs_spec.rb +112 -94
  60. data/spec/spec_helper.rb +10 -6
  61. data/spec/support/hash.rb +1 -1
  62. data/spec/support/response.rb +2 -2
  63. data/spec/support/service.rb +1 -1
  64. data/spec/support/shared/find_callbacks.rb +14 -10
  65. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/LICENSE +21 -0
  66. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/README.md +23 -0
  67. data/vendor/bundle/ruby/3.4.0/bundler/gems/rubocop-config-67802c9d1826/rubocop-config.gemspec +31 -0
  68. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/CHANGELOG.md +205 -0
  69. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/MIT-LICENSE +21 -0
  70. data/vendor/bundle/ruby/3.4.0/gems/actionpack-8.0.1/README.rdoc +57 -0
  71. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/CHANGELOG.md +67 -0
  72. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/MIT-LICENSE +21 -0
  73. data/vendor/bundle/ruby/3.4.0/gems/actionview-8.0.1/README.rdoc +40 -0
  74. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/CHANGELOG.md +110 -0
  75. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/MIT-LICENSE +21 -0
  76. data/vendor/bundle/ruby/3.4.0/gems/activemodel-8.0.1/README.rdoc +266 -0
  77. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/CHANGELOG.md +157 -0
  78. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/MIT-LICENSE +20 -0
  79. data/vendor/bundle/ruby/3.4.0/gems/activesupport-8.0.1/README.rdoc +40 -0
  80. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/CHANGELOG.md +301 -0
  81. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/LICENSE.txt +202 -0
  82. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/README.md +121 -0
  83. data/vendor/bundle/ruby/3.4.0/gems/addressable-2.8.7/addressable.gemspec +28 -0
  84. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/MIT-LICENSE +21 -0
  85. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/README.md +243 -0
  86. data/vendor/bundle/ruby/3.4.0/gems/appraisal-2.5.0/appraisal.gemspec +29 -0
  87. data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/LICENSE.txt +22 -0
  88. data/vendor/bundle/ruby/3.4.0/gems/base64-0.2.0/README.md +48 -0
  89. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/README.md +138 -0
  90. data/vendor/bundle/ruby/3.4.0/gems/benchmark-0.4.0/benchmark.gemspec +32 -0
  91. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/LICENSE +56 -0
  92. data/vendor/bundle/ruby/3.4.0/gems/bigdecimal-3.1.9/bigdecimal.gemspec +57 -0
  93. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/MIT-LICENSE +20 -0
  94. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/README.md +258 -0
  95. data/vendor/bundle/ruby/3.4.0/gems/builder-3.3.0/builder.gemspec +49 -0
  96. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/CHANGELOG.md +603 -0
  97. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/LICENSE.txt +21 -0
  98. data/vendor/bundle/ruby/3.4.0/gems/concurrent-ruby-1.3.5/README.md +407 -0
  99. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/LICENSE +20 -0
  100. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/README.md +167 -0
  101. data/vendor/bundle/ruby/3.4.0/gems/connection_pool-2.5.0/connection_pool.gemspec +24 -0
  102. data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/LICENSE +20 -0
  103. data/vendor/bundle/ruby/3.4.0/gems/crack-1.0.0/README.md +43 -0
  104. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/LICENSE +18 -0
  105. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/README.md +192 -0
  106. data/vendor/bundle/ruby/3.4.0/gems/crass-1.0.6/crass.gemspec +31 -0
  107. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/License.md +41 -0
  108. data/vendor/bundle/ruby/3.4.0/gems/diff-lcs-1.5.1/README.rdoc +84 -0
  109. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/LICENSE.txt +22 -0
  110. data/vendor/bundle/ruby/3.4.0/gems/drb-2.2.1/drb.gemspec +41 -0
  111. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/CHANGELOG +111 -0
  112. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/MIT-LICENSE +21 -0
  113. data/vendor/bundle/ruby/3.4.0/gems/erubi-1.13.1/README.rdoc +151 -0
  114. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/CHANGELOG.md +375 -0
  115. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/LICENSE +20 -0
  116. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/README.md +118 -0
  117. data/vendor/bundle/ruby/3.4.0/gems/ethon-0.16.0/ethon.gemspec +26 -0
  118. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/CHANGELOG.md +465 -0
  119. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE +24 -0
  120. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/LICENSE.SPECS +22 -0
  121. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/README.md +137 -0
  122. data/vendor/bundle/ruby/3.4.0/gems/ffi-1.17.1-x86_64-linux-gnu/ffi.gemspec +42 -0
  123. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/LICENSE +19 -0
  124. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/README.md +298 -0
  125. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/changelog.md +119 -0
  126. data/vendor/bundle/ruby/3.4.0/gems/hashdiff-1.1.2/hashdiff.gemspec +39 -0
  127. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/MIT-LICENSE +20 -0
  128. data/vendor/bundle/ruby/3.4.0/gems/i18n-1.14.6/README.md +127 -0
  129. data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/README.md +195 -0
  130. data/vendor/bundle/ruby/3.4.0/gems/json-2.9.1/json.gemspec +64 -0
  131. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/README.md +104 -0
  132. data/vendor/bundle/ruby/3.4.0/gems/logger-1.6.5/logger.gemspec +28 -0
  133. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/CHANGELOG.md +591 -0
  134. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/MIT-LICENSE.txt +23 -0
  135. data/vendor/bundle/ruby/3.4.0/gems/loofah-2.24.0/README.md +410 -0
  136. data/vendor/bundle/ruby/3.4.0/gems/minitest-5.25.4/README.rdoc +835 -0
  137. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/CHANGELOG.md +275 -0
  138. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/LICENSE.md +20 -0
  139. data/vendor/bundle/ruby/3.4.0/gems/multi_json-1.15.0/README.md +121 -0
  140. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE-DEPENDENCIES.md +2224 -0
  141. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/LICENSE.md +9 -0
  142. data/vendor/bundle/ruby/3.4.0/gems/nokogiri-1.18.1-x86_64-linux-gnu/README.md +293 -0
  143. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/CHANGELOG.md +491 -0
  144. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/LICENSE.txt +22 -0
  145. data/vendor/bundle/ruby/3.4.0/gems/public_suffix-6.0.1/README.md +222 -0
  146. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/ChangeLog +846 -0
  147. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.ja.rdoc +58 -0
  148. data/vendor/bundle/ruby/3.4.0/gems/racc-1.8.1/README.rdoc +60 -0
  149. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/CHANGELOG.md +998 -0
  150. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/MIT-LICENSE +20 -0
  151. data/vendor/bundle/ruby/3.4.0/gems/rack-3.1.8/README.md +328 -0
  152. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/license.md +72 -0
  153. data/vendor/bundle/ruby/3.4.0/gems/rack-session-2.1.0/readme.md +47 -0
  154. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/MIT-LICENSE.txt +20 -0
  155. data/vendor/bundle/ruby/3.4.0/gems/rack-test-2.2.0/README.md +139 -0
  156. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/MIT-LICENSE +23 -0
  157. data/vendor/bundle/ruby/3.4.0/gems/rails-dom-testing-2.2.0/README.md +91 -0
  158. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/CHANGELOG.md +255 -0
  159. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/MIT-LICENSE +23 -0
  160. data/vendor/bundle/ruby/3.4.0/gems/rails-html-sanitizer-1.6.2/README.md +267 -0
  161. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/MIT-LICENSE +21 -0
  162. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/README.rdoc +155 -0
  163. data/vendor/bundle/ruby/3.4.0/gems/rake-13.2.1/rake.gemspec +101 -0
  164. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/LICENSE +21 -0
  165. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/README.md +107 -0
  166. data/vendor/bundle/ruby/3.4.0/gems/rake-release-1.3.0/rake-release.gemspec +23 -0
  167. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/LICENSE.txt +22 -0
  168. data/vendor/bundle/ruby/3.4.0/gems/rexml-3.4.0/README.md +57 -0
  169. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/LICENSE.md +27 -0
  170. data/vendor/bundle/ruby/3.4.0/gems/rspec-3.13.0/README.md +47 -0
  171. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/Changelog.md +68 -0
  172. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/LICENSE.txt +27 -0
  173. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/README.md +76 -0
  174. data/vendor/bundle/ruby/3.4.0/gems/rspec-collection_matchers-1.2.1/rspec-collection_matchers.gemspec +33 -0
  175. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/Changelog.md +2415 -0
  176. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/LICENSE.md +26 -0
  177. data/vendor/bundle/ruby/3.4.0/gems/rspec-core-3.13.2/README.md +389 -0
  178. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/Changelog.md +1352 -0
  179. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/LICENSE.md +25 -0
  180. data/vendor/bundle/ruby/3.4.0/gems/rspec-expectations-3.13.3/README.md +326 -0
  181. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/Changelog.md +73 -0
  182. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/LICENSE.txt +27 -0
  183. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/README.md +104 -0
  184. data/vendor/bundle/ruby/3.4.0/gems/rspec-its-2.0.0/rspec-its.gemspec +31 -0
  185. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/Changelog.md +1299 -0
  186. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/LICENSE.md +25 -0
  187. data/vendor/bundle/ruby/3.4.0/gems/rspec-mocks-3.13.2/README.md +465 -0
  188. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/Changelog.md +408 -0
  189. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/LICENSE.md +23 -0
  190. data/vendor/bundle/ruby/3.4.0/gems/rspec-support-3.13.2/README.md +40 -0
  191. data/vendor/bundle/ruby/3.4.0/gems/securerandom-0.4.1/README.md +72 -0
  192. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/LICENSE.md +20 -0
  193. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/README.md +45 -0
  194. data/vendor/bundle/ruby/3.4.0/gems/thor-1.3.2/thor.gemspec +33 -0
  195. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/CHANGELOG.md +410 -0
  196. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/LICENSE +22 -0
  197. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/README.md +588 -0
  198. data/vendor/bundle/ruby/3.4.0/gems/typhoeus-1.4.1/typhoeus.gemspec +25 -0
  199. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/LICENSE +19 -0
  200. data/vendor/bundle/ruby/3.4.0/gems/tzinfo-2.0.6/README.md +406 -0
  201. data/vendor/bundle/ruby/3.4.0/gems/uri-1.0.2/README.md +55 -0
  202. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/LICENSE +20 -0
  203. data/vendor/bundle/ruby/3.4.0/gems/useragent-0.16.11/README.md +42 -0
  204. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/CHANGELOG.md +2104 -0
  205. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/LICENSE +20 -0
  206. data/vendor/bundle/ruby/3.4.0/gems/webmock-3.24.0/README.md +1222 -0
  207. data/vendor/bundle/ruby/3.4.0/specifications/actionpack-8.0.1.gemspec +36 -0
  208. data/vendor/bundle/ruby/3.4.0/specifications/actionview-8.0.1.gemspec +33 -0
  209. data/vendor/bundle/ruby/3.4.0/specifications/activemodel-8.0.1.gemspec +26 -0
  210. data/vendor/bundle/ruby/3.4.0/specifications/activesupport-8.0.1.gemspec +38 -0
  211. data/vendor/bundle/ruby/3.4.0/specifications/addressable-2.8.7.gemspec +30 -0
  212. data/vendor/bundle/ruby/3.4.0/specifications/appraisal-2.5.0.gemspec +31 -0
  213. data/vendor/bundle/ruby/3.4.0/specifications/base64-0.2.0.gemspec +23 -0
  214. data/vendor/bundle/ruby/3.4.0/specifications/benchmark-0.4.0.gemspec +23 -0
  215. data/vendor/bundle/ruby/3.4.0/specifications/bigdecimal-3.1.9.gemspec +25 -0
  216. data/vendor/bundle/ruby/3.4.0/specifications/builder-3.3.0.gemspec +22 -0
  217. data/vendor/bundle/ruby/3.4.0/specifications/concurrent-ruby-1.3.5.gemspec +24 -0
  218. data/vendor/bundle/ruby/3.4.0/specifications/connection_pool-2.5.0.gemspec +28 -0
  219. data/vendor/bundle/ruby/3.4.0/specifications/crack-1.0.0.gemspec +27 -0
  220. data/vendor/bundle/ruby/3.4.0/specifications/crass-1.0.6.gemspec +27 -0
  221. data/vendor/bundle/ruby/3.4.0/specifications/diff-lcs-1.5.1.gemspec +37 -0
  222. data/vendor/bundle/ruby/3.4.0/specifications/drb-2.2.1.gemspec +22 -0
  223. data/vendor/bundle/ruby/3.4.0/specifications/erubi-1.13.1.gemspec +29 -0
  224. data/vendor/bundle/ruby/3.4.0/specifications/ethon-0.16.0.gemspec +24 -0
  225. data/vendor/bundle/ruby/3.4.0/specifications/ffi-1.17.1-x86_64-linux-gnu.gemspec +31 -0
  226. data/vendor/bundle/ruby/3.4.0/specifications/hashdiff-1.1.2.gemspec +30 -0
  227. data/vendor/bundle/ruby/3.4.0/specifications/i18n-1.14.6.gemspec +27 -0
  228. data/vendor/bundle/ruby/3.4.0/specifications/json-2.9.1.gemspec +0 -0
  229. data/vendor/bundle/ruby/3.4.0/specifications/logger-1.6.5.gemspec +22 -0
  230. data/vendor/bundle/ruby/3.4.0/specifications/loofah-2.24.0.gemspec +27 -0
  231. data/vendor/bundle/ruby/3.4.0/specifications/minitest-5.25.4.gemspec +31 -0
  232. data/vendor/bundle/ruby/3.4.0/specifications/multi_json-1.15.0.gemspec +26 -0
  233. data/vendor/bundle/ruby/3.4.0/specifications/nokogiri-1.18.1-x86_64-linux-gnu.gemspec +31 -0
  234. data/vendor/bundle/ruby/3.4.0/specifications/public_suffix-6.0.1.gemspec +24 -0
  235. data/vendor/bundle/ruby/3.4.0/specifications/racc-1.8.1.gemspec +28 -0
  236. data/vendor/bundle/ruby/3.4.0/specifications/rack-3.1.8.gemspec +31 -0
  237. data/vendor/bundle/ruby/3.4.0/specifications/rack-session-2.1.0.gemspec +30 -0
  238. data/vendor/bundle/ruby/3.4.0/specifications/rack-test-2.2.0.gemspec +29 -0
  239. data/vendor/bundle/ruby/3.4.0/specifications/rails-dom-testing-2.2.0.gemspec +28 -0
  240. data/vendor/bundle/ruby/3.4.0/specifications/rails-html-sanitizer-1.6.2.gemspec +27 -0
  241. data/vendor/bundle/ruby/3.4.0/specifications/rake-13.2.1.gemspec +26 -0
  242. data/vendor/bundle/ruby/3.4.0/specifications/rake-release-1.3.0.gemspec +26 -0
  243. data/vendor/bundle/ruby/3.4.0/specifications/rexml-3.4.0.gemspec +25 -0
  244. data/vendor/bundle/ruby/3.4.0/specifications/rspec-3.13.0.gemspec +31 -0
  245. data/vendor/bundle/ruby/3.4.0/specifications/rspec-collection_matchers-1.2.1.gemspec +27 -0
  246. data/vendor/bundle/ruby/3.4.0/specifications/rspec-core-3.13.2.gemspec +39 -0
  247. data/vendor/bundle/ruby/3.4.0/specifications/rspec-expectations-3.13.3.gemspec +33 -0
  248. data/vendor/bundle/ruby/3.4.0/specifications/rspec-its-2.0.0.gemspec +27 -0
  249. data/vendor/bundle/ruby/3.4.0/specifications/rspec-mocks-3.13.2.gemspec +33 -0
  250. data/vendor/bundle/ruby/3.4.0/specifications/rspec-support-3.13.2.gemspec +29 -0
  251. data/vendor/bundle/ruby/3.4.0/specifications/securerandom-0.4.1.gemspec +23 -0
  252. data/vendor/bundle/ruby/3.4.0/specifications/thor-1.3.2.gemspec +28 -0
  253. data/vendor/bundle/ruby/3.4.0/specifications/typhoeus-1.4.1.gemspec +24 -0
  254. data/vendor/bundle/ruby/3.4.0/specifications/tzinfo-2.0.6.gemspec +30 -0
  255. data/vendor/bundle/ruby/3.4.0/specifications/uri-1.0.2.gemspec +23 -0
  256. data/vendor/bundle/ruby/3.4.0/specifications/useragent-0.16.11.gemspec +25 -0
  257. data/vendor/bundle/ruby/3.4.0/specifications/webmock-3.24.0.gemspec +45 -0
  258. metadata +208 -70
@@ -16,23 +16,23 @@ describe Acfs::Middleware::MessagePack do
16
16
 
17
17
  describe 'encode' do
18
18
  context 'with not serialized request' do
19
- it 'should set Content-Type' do
19
+ it 'sets Content-Type' do
20
20
  expect(request.headers['Content-Type']).to eq 'application/x-msgpack'
21
21
  end
22
22
 
23
- it 'should append Accept header' do
23
+ it 'appends Accept header' do
24
24
  expect(request.headers['Accept']).to eq 'application/x-msgpack;q=1'
25
25
  end
26
26
 
27
27
  context 'with JSON chained' do
28
28
  let(:decoder) { Acfs::Middleware::JSON.new super(), q: 0.5 }
29
29
 
30
- it 'should append to Accept header' do
30
+ it 'appends to Accept header' do
31
31
  expect(request.headers['Accept']).to eq 'application/json;q=0.5,application/x-msgpack;q=1'
32
32
  end
33
33
  end
34
34
 
35
- it 'should serialize data to MessagePack' do
35
+ it 'serializes data to MessagePack' do
36
36
  expect(MessagePack.unpack(request.body)).to eq data.map(&:stringify_keys)
37
37
  end
38
38
  end
@@ -42,10 +42,10 @@ describe Acfs::Middleware::MessagePack do
42
42
  let(:headers) { {'Content-Type' => 'application/x-msgpack'} }
43
43
  let(:body) { MessagePack.pack data }
44
44
 
45
- it 'should decode body data' do
45
+ it 'decodes body data' do
46
46
  request.complete! response
47
47
 
48
- expect(response.data).to be == data.map(&:stringify_keys)
48
+ expect(response.data).to eq data.map(&:stringify_keys)
49
49
  end
50
50
  end
51
51
 
@@ -53,7 +53,7 @@ describe Acfs::Middleware::MessagePack do
53
53
  let(:headers) { {'Content-Type' => 'application/text'} }
54
54
  let(:body) { data.to_json }
55
55
 
56
- it 'should not decode non-MessagePack encoded responses' do
56
+ it 'does not decode non-MessagePack encoded responses' do
57
57
  request.complete! response
58
58
 
59
59
  expect(response.data).to be_nil
@@ -2,11 +2,12 @@
2
2
 
3
3
  require 'spec_helper'
4
4
 
5
- describe ::Acfs::Operation do
5
+ describe Acfs::Operation do
6
6
  let(:operation) { described_class.new MyUser, :read, params: {id: 0} }
7
7
 
8
- context '#request' do
8
+ describe '#request' do
9
9
  subject { operation.request }
10
- its(:operation) { should eq operation }
10
+
11
+ its(:operation) { is_expected.to eq operation }
11
12
  end
12
13
  end
@@ -7,42 +7,51 @@ describe Acfs::Request::Callbacks do
7
7
  let(:request) { Acfs::Request.new('fubar') }
8
8
 
9
9
  describe '#on_complete' do
10
- it 'should store a given callback' do
10
+ it 'stores a given callback' do
11
11
  request.on_complete(&callback)
12
12
 
13
13
  expect(request.callbacks).to have(1).item
14
- expect(request.callbacks[0]).to be == callback
14
+ expect(request.callbacks[0]).to eq callback
15
15
  end
16
16
 
17
- it 'should store multiple callback' do
17
+ it 'stores multiple callback' do
18
18
  request.on_complete {|_res| 'abc' }
19
19
  request.on_complete(&callback)
20
20
 
21
21
  expect(request.callbacks).to have(2).item
22
- expect(request.callbacks[0]).to be == callback
22
+ expect(request.callbacks[0]).to eq callback
23
23
  end
24
24
  end
25
25
 
26
26
  describe '#complete!' do
27
27
  let(:response) { Acfs::Response.new(request) }
28
28
 
29
- it 'should trigger registered callbacks with given response' do
29
+ it 'triggers registered callbacks with given response' do
30
30
  expect(callback).to receive(:call).with(response, kind_of(Proc))
31
31
 
32
32
  request.on_complete(&callback)
33
33
  request.complete! response
34
34
  end
35
35
 
36
- it 'should trigger multiple callback in reverted insertion order' do
36
+ it 'triggers multiple callback in reverted insertion order' do
37
37
  check = []
38
38
 
39
- request.on_complete {|res, nxt| check << 1; nxt.call res }
40
- request.on_complete {|res, nxt| check << 2; nxt.call res }
41
- request.on_complete {|res, nxt| check << 3; nxt.call res }
39
+ request.on_complete do |res, nxt|
40
+ check << 1
41
+ nxt.call res
42
+ end
43
+ request.on_complete do |res, nxt|
44
+ check << 2
45
+ nxt.call res
46
+ end
47
+ request.on_complete do |res, nxt|
48
+ check << 3
49
+ nxt.call res
50
+ end
42
51
 
43
52
  request.complete! response
44
53
 
45
- expect(check).to be == [3, 2, 1]
54
+ expect(check).to eq [3, 2, 1]
46
55
  end
47
56
  end
48
57
  end
@@ -12,15 +12,15 @@ describe Acfs::Request do
12
12
  let(:request) { Acfs::Request.new(url, **options) }
13
13
 
14
14
  describe '#url' do
15
- it 'should return request URL' do
16
- expect(request.url).to be == url
15
+ it 'returns request URL' do
16
+ expect(request.url).to eq url
17
17
  end
18
18
 
19
19
  context 'with parameters' do
20
20
  let(:params) { {id: 10} }
21
21
 
22
- it 'should return URL without query' do
23
- expect(request.url).to be == url.to_s
22
+ it 'returns URL without query' do
23
+ expect(request.url).to eq url.to_s
24
24
  end
25
25
  end
26
26
  end
@@ -28,8 +28,8 @@ describe Acfs::Request do
28
28
  describe '#headers' do
29
29
  let(:headers) { {'Accept' => 'application/json'} }
30
30
 
31
- it 'should return request headers' do
32
- expect(request.headers).to be == headers
31
+ it 'returns request headers' do
32
+ expect(request.headers).to eq headers
33
33
  end
34
34
  end
35
35
 
@@ -37,43 +37,39 @@ describe Acfs::Request do
37
37
  context 'when nil given' do
38
38
  let(:method) { nil }
39
39
 
40
- it 'should default to :get' do
41
- expect(request.method).to be == :get
40
+ it 'defaults to :get' do
41
+ expect(request.method).to eq :get
42
42
  end
43
43
  end
44
44
 
45
- it 'should return request method' do
46
- expect(request.method).to be == method
45
+ it 'returns request method' do
46
+ expect(request.method).to eq method
47
47
  end
48
48
  end
49
49
 
50
50
  describe '#params' do
51
51
  let(:params) { {id: 10} }
52
52
 
53
- it 'should return request headers' do
54
- expect(request.params).to be == params
53
+ it 'returns request headers' do
54
+ expect(request.params).to eq params
55
55
  end
56
56
  end
57
57
 
58
58
  describe '#data' do
59
59
  let(:data) { {id: 10, name: 'Anon'} }
60
60
 
61
- it 'should return request data' do
62
- expect(request.data).to be == data
61
+ it 'returns request data' do
62
+ expect(request.data).to eq data
63
63
  end
64
- end
65
64
 
66
- describe '#data' do
67
65
  context 'with data' do
68
- let(:data) { {id: 10, name: 'Anon'} }
69
-
70
66
  it { expect(request).to be_data }
71
67
  end
72
68
 
73
69
  context 'without data' do
74
70
  let(:data) { nil }
75
71
 
76
- it { expect(request).to_not be_data }
72
+ it { expect(request).not_to be_data }
77
73
  end
78
74
  end
79
75
  end
@@ -3,56 +3,56 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Acfs::Resource::Attributes::Boolean do
6
- subject { Acfs::Resource::Attributes::Boolean.new }
6
+ subject(:type) { Acfs::Resource::Attributes::Boolean.new }
7
7
 
8
8
  describe '#cast' do
9
9
  it 'casts nil' do
10
- expect(subject.cast(nil)).to eq nil
10
+ expect(type.cast(nil)).to be_nil
11
11
  end
12
12
 
13
13
  it 'casts empty string to false' do
14
- expect(subject.cast('')).to eq nil
14
+ expect(type.cast('')).to be_nil
15
15
  end
16
16
 
17
17
  it 'casts blank string to false' do
18
- expect(subject.cast(" \t")).to eq nil
18
+ expect(type.cast(" \t")).to be_nil
19
19
  end
20
20
 
21
21
  it 'preserves boolean values' do
22
- expect(subject.cast(false)).to eq false
23
- expect(subject.cast(true)).to eq true
22
+ expect(type.cast(false)).to be false
23
+ expect(type.cast(true)).to be true
24
24
  end
25
25
 
26
26
  it 'casts falsy values to false' do
27
- expect(subject.cast(false)).to eq false
28
- expect(subject.cast(0)).to eq false
29
- expect(subject.cast('0')).to eq false
30
- expect(subject.cast('no')).to eq false
31
- expect(subject.cast('NO')).to eq false
32
- expect(subject.cast('off')).to eq false
33
- expect(subject.cast('OFF')).to eq false
34
- expect(subject.cast('false')).to eq false
35
- expect(subject.cast('FALSE')).to eq false
36
- expect(subject.cast('f')).to eq false
37
- expect(subject.cast('F')).to eq false
27
+ expect(type.cast(false)).to be false
28
+ expect(type.cast(0)).to be false
29
+ expect(type.cast('0')).to be false
30
+ expect(type.cast('no')).to be false
31
+ expect(type.cast('NO')).to be false
32
+ expect(type.cast('off')).to be false
33
+ expect(type.cast('OFF')).to be false
34
+ expect(type.cast('false')).to be false
35
+ expect(type.cast('FALSE')).to be false
36
+ expect(type.cast('f')).to be false
37
+ expect(type.cast('F')).to be false
38
38
  end
39
39
 
40
40
  it 'casts any other value to true' do
41
- expect(subject.cast(true)).to eq true
42
- expect(subject.cast(1)).to eq true
43
- expect(subject.cast('1')).to eq true
44
- expect(subject.cast('yes')).to eq true
45
- expect(subject.cast('YES')).to eq true
46
- expect(subject.cast('on')).to eq true
47
- expect(subject.cast('ON')).to eq true
48
- expect(subject.cast('true')).to eq true
49
- expect(subject.cast('TRUE')).to eq true
50
- expect(subject.cast('t')).to eq true
51
- expect(subject.cast('T')).to eq true
52
-
53
- expect(subject.cast(2)).to eq true
54
- expect(subject.cast('wrong')).to eq true
55
- expect(subject.cast('random')).to eq true
41
+ expect(type.cast(true)).to be true
42
+ expect(type.cast(1)).to be true
43
+ expect(type.cast('1')).to be true
44
+ expect(type.cast('yes')).to be true
45
+ expect(type.cast('YES')).to be true
46
+ expect(type.cast('on')).to be true
47
+ expect(type.cast('ON')).to be true
48
+ expect(type.cast('true')).to be true
49
+ expect(type.cast('TRUE')).to be true
50
+ expect(type.cast('t')).to be true
51
+ expect(type.cast('T')).to be true
52
+
53
+ expect(type.cast(2)).to be true
54
+ expect(type.cast('wrong')).to be true
55
+ expect(type.cast('random')).to be true
56
56
  end
57
57
  end
58
58
  end
@@ -6,46 +6,54 @@ describe Acfs::Resource::Attributes::DateTime do
6
6
  let(:type) { Acfs::Resource::Attributes::DateTime.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast value } }
9
+ subject(:cast) { type.cast value }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with empty string' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq nil }
19
+
20
+ it { expect(cast).to be_nil }
19
21
  end
20
22
 
21
23
  context 'with blank string' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq nil }
25
+
26
+ it { expect(cast).to be_nil }
24
27
  end
25
28
 
26
29
  context 'with DateTime' do
27
30
  let(:value) { DateTime.now }
28
- it { expect(subject.call).to eq value }
31
+
32
+ it { expect(cast).to eq value }
29
33
  end
30
34
 
31
35
  context 'with Time' do
32
36
  let(:value) { Time.now }
33
- it { expect(subject.call).to eq value.to_datetime }
37
+
38
+ it { expect(cast).to eq value.to_datetime }
34
39
  end
35
40
 
36
41
  context 'with Date' do
37
42
  let(:value) { Date.today }
38
- it { expect(subject.call).to eq value.to_datetime }
43
+
44
+ it { expect(cast).to eq value.to_datetime }
39
45
  end
40
46
 
41
47
  context 'with ISO8601' do
42
48
  let(:value) { DateTime.now.iso8601 }
43
- it { expect(subject.call.iso8601).to eq value }
49
+
50
+ it { expect(cast.iso8601).to eq value }
44
51
  end
45
52
 
46
53
  context 'with invalid string' do
47
54
  let(:value) { 'qwe123' }
48
- it { is_expected.to raise_error ArgumentError }
55
+
56
+ it { expect { cast }.to raise_error ArgumentError }
49
57
  end
50
58
  end
51
59
  end
@@ -6,31 +6,36 @@ describe Acfs::Resource::Attributes::Dict do
6
6
  let(:type) { Acfs::Resource::Attributes::Dict.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast value } }
9
+ subject(:cast) { type.cast value }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with blank string (I)' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq({}) }
19
+
20
+ it { expect(cast).to eq({}) }
19
21
  end
20
22
 
21
23
  context 'with blank string (II)' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq({}) }
25
+
26
+ it { expect(cast).to eq({}) }
24
27
  end
25
28
 
26
29
  context 'with hash' do
27
30
  let(:value) { {3 => true, abc: 4} }
28
- it { expect(subject.call).to eq value }
31
+
32
+ it { expect(cast).to eq value }
29
33
  end
30
34
 
31
35
  context 'with non hashable object' do
32
36
  let(:value) { Object.new }
33
- it { is_expected.to raise_error TypeError }
37
+
38
+ it { expect { cast }.to raise_error TypeError }
34
39
  end
35
40
 
36
41
  context 'with hashable object (I)' do
@@ -42,7 +47,7 @@ describe Acfs::Resource::Attributes::Dict do
42
47
  end.new
43
48
  end
44
49
 
45
- it { expect(subject.call).to eq id: value.object_id }
50
+ it { expect(cast).to eq id: value.object_id }
46
51
  end
47
52
 
48
53
  context 'with hashable object (II)' do
@@ -54,7 +59,7 @@ describe Acfs::Resource::Attributes::Dict do
54
59
  end.new
55
60
  end
56
61
 
57
- it { expect(subject.call).to eq id: value.object_id }
62
+ it { expect(cast).to eq id: value.object_id }
58
63
  end
59
64
 
60
65
  context 'with serializable object' do
@@ -66,12 +71,13 @@ describe Acfs::Resource::Attributes::Dict do
66
71
  end.new
67
72
  end
68
73
 
69
- it { expect(subject.call).to eq id: value.object_id }
74
+ it { expect(cast).to eq id: value.object_id }
70
75
  end
71
76
 
72
77
  context 'with hash subclass object' do
73
78
  let(:value) { HashWithIndifferentAccess.new test: :foo }
74
- it { expect(subject.call).to be value }
79
+
80
+ it { expect(cast).to be value }
75
81
  end
76
82
  end
77
83
  end
@@ -6,56 +6,66 @@ describe Acfs::Resource::Attributes::Float do
6
6
  let(:type) { Acfs::Resource::Attributes::Float.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast value } }
9
+ subject(:cast) { type.cast value }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with blank string (I)' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq 0.0 }
19
+
20
+ it { expect(cast).to eq 0.0 }
19
21
  end
20
22
 
21
23
  context 'with blank string (II)' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq 0.0 }
25
+
26
+ it { expect(cast).to eq 0.0 }
24
27
  end
25
28
 
26
29
  context 'with float' do
27
30
  let(:value) { 1.7 }
28
- it { expect(subject.call).to eq 1.7 }
31
+
32
+ it { expect(cast).to eq 1.7 }
29
33
  end
30
34
 
31
35
  context 'with Infinity' do
32
36
  let(:value) { 'Infinity' }
33
- it { expect(subject.call).to eq ::Float::INFINITY }
37
+
38
+ it { expect(cast).to eq Float::INFINITY }
34
39
  end
35
40
 
36
41
  context 'with -Infinity' do
37
42
  let(:value) { '-Infinity' }
38
- it { expect(subject.call).to eq(-::Float::INFINITY) }
43
+
44
+ it { expect(cast).to eq(-Float::INFINITY) }
39
45
  end
40
46
 
41
47
  context 'with NaN' do
42
48
  let(:value) { 'NaN' }
43
- it { expect(subject.call).to be_nan }
49
+
50
+ it { expect(cast).to be_nan }
44
51
  end
45
52
 
46
53
  context 'with fixnum' do
47
54
  let(:value) { 1 }
48
- it { expect(subject.call).to eq 1.0 }
55
+
56
+ it { expect(cast).to eq 1.0 }
49
57
  end
50
58
 
51
59
  context 'with valid string' do
52
60
  let(:value) { '1.7' }
53
- it { expect(subject.call).to eq 1.7 }
61
+
62
+ it { expect(cast).to eq 1.7 }
54
63
  end
55
64
 
56
65
  context 'with invalid string (I)' do
57
66
  let(:value) { '1.7a' }
58
- it { is_expected.to raise_error ArgumentError }
67
+
68
+ it { expect { cast }.to raise_error ArgumentError }
59
69
  end
60
70
  end
61
71
  end
@@ -6,31 +6,36 @@ describe Acfs::Resource::Attributes::Integer do
6
6
  let(:type) { Acfs::Resource::Attributes::Integer.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast value } }
9
+ subject(:cast) { type.cast value }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with empty string' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq 0 }
19
+
20
+ it { expect(cast).to eq 0 }
19
21
  end
20
22
 
21
23
  context 'with blank string' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq 0 }
25
+
26
+ it { expect(cast).to eq 0 }
24
27
  end
25
28
 
26
29
  context 'with string' do
27
30
  let(:value) { '123' }
28
- it { expect(subject.call).to eq 123 }
31
+
32
+ it { expect(cast).to eq 123 }
29
33
  end
30
34
 
31
35
  context 'with invalid string' do
32
36
  let(:value) { '123a' }
33
- it { is_expected.to raise_error ArgumentError }
37
+
38
+ it { expect { cast }.to raise_error ArgumentError }
34
39
  end
35
40
  end
36
41
  end
@@ -6,26 +6,30 @@ describe Acfs::Resource::Attributes::List do
6
6
  let(:type) { Acfs::Resource::Attributes::List.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast value } }
9
+ subject(:cast) { -> { type.cast value } }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast.call).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with blank string (I)' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq [] }
19
+
20
+ it { expect(cast.call).to eq [] }
19
21
  end
20
22
 
21
23
  context 'with blank string (II)' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq [] }
25
+
26
+ it { expect(cast.call).to eq [] }
24
27
  end
25
28
 
26
29
  context 'with array' do
27
30
  let(:value) { %w[abc cde efg] }
28
- it { expect(subject.call).to eq value }
31
+
32
+ it { expect(cast.call).to eq value }
29
33
  end
30
34
 
31
35
  context 'with convertable object (I)' do
@@ -37,7 +41,7 @@ describe Acfs::Resource::Attributes::List do
37
41
  end.new
38
42
  end
39
43
 
40
- it { expect(subject.call).to eq [1, 2, 3] }
44
+ it { expect(cast.call).to eq [1, 2, 3] }
41
45
  end
42
46
 
43
47
  context 'with convertable object (II)' do
@@ -49,12 +53,13 @@ describe Acfs::Resource::Attributes::List do
49
53
  end.new
50
54
  end
51
55
 
52
- it { expect(subject.call).to eq [1, 2, 3] }
56
+ it { expect(cast.call).to eq [1, 2, 3] }
53
57
  end
54
58
 
55
59
  context 'with non castable object' do
56
60
  let(:value) { Object.new }
57
- it { expect(subject.call).to eq [value] }
61
+
62
+ it { expect(cast.call).to eq [value] }
58
63
  end
59
64
  end
60
65
  end
@@ -6,37 +6,43 @@ describe Acfs::Resource::Attributes::UUID do
6
6
  let(:type) { Acfs::Resource::Attributes::UUID.new }
7
7
 
8
8
  describe '#cast' do
9
- subject { -> { type.cast(value) } }
9
+ subject(:cast) { type.cast(value) }
10
10
 
11
11
  context 'with nil' do
12
12
  let(:value) { nil }
13
- it { expect(subject.call).to eq nil }
13
+
14
+ it { expect(cast).to be_nil }
14
15
  end
15
16
 
16
17
  context 'with empty string' do
17
18
  let(:value) { '' }
18
- it { expect(subject.call).to eq nil }
19
+
20
+ it { expect(cast).to be_nil }
19
21
  end
20
22
 
21
23
  context 'with blank string' do
22
24
  let(:value) { " \t" }
23
- it { expect(subject.call).to eq nil }
25
+
26
+ it { expect(cast).to be_nil }
24
27
  end
25
28
 
26
29
  context 'with string UUID' do
27
30
  let(:value) { '450b7a40-94ad-11e3-baa8-0800200c9a66' }
28
- it { expect(subject.call).to be_a String }
29
- it { expect(subject.call).to eq value }
31
+
32
+ it { expect(cast).to be_a String }
33
+ it { expect(cast).to eq value }
30
34
  end
31
35
 
32
36
  context 'with invalid string' do
33
37
  let(:value) { 'invalid string' }
34
- it { is_expected.to raise_error TypeError, /invalid UUID/i }
38
+
39
+ it { expect { cast }.to raise_error TypeError, /invalid UUID/i }
35
40
  end
36
41
 
37
42
  context 'with invalid UUID' do
38
43
  let(:value) { 'xxxxxxxx-yyyy-11e3-baa8-0800200c9a66' }
39
- it { is_expected.to raise_error TypeError, /invalid UUID/i }
44
+
45
+ it { expect { cast }.to raise_error TypeError, /invalid UUID/i }
40
46
  end
41
47
  end
42
48
  end