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
@@ -0,0 +1,123 @@
1
+ require "rails_helper"
2
+
3
+ describe ArticlesController, :type => :controller do
4
+ before(:each) do
5
+ @user = User.create!(name: "admin", password: "12341", password_confirmation: "12341")
6
+ sign_in @user
7
+ end
8
+
9
+ describe "GET #index" do
10
+
11
+ describe "response" do
12
+ before(:each) { create(:permission, element_name: "articles", read_right: true, owner: @user) }
13
+
14
+ it "responds successfully" do
15
+ get :index
16
+ expect(response).to be_success
17
+ end
18
+
19
+ it "loads the records" do
20
+ get :index
21
+ expect(assigns(:articles)).not_to be_nil
22
+ end
23
+
24
+ end
25
+
26
+ describe "records loading" do
27
+
28
+ context "with an 'all_entries' permission" do
29
+
30
+ it "loads all the entries" do
31
+ create(:permission, element_name: "articles", read_right: true, owner: @user)
32
+ create_list(:article, 5)
33
+ get :index
34
+ expect(assigns(:articles)).to eq Article.all
35
+ end
36
+
37
+ end
38
+
39
+ context "with an 'on_ownerships' permission" do
40
+ before(:each) do
41
+ create(:permission, element_name: "articles", type_name: "on_ownerships", read_right: true, owner: @user)
42
+ @own_articles = create_list(:article, 5, user: @user)
43
+ create_list(:article, 5)
44
+ end
45
+
46
+ it "loads the owned articles" do
47
+ get :index
48
+ expect(assigns(:articles)).to eq @own_articles
49
+ end
50
+
51
+ it "loads the owned articles and also the specific ones" do
52
+ specific_article = create(:article)
53
+ create(:permission, element_name: "articles", type_name: "on_entry", resource_id: specific_article.id, read_right: true, owner: @user)
54
+ get :index
55
+ expect(assigns(:articles)).to match_array(@own_articles << specific_article)
56
+ end
57
+
58
+ end
59
+
60
+ context "with an 'on_entry' permission" do
61
+
62
+ it "loads the specific articles" do
63
+ first_article = create(:article)
64
+ second_article = create(:article)
65
+ create_list(:article, 5)
66
+ create(:permission, element_name: "articles", type_name: "on_entry", resource_id: first_article.id, read_right: true, owner: @user)
67
+ create(:permission, element_name: "articles", type_name: "on_entry", resource_id: second_article.id, read_right: true, owner: @user)
68
+ get :index
69
+ expect(assigns(:articles)).to match_array [first_article, second_article]
70
+ end
71
+
72
+ end
73
+
74
+ end
75
+
76
+ describe "GET #show" do
77
+ before(:each) do
78
+ create(:permission, element_name: "articles", read_right: true, owner: @user)
79
+ @article = create(:article)
80
+ end
81
+
82
+ it "responds successfully" do
83
+ get :show, id: @article.id
84
+ expect(response).to be_success
85
+ end
86
+
87
+ it "loads the record" do
88
+ get :show, id: @article.id
89
+ expect(assigns(:article)).to eq @article
90
+ end
91
+
92
+ end
93
+
94
+ describe "GET #new" do
95
+ before(:each) { create(:permission, element_name: "articles", create_right: true, owner: @user) }
96
+
97
+ it "responds successfully" do
98
+ get :new
99
+ expect(response).to be_success
100
+ end
101
+
102
+ end
103
+
104
+ describe "GET #edit" do
105
+ before(:each) do
106
+ create(:permission, element_name: "articles", update_right: true, owner: @user)
107
+ @article = create(:article)
108
+ end
109
+
110
+ it "responds successfully" do
111
+ get :edit, id: @article.id
112
+ expect(response).to be_success
113
+ end
114
+
115
+ it "loads the record" do
116
+ get :edit, id: @article.id
117
+ expect(assigns(:article)).to eq @article
118
+ end
119
+
120
+ end
121
+
122
+ end
123
+ end
data/spec/factories.rb ADDED
@@ -0,0 +1,53 @@
1
+ FactoryGirl.define do
2
+
3
+ factory :token, class: "Adeia::Token" do
4
+ token { SecureRandom.urlsafe_base64 }
5
+ is_valid true
6
+ permission { create(:permission) }
7
+ exp_at { 1.month.from_now }
8
+ end
9
+
10
+ factory :permission, class: "Adeia::Permission" do
11
+ transient do
12
+ element_name 'admin/articles'
13
+ group_name "admin"
14
+ type_name 'all_entries'
15
+ action 'share'
16
+ end
17
+ element { Adeia::Element.find_or_create_by(name: element_name) }
18
+ owner { Adeia::Group.find_by_name(group_name) || create(:group, name: group_name) }
19
+
20
+ permission_type { Adeia::Permission.permission_types[type_name] }
21
+
22
+ resource_id nil
23
+ read_right false
24
+ create_right false
25
+ update_right false
26
+ destroy_right false
27
+ actions {[ Adeia::Action.find_or_create_by(name: action) ]}
28
+ end
29
+
30
+ factory :group, class: "Adeia::Group" do
31
+ name "admin"
32
+ end
33
+
34
+ factory :user_group, class: "Adeia::GroupUser" do
35
+ group { Adeia::Group.find_by_name("admin") || create(:group) }
36
+ user { nil }
37
+ end
38
+
39
+ ### Test App factories
40
+
41
+ factory :user do
42
+ name "admin"
43
+ password "12341"
44
+ password_confirmation "12341"
45
+ end
46
+
47
+ factory :article do
48
+ title "Des ours meurt chaque année"
49
+ content "Chaque année, plus de 1000 ourse blancs meurt"
50
+ user { User.find_by_name("editor") || create(:user, name: "editor") }
51
+ end
52
+
53
+ end
@@ -0,0 +1,19 @@
1
+ # This file is copied to spec/ when you run 'rails generate rspec:install'
2
+ ENV['RAILS_ENV'] ||= 'test'
3
+ require File.expand_path("../../spec/test_app/config/environment.rb", __FILE__)
4
+ # Prevent database truncation if the environment is production
5
+ abort("The Rails environment is running in production mode!") if Rails.env.production?
6
+ require 'spec_helper'
7
+ require 'rspec/rails'
8
+
9
+ #Dir[Rails.root.join('spec/support/**/*.rb')].each { |f| require f }
10
+ Dir[File.join(File.dirname(__FILE__), 'support/**/*.rb')].each { |f| require f }
11
+
12
+ ActiveRecord::Migration.maintain_test_schema!
13
+
14
+ RSpec.configure do |config|
15
+
16
+ config.use_transactional_fixtures = true
17
+
18
+ config.infer_spec_type_from_file_location!
19
+ end
@@ -0,0 +1,19 @@
1
+ require 'factory_girl_rails'
2
+ require 'rspec/active_model/mocks'
3
+
4
+ FactoryGirl.definition_file_paths = [ File.join(File.dirname(__FILE__), '../spec/factories') ]
5
+ FactoryGirl.find_definitions
6
+
7
+ RSpec.configure do |config|
8
+
9
+ config.expect_with :rspec do |expectations|
10
+ expectations.include_chain_clauses_in_custom_matcher_descriptions = true
11
+ end
12
+
13
+ config.mock_with :rspec do |mocks|
14
+ mocks.verify_partial_doubles = true
15
+ end
16
+
17
+ config.include FactoryGirl::Syntax::Methods
18
+
19
+ end
@@ -0,0 +1,18 @@
1
+ module SpecLoginHelper
2
+ def sign_in(user)
3
+ request.cookies[:remember_token] = user.remember_token
4
+ self.current_user = user
5
+ end
6
+
7
+ def current_user
8
+ @current_user ||= User.users.find_by_remember_token(request.cookies[:remember_token])
9
+ end
10
+
11
+ def current_user=(user)
12
+ @current_user = user
13
+ end
14
+ end
15
+
16
+ RSpec.configure do |config|
17
+ config.include SpecLoginHelper
18
+ end
File without changes
@@ -1,23 +1,20 @@
1
1
  class ArticlesController < ApplicationController
2
- before_action :set_article, only: [:show, :edit, :update, :destroy]
3
- load_and_authorize
2
+ load_and_authorize only: [:edit]
4
3
 
5
4
  def index
6
- #@articles = Article.all
7
- #authorize_and_load_records!
5
+ authorize_and_load_records!
8
6
  end
9
7
 
10
8
  def show
11
- #load_and_authorize!
9
+ load_and_authorize!
12
10
  end
13
11
 
14
12
  def new
15
- #authorize!
13
+ authorize!
16
14
  @article = Article.new
17
15
  end
18
16
 
19
17
  def edit
20
- #load_and_authorize!
21
18
  end
22
19
 
23
20
  def create
@@ -45,10 +42,6 @@ class ArticlesController < ApplicationController
45
42
 
46
43
  private
47
44
 
48
- def set_article
49
- @article = Article.find(params[:id])
50
- end
51
-
52
45
  def article_params
53
46
  params.require(:article).permit(:title, :content)
54
47
  end
@@ -16,7 +16,7 @@ class SessionsController < ApplicationController
16
16
 
17
17
  def destroy
18
18
  sign_out
19
- redirect_to root_path, "Signed out"
19
+ redirect_to root_path, success: "Signed out"
20
20
  end
21
21
 
22
22
  end
File without changes
File without changes
@@ -12,7 +12,7 @@
12
12
  <% if current_user.nil? %>
13
13
  <%= link_to "Login", login_path %>
14
14
  <% else %>
15
- <%= current_user.name %> | <%= link_to "Logout", logout_path, method: :delete %>
15
+ <%= current_user.name %> | <%= link_to "Logout", logout_path %>
16
16
  <% end %>
17
17
  </div>
18
18
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
@@ -4,7 +4,7 @@ Rails.application.routes.draw do
4
4
  root "articles#index"
5
5
 
6
6
  get 'login', to: "sessions#new"
7
- delete 'logout', to: 'sessions#destroy'
7
+ get 'logout', to: 'sessions#destroy'
8
8
  resources :sessions, only: [:create]
9
9
 
10
10
  resources :articles
File without changes
@@ -8,4 +8,4 @@ class CreateUsers < ActiveRecord::Migration
8
8
  t.timestamps null: false
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -8,4 +8,4 @@ class CreateArticles < ActiveRecord::Migration
8
8
  t.timestamps null: false
9
9
  end
10
10
  end
11
- end
11
+ end
@@ -11,7 +11,7 @@
11
11
  #
12
12
  # It's strongly recommended that you check this file into your version control system.
13
13
 
14
- ActiveRecord::Schema.define(version: 20151003150943) do
14
+ ActiveRecord::Schema.define(version: 20151012185726) do
15
15
 
16
16
  create_table "adeia_action_permissions", force: :cascade do |t|
17
17
  t.integer "action_id"
@@ -70,7 +70,7 @@ ActiveRecord::Schema.define(version: 20151003150943) do
70
70
 
71
71
  create_table "adeia_tokens", force: :cascade do |t|
72
72
  t.string "token"
73
- t.boolean "valid"
73
+ t.boolean "is_valid"
74
74
  t.integer "permission_id"
75
75
  t.date "exp_at"
76
76
  t.datetime "created_at", null: false
Binary file
File without changes