adeia 0.11.9 → 0.11.10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (70) hide show
  1. checksums.yaml +4 -4
  2. data/lib/adeia/controller_methods.rb +4 -2
  3. data/lib/adeia/controller_resource.rb +15 -20
  4. data/lib/adeia/version.rb +1 -1
  5. data/spec/test_app/log/test.log +2554 -0
  6. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/-NvowQvW3bR85QUlCTUG_UmHE3_JqFqC2my3-Q4HeeI.cache +0 -0
  7. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/0AjOVY7q1-AkJfopa22u9N8u1lVRK3C7BpLOIS0SihU.cache +1 -0
  8. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/1k4BLgf_fBMpdBlHi6FLy0Km3vCTZ_FOoGvtzMYiNI8.cache +2 -0
  9. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/3JbV7fLxxf9l7BI7XsxRf9Rbj-YGCOAYXLSaaIz53SA.cache +0 -0
  10. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +2 -0
  11. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/66IRxtODpiig2w_5o9DCOALvPn_TkoLbc-bQEI60x28.cache +0 -0
  12. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/6scDXx2DOf7pEqdeltc8bHRW6MtYS4G_KsCniSKXUZs.cache +1 -0
  13. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/7bHy2Bsm-40H6oYT3i_sBSCW8f1_r2oAl-gKaGsC4Ak.cache +1 -0
  14. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/8VsVZl-2Gyi6DcjCyCkss3N7uwVVNMKAht-4qmpv4Zo.cache +0 -0
  15. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/8glLaxv8fuhJUypUZX_O4zzaI-0ZFdzUaA_6k9DS2bU.cache +2 -0
  16. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/9Fw_WnCC15QnXUQZ4eYTYLOBv20at5Z5gL-WJx_QsR4.cache +1 -0
  17. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/BibFqNCOQ1HBAIWGX3qF_CfP6qSXFN--usFxBCINFzY.cache +1 -0
  18. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/BmQLWdNnZcwynTfndBUJCKAqnrYmYqMhJZYoxWPvC3g.cache +1 -0
  19. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/ByMXHEO2gpXd8GmITqf6rta8Frw-UzlZ3NF6MrUXmCg.cache +1 -0
  20. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/CDaLUX6e6eCDch5MHhyK2du3RP-uQa5Dy_e06Um_8qk.cache +1 -0
  21. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/CNgaein83BNJDuvdUmap_WTw_kfWmrZeCTMpjWfoFQo.cache +1 -0
  22. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +3 -0
  23. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/G1CrfDVVT10KbhwWkdOX6jI_4xXoU-HI8Dl8BlGu2uQ.cache +2 -0
  24. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/GWAhAJkC7Z28HWg08q1CxxGXLVMk6b4evFHgZT1TmHg.cache +1 -0
  25. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/HHkGhvlL0SIdKe-3R9x4xN5T0iQrxMcubGgpCox-dxI.cache +1 -0
  26. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/HggfmBmV-rmvrvzJjqvjmDpwB2BTEQvh6krp0CcrI0U.cache +1 -0
  27. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/IDjxbYyETw_0GlP6YK9sHQ0t1DIHtqo0ejAPHsnA3Mc.cache +1 -0
  28. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/LT2EwPU003FSp_rHrDhX06af0wUCbJFRdym1zlnFecA.cache +1 -0
  29. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Mfcpk3CuiB6kgzXtB_sWICBeh46J9YtWUNynpbLQh_s.cache +3 -0
  30. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/MfwKBPgx9IRMhiqnfW08sUEWs_B96MQw3hsixCwNWLE.cache +0 -0
  31. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +2 -0
  32. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Pa_-qEkJTENter7MsKfNlHQWX0nlUfAB--2hdOtfsnE.cache +1 -0
  33. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/RDHe_BaR6DJ2RyEXCY4S6u_5RJBUgyoLJiLtFuYkqpI.cache +1 -0
  34. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/TgYwqDUjKYMyqLezgFMHSj_kjXfOtzDHf0RtHnzICL4.cache +3 -0
  35. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/U9d-G-KFbMDpYYPyAwwfaczb0cJNsMnUr4uCMj_9SgQ.cache +1 -0
  36. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/VxTnLLdBl3CfdnjwmMh3haHMtrg8hiI5B0NEjPv3PMA.cache +2 -0
  37. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/Xc5g_LdBO8zCLshdoLa1ehuGrocfoEAsIyGoGYwXDJ8.cache +0 -0
  38. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/YqILeFgIV0jLwjj7E3ZIPCen1u0igXKy-DYK_r9wHiQ.cache +0 -0
  39. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/b2G7iK_STHAf0UlztJLwu0REjRNYlPaMLc1-S-6ugKE.cache +3 -0
  40. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bIpbLFeghiLIis80v091kkbokkY-2OEjCYFIlmadWL8.cache +2 -0
  41. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bMEECoWWyKknvnUGZxGw2e4fGylGmf3JRnuXA3WQEPE.cache +1 -0
  42. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/bdlz-DcjpjXaRc8QEmhSLXzDbN85HSjs7VXL3I_7nbU.cache +3 -0
  43. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/dDJO-r8awTmADJ-Ne01_H79_qZ8U0d2Ahj7Bc3FT70c.cache +0 -0
  44. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/dNF2ukLKDpO0RmR9-3IT4fnGg9ZF-AOnZfLIrJUYHZs.cache +1 -0
  45. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/dS7pMF2ii5ZkDYkhzCxK_C30tFDaRBFfTrC_0hj2xfI.cache +1 -0
  46. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/dlrmLs3TSwudjf5ZZ_DQS17J0PsiNBiTb0IiPPCyb1Q.cache +1 -0
  47. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/eNhevz-kNZVoOnJmiGeHE2KKiOwjb6kNVPyB9Ur3EgA.cache +0 -0
  48. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/eaMCjSQejC69MWYQVPHU3RbGCBaheIzg_WWfVWfhLzI.cache +1 -0
  49. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/egMbH32eTzuX13gLF6RDrG0sV25lmpEVBw_PCH7W3P8.cache +0 -0
  50. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/gh4900WYTp3k54oueT9bjoZdXNzwhCbB9lKATVkNNdA.cache +0 -0
  51. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/gj7jbeiYIdeoQeoh9p96r2xSlkLhFW4cqQeFKrzZJDc.cache +0 -0
  52. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +2 -0
  53. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/kgMXuDsCZfaxW1Lh-Uu8_1YrXWpos1NBsgvQX8m72Gw.cache +1 -0
  54. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/lNNFtSwspLqiE733Wf3cWM9qo-AeM5uspXGDfh3VXA4.cache +1 -0
  55. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/m36EDdApBppvyoX6m8cNCOm1eyt7pipkfASRya0sKqM.cache +1 -0
  56. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/o_-R9-DIl5YPAMqah1UgwgGdo4Rms5w2rNAai5hl-ok.cache +3 -0
  57. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/oqHS-Ko3TRt95I3q_6uYlMxx-dgFC0W775str0dffWY.cache +1 -0
  58. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/owKtJsVnE7xbHv_PZT3Zzch0O0PdpTCzbBznhcSNqs4.cache +0 -0
  59. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +2 -0
  60. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/pZk6Oy6k3owjI1cNUsbiG6cQ_UylcLZ8RfB7dwDmVjk.cache +1 -0
  61. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/py11CR-KCSKePHzLd3ApUBpFgt_H9HoeuhNUD_yuBkY.cache +1 -0
  62. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/qxHWRfgGp7Wxpe09d1fwz5TZZX4B2dxNDfGtbatSSls.cache +1 -0
  63. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/sE0Z9G_praJn_h0tbTi6P1cZLCrnPn-PBNc5dgHPrUI.cache +1 -0
  64. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/tNWvv7PPhTlygBwzSn08kwR5REwfBeIzMXDuM_nBgN4.cache +0 -0
  65. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/vlZiBelcm4r0Jj2rut7lPCjvWBUCV1l05Buuq5SJr1I.cache +0 -0
  66. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/w8wDbJ9a5U-rSRVsy6KWOVuPXk5LnbSkSpP4bMFj1q0.cache +1 -0
  67. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/wDq-qT8KtrwcVevNuUHDGjEnUZt3wtxtIgWXsTTbX8A.cache +1 -0
  68. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/zUhSaiWxmRoV8rVPtzlyI1BhcyFGA6VAcl7dXipqfAs.cache +2 -0
  69. data/spec/test_app/tmp/cache/assets/sprockets/v3.0/zqVybtT2J3IFdm-D3UENlSjwIS1kqUmE9b7r6taGNZI.cache +0 -0
  70. metadata +129 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 5f2005da7ce2db6dd77b22eabdd6fe3effba9f89
4
- data.tar.gz: f1965eb93af81bb87ad476cb69ac3bc1d1ff5615
3
+ metadata.gz: b9d6c07a2891abd5fe509cbb2ab094e427f3d2f4
4
+ data.tar.gz: 39a5ad4657f7ed1a05f1861a024c5ea390d21564
5
5
  SHA512:
6
- metadata.gz: b8b8e8434c798764bab4ce34c54bf4c706c4b4fcdcf01bd62869b5d2ecb504accb9da804c52c244209a14d1ce42c4fb06b8b5c5c53637abc5e9a2aafb3de0cd4
7
- data.tar.gz: 0a736d2021a5fd294a9c2fde0be5e4e9f6957489317f9fd6c06946ded8d4d0ac175d6853416e886b89e348dc719540be3d3619f7ba1873055ceabf9c9126f7d3
6
+ metadata.gz: 56b7857cc2e5e1e0f7ec8fe5a9d061af122b8f1c035ec19ad71b6d3351c50bfeeaf85c05ea9e1b64c53e90c55ebc300ca0c7a06019dea8a12a4991c40db3ce23
7
+ data.tar.gz: 5deb50e8d94e2489a0fa81e1117fd4d216fb551f32dd3cd75710864388fb4b01be81199f0097c0bcbafedfe225b7242d2d4287787c92ae790a8b80008b771ac8
@@ -52,11 +52,13 @@ module Adeia
52
52
  end
53
53
 
54
54
  def can?(action, element, resource=nil)
55
- ControllerResource.new(self, action: action).authorized?(:can?, element, resource)
55
+ controller, resource = ControllerResource.get_controller_and_resource(element, resource)
56
+ ControllerResource.new(self, action: action, controller: controller, resource: resource).authorized?(:can?)
56
57
  end
57
58
 
58
59
  def rights?(action, element, resource=nil)
59
- ControllerResource.new(self, action: action).authorized?(:rights?, element, resource)
60
+ controller, resource = ControllerResource.get_controller_and_resource(element, resource)
61
+ ControllerResource.new(self, action: action, controller: controller, resource: resource).authorized?(:rights?)
60
62
  end
61
63
 
62
64
  # Redirect the user to the stored url or the default one provided
@@ -26,6 +26,17 @@ module Adeia
26
26
  controller.require_login!
27
27
  end
28
28
 
29
+ def self.get_controller_and_resource(element, resource)
30
+ if element.is_a? String
31
+ return element, resource
32
+ elsif element.is_a? ActiveRecord::Base
33
+ return controller_name(element), element
34
+ elsif element.is_a? Array
35
+ resource = element.second
36
+ return "#{element.first}/#{controller_name(resource)}", resource
37
+ end
38
+ end
39
+
29
40
  def initialize(controller, **args)
30
41
  @controller = controller
31
42
  @action_name = args.fetch(:action, @controller.action_name)
@@ -74,9 +85,8 @@ module Adeia
74
85
  authorization.check_permissions!
75
86
  end
76
87
 
77
- def authorized?(method, element, resource)
78
- @controller_name, @resource = get_controller_and_resource(element, resource)
79
- instance_variable_get_or_set(method)
88
+ def authorized?(method)
89
+ @controller.instance_variable_get(var_name(method)) || @controller.instance_variable_set(var_name(method), authorization.send(method))
80
90
  end
81
91
 
82
92
  private
@@ -97,29 +107,14 @@ module Adeia
97
107
  @model.model_name.element
98
108
  end
99
109
 
100
- def controller_name(resource)
101
- resource.model_name.collection
102
- end
103
-
104
110
  def var_name(method)
105
111
  [method, @controller_name, @action_name, @resource.try(:model_name).try(:human), @resource.try(:id)].compact.map do |s|
106
112
  s.to_s.gsub("/", "_").delete("?")
107
113
  end.join("_").prepend("@")
108
114
  end
109
115
 
110
- def instance_variable_get_or_set(method)
111
- @controller.instance_variable_get(var_name(method)) || @controller.instance_variable_set(var_name(method), authorization.send(method))
112
- end
113
-
114
- def get_controller_and_resource(element, resource)
115
- if element.is_a? String
116
- return element, resource
117
- elsif element.is_a? ActiveRecord::Base
118
- return controller_name(element), element
119
- elsif element.is_a? Array
120
- resource = element.second
121
- return "#{element.first}/#{controller_name(resource)}", resource
122
- end
116
+ def self.controller_name(resource)
117
+ resource.model_name.collection
123
118
  end
124
119
 
125
120
  end
data/lib/adeia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Adeia
2
- VERSION = "0.11.9"
2
+ VERSION = "0.11.10"
3
3
  end