permissify 0.0.12 → 0.0.13

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.
@@ -0,0 +1,4 @@
1
+ Description:
2
+ The permissify:install generator creates migrations to establish the roles and associated manages_roles and roles_users join tables.
3
+ Inspect and modify these migrations to fit your implementation/adaptation.
4
+ When satisfied, run bundle exec rake db:migrate
@@ -0,0 +1,56 @@
1
+ require 'rails/generators/migration'
2
+
3
+ module Permissify
4
+ module Generators
5
+ class InstallGenerator < Rails::Generators::Base
6
+ include Rails::Generators::Migration
7
+ source_root File.expand_path('../templates', __FILE__)
8
+ desc "add the migrations"
9
+
10
+ def self.next_migration_number(path)
11
+ unless @prev_migration_nr
12
+ @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
13
+ else
14
+ @prev_migration_nr += 1
15
+ end
16
+ @prev_migration_nr.to_s
17
+ end
18
+
19
+ def copy_migrations
20
+ migration_template "create_roles_tables.rb", "db/migrate/create_roles_tables.rb"
21
+ # migration_template "create_something_else.rb", "db/migrate/create_something_else.rb"
22
+ end
23
+
24
+ def generate_install
25
+ end
26
+ end
27
+ end
28
+ end
29
+
30
+
31
+
32
+
33
+ module YourGemName
34
+ module Generators
35
+ class InstallGenerator < ::Rails::Generators::Base
36
+ include Rails::Generators::Migration
37
+ source_root File.expand_path('../templates', __FILE__)
38
+ desc "add the migrations"
39
+
40
+ def self.next_migration_number(path)
41
+ unless @prev_migration_nr
42
+ @prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
43
+ else
44
+ @prev_migration_nr += 1
45
+ end
46
+ @prev_migration_nr.to_s
47
+ end
48
+
49
+ def copy_migrations
50
+ migration_template "create_something.rb", "db/migrate/create_something.rb"
51
+ migration_template "create_something_else.rb", "db/migrate/create_something_else.rb"
52
+ end
53
+
54
+ end
55
+ end
56
+ end
@@ -0,0 +1,41 @@
1
+ class CreateRolesTables < ActiveRecord::Migration
2
+ def up
3
+
4
+ create_table :roles, :force => true do |t|
5
+ t.string :name, :limit => 31
6
+ t.string :domain_type, :limit => 31
7
+ t.text :can_manage_roles
8
+ t.text :permissions
9
+ t.timestamps
10
+ end
11
+
12
+ # the 'manages_roles' join table facilitates the expression of which roles manage other roles.
13
+ # see role.rb HABTM managers and manages associations.
14
+ create_table :manages_roles, :id => false, :force => true do |t|
15
+ t.references :manage, :null => false
16
+ t.references :role, :null => false
17
+ end
18
+
19
+
20
+ # NOTE 1: when associating roles to a model/table other than 'users',
21
+ # the 'roles_users' join table, and its :user_id field, need to be renamed.
22
+
23
+ # NOTE 2: roles can be associated to multiple models/tables.
24
+ # create a join table for each model/table which roles are associated to.
25
+
26
+ create_table :roles_users, :id => false, :force => true do |t|
27
+ t.integer :role_id, :null => false
28
+ t.integer :user_id, :null => false
29
+ end
30
+
31
+ # NOTE 3: add indexes as appropriate for your app.
32
+
33
+ end
34
+
35
+ def down
36
+ drop_table :roles
37
+ drop_table :manages_roles
38
+ drop_table :roles_users
39
+ end
40
+
41
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: permissify
3
3
  version: !ruby/object:Gem::Version
4
- hash: 7
4
+ hash: 5
5
5
  prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 12
10
- version: 0.0.12
9
+ - 13
10
+ version: 0.0.13
11
11
  platform: ruby
12
12
  authors:
13
13
  - Frederick Fix
@@ -65,6 +65,9 @@ files:
65
65
  - lib/generators/permissify/controller/template/permissified_controller.rb
66
66
  - lib/generators/permissify/controller/template/permissions_controller.rb
67
67
  - lib/generators/permissify/controller/USAGE
68
+ - lib/generators/permissify/install/install_generator.rb
69
+ - lib/generators/permissify/install/templates/create_roles_tables.rb
70
+ - lib/generators/permissify/install/USAGE
68
71
  - lib/generators/permissify/product/product_generator.rb
69
72
  - lib/generators/permissify/product/template/interface/permissified_brand.rb
70
73
  - lib/generators/permissify/product/template/interface/permissified_merchant.rb