adeia 0.4.0 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/adeia/action.rb +1 -1
  3. data/app/models/adeia/action_permission.rb +2 -2
  4. data/app/models/adeia/element.rb +1 -1
  5. data/app/models/adeia/group.rb +1 -1
  6. data/app/models/adeia/group_user.rb +1 -1
  7. data/app/models/adeia/permission.rb +2 -2
  8. data/app/models/adeia/token.rb +6 -6
  9. data/db/migrate/20151003144208_create_adeia_permissions.rb +1 -1
  10. data/db/migrate/20151003144706_create_adeia_group_users.rb +1 -1
  11. data/db/migrate/20151003150524_create_adeia_tokens.rb +1 -1
  12. data/db/migrate/20151003150806_create_adeia_action_permissions.rb +2 -2
  13. data/lib/adeia/database.rb +1 -1
  14. data/lib/adeia/version.rb +1 -1
  15. data/spec/factories.rb +0 -1
  16. data/spec/test_app/db/development.sqlite3 +0 -0
  17. data/spec/test_app/db/schema.rb +18 -18
  18. data/spec/test_app/db/test.sqlite3 +0 -0
  19. data/spec/test_app/log/development.log +416 -0
  20. data/spec/test_app/log/test.log +34592 -0
  21. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/1q1WRq06_IVjFBR5biQsOPGMRTScobu45EMVwx4sEzA.cache +1 -0
  22. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/6h6JbChfVPzy1cyavuZNNm6Xb3JB0IjEp2COPz0h8vU.cache +0 -0
  23. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/LGoYADmWxSZ4cgEQovgw4jKWSD0yKt7pp_j4Xx7yPFU.cache +0 -0
  24. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/SAQiBY_2vZDHAGU5noXXw8c2D_YjmZsK7uKeoAoQ9LY.cache +0 -0
  25. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/bh0ouClxWTYX6ADci0-9q0OyWiVMqtbi5tS6tlvV4Yw.cache +1 -0
  26. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/eiYZZ4ruGdo0kPz9zBSotTKadNOi1rL2kDzjOu9VlDg.cache +1 -0
  27. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/jeHGfyS9ujS0BMOSZoDza_0tUTY2SCowfnu6XQE2Mas.cache +0 -0
  28. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/nyIOt3nveDlzsgyiAmRX7J-Ma2b9pt4cIQGQPxs4XL4.cache +0 -0
  29. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/qsCKsNea0YO9-W0o1JgIJhx55aT8mYGPm19PUAt_pUs.cache +1 -0
  30. data/spec/test_app/tmp/cache/assets/development/sprockets/v3.0/sZdqSSaT4oJf_VbVWiQCT_hbaaIfFZvsox0koYPROLw.cache +1 -0
  31. metadata +21 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: c8f3fd953fefe554dbfdfae35659ed458803b4e3
4
- data.tar.gz: bc0c7afa108aee25eba2416ef552b92440cbce94
3
+ metadata.gz: 2d828301de03cf12cd48ff7481bd4f3204837345
4
+ data.tar.gz: 672fe459da7978ff31551d3572cb583da8ed0d6b
5
5
  SHA512:
6
- metadata.gz: 6b613663e417d07764a2369e2479641bb59f524fc2f72d61adeb387bfeb66232c3bb76ec6c723ad33912e8c4c7810757dc711e5a84c446153f6891f55d907af5
7
- data.tar.gz: 3a14ae9b52370880ad7596e041cf235de72e11e929b5fbbbb07b6035cc4eba8a3f0ab2a7fe422a7cf0524ada1b1027d925076865af9c830962dcc9f2bdbb79b9
6
+ metadata.gz: de6a3fb607cc5aa648682a00b214e5e91735dd144f4047c5dde1dd9a84d3c7a1e9212640986949dedb29ec9789b732c33f173585e336201e29d36231b465c5ca
7
+ data.tar.gz: 00a3c0b57a03e08ba025eb3a265e0806df80dd5356b71e845e02da8751c4647696c45b8a7ee06d40ef37f1e2b7bc26bcece4b2822f76d6264cfa754fee49d318
@@ -1,6 +1,6 @@
1
1
  module Adeia
2
2
  class Action < ActiveRecord::Base
3
- has_many :action_permissions, dependent: :destroy
3
+ has_many :action_permissions, foreign_key: :adeia_action_id, dependent: :destroy
4
4
  has_many :permissions, through: :action_permissions
5
5
 
6
6
  validates :name, presence: true
@@ -1,6 +1,6 @@
1
1
  module Adeia
2
2
  class ActionPermission < ActiveRecord::Base
3
- belongs_to :action
4
- belongs_to :permission
3
+ belongs_to :action, foreign_key: :adeia_action_id
4
+ belongs_to :permission, foreign_key: :adeia_permission_id
5
5
  end
6
6
  end
@@ -1,5 +1,5 @@
1
1
  class Adeia::Element < ActiveRecord::Base
2
- has_many :permissions
2
+ has_many :permissions, foreign_key: :adeia_element_id
3
3
 
4
4
  validates :name, presence: true
5
5
  end
@@ -1,5 +1,5 @@
1
1
  class Adeia::Group < ActiveRecord::Base
2
- has_many :group_users, dependent: :destroy
2
+ has_many :group_users, foreign_key: :adeia_group_id, dependent: :destroy
3
3
  has_many :permissions, as: :owner
4
4
 
5
5
  validates :name, presence: true
@@ -1,4 +1,4 @@
1
1
  class Adeia::GroupUser < ActiveRecord::Base
2
- belongs_to :group
2
+ belongs_to :group, foreign_key: :adeia_group_id
3
3
  belongs_to :user
4
4
  end
@@ -1,8 +1,8 @@
1
1
  class Adeia::Permission < ActiveRecord::Base
2
2
  belongs_to :owner, polymorphic: true
3
- belongs_to :element
3
+ belongs_to :element, foreign_key: :adeia_element_id
4
4
 
5
- has_many :action_permissions, dependent: :destroy
5
+ has_many :action_permissions, foreign_key: :adeia_permission_id, dependent: :destroy
6
6
  has_many :actions, through: :action_permissions
7
7
 
8
8
  enum permission_type: [:all_entries, :on_ownerships, :on_entry]
@@ -1,21 +1,21 @@
1
1
  module Adeia
2
2
  class Token < ActiveRecord::Base
3
- belongs_to :permission
3
+ belongs_to :permission, foreign_key: :adeia_permission_id
4
4
 
5
- validates :permission_id, presence: true
5
+ validates :permission, presence: true
6
6
  validates :exp_at, presence: true
7
7
 
8
8
  before_create :generate_token
9
9
 
10
+ def is_valid?
11
+ exp_at > Time.now && is_valid
12
+ end
13
+
10
14
  private
11
15
 
12
16
  def generate_token
13
17
  self.token = SecureRandom.urlsafe_base64
14
18
  end
15
-
16
- def is_valid?
17
- exp_at > Time.now && is_valid
18
- end
19
19
 
20
20
  end
21
21
  end
@@ -2,7 +2,7 @@ class CreateAdeiaPermissions < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :adeia_permissions do |t|
4
4
  t.references :owner, polymorphic: true, index: true
5
- t.references :element, index: true, foreign_key: true
5
+ t.references :adeia_element, index: true, foreign_key: true
6
6
  t.integer :permission_type
7
7
  t.boolean :read_right
8
8
  t.boolean :create_right
@@ -1,7 +1,7 @@
1
1
  class CreateAdeiaGroupUsers < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :adeia_group_users do |t|
4
- t.references :group, index: true, foreign_key: true
4
+ t.references :adeia_group, index: true, foreign_key: true
5
5
  t.references :user, index: true, foreign_key: true
6
6
 
7
7
  t.timestamps null: false
@@ -3,7 +3,7 @@ class CreateAdeiaTokens < ActiveRecord::Migration
3
3
  create_table :adeia_tokens do |t|
4
4
  t.string :token
5
5
  t.boolean :is_valid
6
- t.references :permission, index: true, foreign_key: true
6
+ t.references :adeia_permission, index: true, foreign_key: true
7
7
  t.date :exp_at
8
8
 
9
9
  t.timestamps null: false
@@ -1,8 +1,8 @@
1
1
  class CreateAdeiaActionPermissions < ActiveRecord::Migration
2
2
  def change
3
3
  create_table :adeia_action_permissions do |t|
4
- t.references :action, index: true, foreign_key: true
5
- t.references :permission, index: true, foreign_key: true
4
+ t.references :adeia_action, index: true, foreign_key: true
5
+ t.references :adeia_permission, index: true, foreign_key: true
6
6
 
7
7
  t.timestamps null: false
8
8
  end
@@ -42,7 +42,7 @@ module Adeia
42
42
  def token_rights(right_name)
43
43
  @permission_token ||= Adeia::Token.find_by(token: @token)
44
44
  if @permission_token && @permission_token.is_valid?
45
- @token_rights ||= Adeia::Permission.joins(:element).where(id: @permission_token.permission_id, adeia_elements: { name: @controller }, "#{right_name}_right": true)
45
+ @token_rights ||= Adeia::Permission.joins(:element).where(id: @permission_token.adeia_permission_id, adeia_elements: { name: @controller }, "#{right_name}_right": true)
46
46
  @token_resource_ids ||= @token_rights.pluck(:resource_id).compact
47
47
  return { rights: @token_rights, resource_ids: @token_resource_ids }
48
48
  else
data/lib/adeia/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Adeia
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
data/spec/factories.rb CHANGED
@@ -3,7 +3,6 @@ FactoryGirl.define do
3
3
  factory :token, class: "Adeia::Token" do
4
4
  token { SecureRandom.urlsafe_base64 }
5
5
  is_valid true
6
- permission { create(:permission) }
7
6
  exp_at { 1.month.from_now }
8
7
  end
9
8
 
Binary file
@@ -14,14 +14,14 @@
14
14
  ActiveRecord::Schema.define(version: 20151012185726) do
15
15
 
16
16
  create_table "adeia_action_permissions", force: :cascade do |t|
17
- t.integer "action_id"
18
- t.integer "permission_id"
19
- t.datetime "created_at", null: false
20
- t.datetime "updated_at", null: false
17
+ t.integer "adeia_action_id"
18
+ t.integer "adeia_permission_id"
19
+ t.datetime "created_at", null: false
20
+ t.datetime "updated_at", null: false
21
21
  end
22
22
 
23
- add_index "adeia_action_permissions", ["action_id"], name: "index_adeia_action_permissions_on_action_id"
24
- add_index "adeia_action_permissions", ["permission_id"], name: "index_adeia_action_permissions_on_permission_id"
23
+ add_index "adeia_action_permissions", ["adeia_action_id"], name: "index_adeia_action_permissions_on_adeia_action_id"
24
+ add_index "adeia_action_permissions", ["adeia_permission_id"], name: "index_adeia_action_permissions_on_adeia_permission_id"
25
25
 
26
26
  create_table "adeia_actions", force: :cascade do |t|
27
27
  t.string "name"
@@ -36,13 +36,13 @@ ActiveRecord::Schema.define(version: 20151012185726) do
36
36
  end
37
37
 
38
38
  create_table "adeia_group_users", force: :cascade do |t|
39
- t.integer "group_id"
39
+ t.integer "adeia_group_id"
40
40
  t.integer "user_id"
41
- t.datetime "created_at", null: false
42
- t.datetime "updated_at", null: false
41
+ t.datetime "created_at", null: false
42
+ t.datetime "updated_at", null: false
43
43
  end
44
44
 
45
- add_index "adeia_group_users", ["group_id"], name: "index_adeia_group_users_on_group_id"
45
+ add_index "adeia_group_users", ["adeia_group_id"], name: "index_adeia_group_users_on_adeia_group_id"
46
46
  add_index "adeia_group_users", ["user_id"], name: "index_adeia_group_users_on_user_id"
47
47
 
48
48
  create_table "adeia_groups", force: :cascade do |t|
@@ -54,30 +54,30 @@ ActiveRecord::Schema.define(version: 20151012185726) do
54
54
  create_table "adeia_permissions", force: :cascade do |t|
55
55
  t.integer "owner_id"
56
56
  t.string "owner_type"
57
- t.integer "element_id"
57
+ t.integer "adeia_element_id"
58
58
  t.integer "permission_type"
59
59
  t.boolean "read_right"
60
60
  t.boolean "create_right"
61
61
  t.boolean "update_right"
62
62
  t.boolean "destroy_right"
63
63
  t.integer "resource_id"
64
- t.datetime "created_at", null: false
65
- t.datetime "updated_at", null: false
64
+ t.datetime "created_at", null: false
65
+ t.datetime "updated_at", null: false
66
66
  end
67
67
 
68
- add_index "adeia_permissions", ["element_id"], name: "index_adeia_permissions_on_element_id"
68
+ add_index "adeia_permissions", ["adeia_element_id"], name: "index_adeia_permissions_on_adeia_element_id"
69
69
  add_index "adeia_permissions", ["owner_type", "owner_id"], name: "index_adeia_permissions_on_owner_type_and_owner_id"
70
70
 
71
71
  create_table "adeia_tokens", force: :cascade do |t|
72
72
  t.string "token"
73
73
  t.boolean "is_valid"
74
- t.integer "permission_id"
74
+ t.integer "adeia_permission_id"
75
75
  t.date "exp_at"
76
- t.datetime "created_at", null: false
77
- t.datetime "updated_at", null: false
76
+ t.datetime "created_at", null: false
77
+ t.datetime "updated_at", null: false
78
78
  end
79
79
 
80
- add_index "adeia_tokens", ["permission_id"], name: "index_adeia_tokens_on_permission_id"
80
+ add_index "adeia_tokens", ["adeia_permission_id"], name: "index_adeia_tokens_on_adeia_permission_id"
81
81
 
82
82
  create_table "articles", force: :cascade do |t|
83
83
  t.string "title"
Binary file