adeia 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (124) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -0
  3. data/Rakefile +1 -1
  4. data/app/models/adeia/action.rb +4 -1
  5. data/app/models/adeia/element.rb +2 -0
  6. data/app/models/adeia/group.rb +4 -1
  7. data/app/models/adeia/permission.rb +27 -1
  8. data/app/models/adeia/token.rb +12 -0
  9. data/config/locales/en.yml +4 -1
  10. data/config/locales/fr.yml +4 -1
  11. data/db/migrate/20151003150524_create_adeia_tokens.rb +1 -1
  12. data/lib/adeia/authorization.rb +19 -8
  13. data/lib/adeia/controller_methods.rb +2 -2
  14. data/lib/adeia/controller_resource.rb +8 -5
  15. data/lib/adeia/database.rb +19 -8
  16. data/lib/adeia/engine.rb +7 -0
  17. data/lib/adeia/version.rb +1 -1
  18. data/spec/authorization_spec.rb +162 -0
  19. data/spec/controllers/articles_controller_spec.rb +123 -0
  20. data/spec/factories.rb +53 -0
  21. data/spec/rails_helper.rb +19 -0
  22. data/spec/spec_helper.rb +19 -0
  23. data/spec/support/spec_login_helper.rb +18 -0
  24. data/{test/dummy → spec/test_app}/Rakefile +0 -0
  25. data/{test/dummy → spec/test_app}/app/assets/javascripts/application.js +0 -0
  26. data/{test/dummy → spec/test_app}/app/assets/javascripts/sessions.js +0 -0
  27. data/{test/dummy → spec/test_app}/app/assets/stylesheets/application.css +0 -0
  28. data/{test/dummy → spec/test_app}/app/assets/stylesheets/scaffold.css +0 -0
  29. data/{test/dummy → spec/test_app}/app/assets/stylesheets/sessions.css +0 -0
  30. data/{test/dummy → spec/test_app}/app/controllers/application_controller.rb +0 -0
  31. data/{test/dummy → spec/test_app}/app/controllers/articles_controller.rb +4 -11
  32. data/{test/dummy → spec/test_app}/app/controllers/sessions_controller.rb +1 -1
  33. data/{test/dummy → spec/test_app}/app/helpers/application_helper.rb +0 -0
  34. data/{test/dummy → spec/test_app}/app/helpers/sessions_helper.rb +0 -0
  35. data/{test/dummy → spec/test_app}/app/models/article.rb +0 -0
  36. data/{test/dummy → spec/test_app}/app/models/user.rb +0 -0
  37. data/{test/dummy → spec/test_app}/app/views/articles/_form.html.erb +0 -0
  38. data/{test/dummy → spec/test_app}/app/views/articles/edit.html.erb +0 -0
  39. data/{test/dummy → spec/test_app}/app/views/articles/index.html.erb +0 -0
  40. data/{test/dummy → spec/test_app}/app/views/articles/new.html.erb +0 -0
  41. data/{test/dummy → spec/test_app}/app/views/articles/show.html.erb +0 -0
  42. data/{test/dummy → spec/test_app}/app/views/layouts/application.html.erb +1 -1
  43. data/{test/dummy → spec/test_app}/app/views/sessions/new.html.erb +0 -0
  44. data/{test/dummy → spec/test_app}/bin/bundle +0 -0
  45. data/{test/dummy → spec/test_app}/bin/rails +0 -0
  46. data/{test/dummy → spec/test_app}/bin/rake +0 -0
  47. data/{test/dummy → spec/test_app}/bin/setup +0 -0
  48. data/{test/dummy → spec/test_app}/config.ru +0 -0
  49. data/{test/dummy → spec/test_app}/config/application.rb +0 -0
  50. data/{test/dummy → spec/test_app}/config/boot.rb +0 -0
  51. data/{test/dummy → spec/test_app}/config/database.yml +0 -0
  52. data/{test/dummy → spec/test_app}/config/environment.rb +0 -0
  53. data/{test/dummy → spec/test_app}/config/environments/development.rb +0 -0
  54. data/{test/dummy → spec/test_app}/config/environments/production.rb +0 -0
  55. data/{test/dummy → spec/test_app}/config/environments/test.rb +0 -0
  56. data/{test/dummy → spec/test_app}/config/initializers/assets.rb +0 -0
  57. data/{test/dummy → spec/test_app}/config/initializers/backtrace_silencers.rb +0 -0
  58. data/{test/dummy → spec/test_app}/config/initializers/cookies_serializer.rb +0 -0
  59. data/{test/dummy → spec/test_app}/config/initializers/filter_parameter_logging.rb +0 -0
  60. data/{test/dummy → spec/test_app}/config/initializers/inflections.rb +0 -0
  61. data/{test/dummy → spec/test_app}/config/initializers/mime_types.rb +0 -0
  62. data/{test/dummy → spec/test_app}/config/initializers/session_store.rb +0 -0
  63. data/{test/dummy → spec/test_app}/config/initializers/wrap_parameters.rb +0 -0
  64. data/{test/dummy → spec/test_app}/config/locales/en.yml +0 -0
  65. data/{test/dummy → spec/test_app}/config/routes.rb +1 -1
  66. data/{test/dummy → spec/test_app}/config/secrets.yml +0 -0
  67. data/{test/dummy → spec/test_app}/db/development.sqlite3 +0 -0
  68. data/{test/dummy/db/migrate/20150930161522_create_users.rb → spec/test_app/db/migrate/20151012185720_create_users.rb} +1 -1
  69. data/{test/dummy/db/migrate/20150930161532_create_articles.rb → spec/test_app/db/migrate/20151012185726_create_articles.rb} +1 -1
  70. data/{test/dummy → spec/test_app}/db/schema.rb +2 -2
  71. data/spec/test_app/db/test.sqlite3 +0 -0
  72. data/{test/dummy → spec/test_app}/lib/tasks/init.rake +0 -0
  73. data/{test/dummy → spec/test_app}/log/development.log +1314 -0
  74. data/spec/test_app/log/test.log +24709 -0
  75. data/{test/dummy → spec/test_app}/public/404.html +0 -0
  76. data/{test/dummy → spec/test_app}/public/422.html +0 -0
  77. data/{test/dummy → spec/test_app}/public/500.html +0 -0
  78. data/{test/dummy → spec/test_app}/public/favicon.ico +0 -0
  79. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/007YZnzCZDb7P0xbxiEkmAM6-xSsxmYu_W7vnrvcDOs.cache +0 -0
  80. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/1GiUoKAP-7ewZyzr_eCTMX0R8ML5Z_VN2bfQ05RAW30.cache +0 -0
  81. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/5Lly_CA8DZvPhQV2jDQx-Y6P_y3Ygra9t5jfSlGhHDA.cache +0 -0
  82. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/6n6yNyR4eQhIVjw5Anxur-SLgdDc_rzuMuZKj6Q4FqE.cache +0 -0
  83. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/80nWjD2uxLBuIN1R5NawmTsgZWCB6nln8WXf_5gHri4.cache +0 -0
  84. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/9Fw_WnCC15QnXUQZ4eYTYLOBv20at5Z5gL-WJx_QsR4.cache +0 -0
  85. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/D4VyPOMG_wXgPRZtj-mbRdONJXbdgOZKcuwSm-lNNIA.cache +0 -0
  86. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/DmmfrCpXtt74Hr6NO54lxyOCDv6klnDyBqeDFR7oDU8.cache +0 -0
  87. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/HggfmBmV-rmvrvzJjqvjmDpwB2BTEQvh6krp0CcrI0U.cache +0 -0
  88. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/OI6uxGcnsKavdWTtwDAasU3wPx8QXhzBgV0X2n1KjMQ.cache +0 -0
  89. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/P1NOTKHlk-FIwqlw0wiyLanpgNyubwQi850S1aonsbQ.cache +0 -0
  90. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/PKcbfub75wwU6UzvVnSMFn_6wsaaPUoXMtWTnyyh5jM.cache +0 -0
  91. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/S4dXPkh6wlupsMUb-GvZ2Q5PwAZmplTCkViWCnVWWw0.cache +0 -0
  92. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/UuBE6kIOXtWOmnrnywPI98bzHE-L84SteUEfzexxVtA.cache +0 -0
  93. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/Xa5LZJIrW7sSuOWWFwCAhDkDQ71pA_cHp6H5kiTZS6E.cache +0 -0
  94. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/eQqoU12FSWEA4BsL-PjwTnIUr1bZsu27SOzFHPomG4c.cache +0 -0
  95. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/f3V_hqqK4rH7Z51LFX1Wk9hrWGjYABTZmgSeYvWKgLs.cache +0 -0
  96. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/gXIpNlfbH4G7-D0grgt2EuWuwHwTymznc1rlxJ1-C0A.cache +0 -0
  97. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/hX4wt6FzyI47gW66iiVyl2C722yfwvx3KafFEYkreEY.cache +0 -0
  98. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/hZi1k6tpxxCGYxRe7zY74ItcOI8gZrREOpGuA8JSpGg.cache +0 -0
  99. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/m36EDdApBppvyoX6m8cNCOm1eyt7pipkfASRya0sKqM.cache +1 -0
  100. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/nZCCAAO-XWnPS2Xr9yss0VhSONvnR3emOuEIc_b-1OY.cache +0 -0
  101. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/pEhaat2KBd5SrT7szC_8R1_6hK17FTpvoRFkmCRSD3M.cache +0 -0
  102. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/r5qzpye5vWgzwRnRhhSYkUslyNZ11pyYXQZqGe8o930.cache +0 -0
  103. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/t0GCJAJcd_7X2F172TjwwDZ6rfNJc2FRbDTV5-jSqY0.cache +0 -0
  104. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/t92Y0f7B0gH-r5W-iNadtkzgjm8gxyEyttnY6AWpdmw.cache +0 -0
  105. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/tYGZjTIGEDMySqV7qHf43dq0_aB7TuSEhhZtN_9xW54.cache +0 -0
  106. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/wMjI0_cDi3gmsOV5xXr-QPQOfHCB_qea8St_udeflhE.cache +0 -0
  107. data/{test/dummy → spec/test_app}/tmp/cache/assets/development/sprockets/v3.0/z2mRCA3647ZviK5pXi1_qLwdxkiCaoIfZj7jHoMfLiI.cache +0 -0
  108. data/spec/test_app/tmp/pids/server.pid +1 -0
  109. data/spec/validations_spec.rb +37 -0
  110. metadata +219 -194
  111. data/test/dummy/db/migrate/20151003145900_create_adeia_elements.adeia.rb +0 -10
  112. data/test/dummy/db/migrate/20151003145901_create_adeia_permissions.adeia.rb +0 -17
  113. data/test/dummy/db/migrate/20151003145902_create_adeia_groups.adeia.rb +0 -10
  114. data/test/dummy/db/migrate/20151003145903_create_adeia_group_users.adeia.rb +0 -11
  115. data/test/dummy/db/migrate/20151003150941_create_adeia_tokens.adeia.rb +0 -13
  116. data/test/dummy/db/migrate/20151003150942_create_adeia_actions.adeia.rb +0 -10
  117. data/test/dummy/db/migrate/20151003150943_create_adeia_action_permissions.adeia.rb +0 -11
  118. data/test/dummy/test/controllers/articles_controller_test.rb +0 -49
  119. data/test/dummy/test/controllers/sessions_controller_test.rb +0 -7
  120. data/test/dummy/test/controllers/users_controller_test.rb +0 -49
  121. data/test/dummy/test/fixtures/articles.yml +0 -11
  122. data/test/dummy/test/fixtures/users.yml +0 -9
  123. data/test/dummy/test/models/article_test.rb +0 -7
  124. data/test/dummy/test/models/user_test.rb +0 -7
@@ -1,10 +0,0 @@
1
- # This migration comes from adeia (originally 20151003144041)
2
- class CreateAdeiaElements < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_elements do |t|
5
- t.string :name
6
-
7
- t.timestamps null: false
8
- end
9
- end
10
- end
@@ -1,17 +0,0 @@
1
- # This migration comes from adeia (originally 20151003144208)
2
- class CreateAdeiaPermissions < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_permissions do |t|
5
- t.references :owner, polymorphic: true, index: true
6
- t.references :element, index: true, foreign_key: true
7
- t.integer :permission_type
8
- t.boolean :read_right
9
- t.boolean :create_right
10
- t.boolean :update_right
11
- t.boolean :destroy_right
12
- t.integer :resource_id
13
-
14
- t.timestamps null: false
15
- end
16
- end
17
- end
@@ -1,10 +0,0 @@
1
- # This migration comes from adeia (originally 20151003144650)
2
- class CreateAdeiaGroups < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_groups do |t|
5
- t.string :name
6
-
7
- t.timestamps null: false
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- # This migration comes from adeia (originally 20151003144706)
2
- class CreateAdeiaGroupUsers < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_group_users do |t|
5
- t.references :group, index: true, foreign_key: true
6
- t.references :user, index: true, foreign_key: true
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
@@ -1,13 +0,0 @@
1
- # This migration comes from adeia (originally 20151003150524)
2
- class CreateAdeiaTokens < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_tokens do |t|
5
- t.string :token
6
- t.boolean :valid
7
- t.references :permission, index: true, foreign_key: true
8
- t.date :exp_at
9
-
10
- t.timestamps null: false
11
- end
12
- end
13
- end
@@ -1,10 +0,0 @@
1
- # This migration comes from adeia (originally 20151003150747)
2
- class CreateAdeiaActions < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_actions do |t|
5
- t.string :name
6
-
7
- t.timestamps null: false
8
- end
9
- end
10
- end
@@ -1,11 +0,0 @@
1
- # This migration comes from adeia (originally 20151003150806)
2
- class CreateAdeiaActionPermissions < ActiveRecord::Migration
3
- def change
4
- create_table :adeia_action_permissions do |t|
5
- t.references :action, index: true, foreign_key: true
6
- t.references :permission, index: true, foreign_key: true
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
@@ -1,49 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ArticlesControllerTest < ActionController::TestCase
4
- setup do
5
- @article = articles(:one)
6
- end
7
-
8
- test "should get index" do
9
- get :index
10
- assert_response :success
11
- assert_not_nil assigns(:articles)
12
- end
13
-
14
- test "should get new" do
15
- get :new
16
- assert_response :success
17
- end
18
-
19
- test "should create article" do
20
- assert_difference('Article.count') do
21
- post :create, article: { content: @article.content, title: @article.title, user_id: @article.user_id }
22
- end
23
-
24
- assert_redirected_to article_path(assigns(:article))
25
- end
26
-
27
- test "should show article" do
28
- get :show, id: @article
29
- assert_response :success
30
- end
31
-
32
- test "should get edit" do
33
- get :edit, id: @article
34
- assert_response :success
35
- end
36
-
37
- test "should update article" do
38
- patch :update, id: @article, article: { content: @article.content, title: @article.title, user_id: @article.user_id }
39
- assert_redirected_to article_path(assigns(:article))
40
- end
41
-
42
- test "should destroy article" do
43
- assert_difference('Article.count', -1) do
44
- delete :destroy, id: @article
45
- end
46
-
47
- assert_redirected_to articles_path
48
- end
49
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class SessionsControllerTest < ActionController::TestCase
4
- # test "the truth" do
5
- # assert true
6
- # end
7
- end
@@ -1,49 +0,0 @@
1
- require 'test_helper'
2
-
3
- class UsersControllerTest < ActionController::TestCase
4
- setup do
5
- @user = users(:one)
6
- end
7
-
8
- test "should get index" do
9
- get :index
10
- assert_response :success
11
- assert_not_nil assigns(:users)
12
- end
13
-
14
- test "should get new" do
15
- get :new
16
- assert_response :success
17
- end
18
-
19
- test "should create user" do
20
- assert_difference('User.count') do
21
- post :create, user: { name: @user.name, password_digest: @user.password_digest }
22
- end
23
-
24
- assert_redirected_to user_path(assigns(:user))
25
- end
26
-
27
- test "should show user" do
28
- get :show, id: @user
29
- assert_response :success
30
- end
31
-
32
- test "should get edit" do
33
- get :edit, id: @user
34
- assert_response :success
35
- end
36
-
37
- test "should update user" do
38
- patch :update, id: @user, user: { name: @user.name, password_digest: @user.password_digest }
39
- assert_redirected_to user_path(assigns(:user))
40
- end
41
-
42
- test "should destroy user" do
43
- assert_difference('User.count', -1) do
44
- delete :destroy, id: @user
45
- end
46
-
47
- assert_redirected_to users_path
48
- end
49
- end
@@ -1,11 +0,0 @@
1
- # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
-
3
- one:
4
- title: MyString
5
- content: MyText
6
- user_id:
7
-
8
- two:
9
- title: MyString
10
- content: MyText
11
- user_id:
@@ -1,9 +0,0 @@
1
- # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
-
3
- one:
4
- name: MyString
5
- password_digest: MyString
6
-
7
- two:
8
- name: MyString
9
- password_digest: MyString
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class ArticleTest < ActiveSupport::TestCase
4
- # test "the truth" do
5
- # assert true
6
- # end
7
- end
@@ -1,7 +0,0 @@
1
- require 'test_helper'
2
-
3
- class UserTest < ActiveSupport::TestCase
4
- # test "the truth" do
5
- # assert true
6
- # end
7
- end