introspective_admin 0.1.0 → 1.0.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 (121) hide show
  1. checksums.yaml +4 -4
  2. data/.DS_Store +0 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +75 -0
  5. data/.ruby-version +1 -1
  6. data/.travis.yml +5 -14
  7. data/CHANGELOG.md +37 -28
  8. data/Gemfile +24 -6
  9. data/Gemfile.lock +402 -264
  10. data/README.md +34 -8
  11. data/Rakefile +3 -5
  12. data/introspective_admin.gemspec +29 -44
  13. data/lib/introspective_admin/base.rb +217 -200
  14. data/lib/introspective_admin/version.rb +5 -3
  15. data/lib/introspective_admin.rb +2 -0
  16. data/lib/tasks/introspective_admin_tasks.rake +2 -0
  17. data/spec/admin/company_admin_spec.rb +73 -72
  18. data/spec/admin/job_admin_spec.rb +63 -61
  19. data/spec/admin/location_admin_spec.rb +70 -66
  20. data/spec/admin/location_beacon_admin_spec.rb +75 -73
  21. data/spec/admin/project__admin_spec.rb +73 -71
  22. data/spec/admin/user_admin_spec.rb +65 -64
  23. data/spec/dummy/Gemfile +17 -0
  24. data/spec/dummy/README.rdoc +28 -28
  25. data/spec/dummy/Rakefile +8 -6
  26. data/spec/dummy/app/admin/admin_users.rb +29 -0
  27. data/spec/dummy/app/admin/company_admin.rb +5 -4
  28. data/spec/dummy/app/admin/dashboard.rb +34 -0
  29. data/spec/dummy/app/admin/job_admin.rb +5 -4
  30. data/spec/dummy/app/admin/location_admin.rb +5 -4
  31. data/spec/dummy/app/admin/location_beacon_admin.rb +8 -6
  32. data/spec/dummy/app/admin/project_admin.rb +5 -6
  33. data/spec/dummy/app/admin/role_admin.rb +5 -5
  34. data/spec/dummy/app/admin/user_admin.rb +13 -13
  35. data/spec/dummy/app/assets/config/manifest.js +3 -0
  36. data/spec/dummy/app/assets/javascripts/active_admin.js +1 -0
  37. data/spec/dummy/app/assets/javascripts/application.js +13 -13
  38. data/spec/dummy/app/assets/stylesheets/active_admin.scss +17 -0
  39. data/spec/dummy/app/assets/stylesheets/application.css +15 -15
  40. data/spec/dummy/app/controllers/application_controller.rb +10 -8
  41. data/spec/dummy/app/helpers/application_helper.rb +4 -3
  42. data/spec/dummy/app/models/abstract_adapter.rb +20 -12
  43. data/spec/dummy/app/models/admin_user.rb +12 -6
  44. data/spec/dummy/app/models/company.rb +13 -12
  45. data/spec/dummy/app/models/job.rb +10 -10
  46. data/spec/dummy/app/models/locatable.rb +8 -6
  47. data/spec/dummy/app/models/location.rb +27 -26
  48. data/spec/dummy/app/models/location_beacon.rb +19 -19
  49. data/spec/dummy/app/models/location_gps.rb +11 -11
  50. data/spec/dummy/app/models/project.rb +20 -20
  51. data/spec/dummy/app/models/project_job.rb +8 -7
  52. data/spec/dummy/app/models/role.rb +26 -25
  53. data/spec/dummy/app/models/team.rb +10 -9
  54. data/spec/dummy/app/models/team_user.rb +14 -13
  55. data/spec/dummy/app/models/user.rb +72 -68
  56. data/spec/dummy/app/models/user_location.rb +28 -28
  57. data/spec/dummy/app/models/user_project_job.rb +17 -16
  58. data/spec/dummy/app/views/layouts/application.html.erb +13 -13
  59. data/spec/dummy/bin/bundle +5 -3
  60. data/spec/dummy/bin/rails +6 -4
  61. data/spec/dummy/bin/rake +6 -4
  62. data/spec/dummy/bin/setup +31 -29
  63. data/spec/dummy/config/application.rb +35 -34
  64. data/spec/dummy/config/boot.rb +7 -5
  65. data/spec/dummy/config/database.yml +22 -22
  66. data/spec/dummy/config/environment.rb +12 -11
  67. data/spec/dummy/config/environments/development.rb +47 -45
  68. data/spec/dummy/config/environments/production.rb +83 -82
  69. data/spec/dummy/config/environments/test.rb +50 -50
  70. data/spec/dummy/config/initializers/active_admin.rb +8 -7
  71. data/spec/dummy/config/initializers/assets.rb +15 -13
  72. data/spec/dummy/config/initializers/backtrace_silencers.rb +9 -7
  73. data/spec/dummy/config/initializers/cookies_serializer.rb +5 -3
  74. data/spec/dummy/config/initializers/devise.rb +265 -263
  75. data/spec/dummy/config/initializers/filter_parameter_logging.rb +6 -4
  76. data/spec/dummy/config/initializers/inflections.rb +18 -16
  77. data/spec/dummy/config/initializers/mime_types.rb +6 -4
  78. data/spec/dummy/config/initializers/session_store.rb +5 -3
  79. data/spec/dummy/config/initializers/wrap_parameters.rb +16 -14
  80. data/spec/dummy/config/initializers/zeitwerk.rb +10 -0
  81. data/spec/dummy/config/locales/devise.en.yml +60 -60
  82. data/spec/dummy/config/locales/en.yml +23 -23
  83. data/spec/dummy/config/routes.rb +12 -9
  84. data/spec/dummy/config/secrets.yml +20 -20
  85. data/spec/dummy/config.ru +6 -4
  86. data/spec/dummy/db/development.sqlite3 +0 -0
  87. data/spec/dummy/db/migrate/20141002205024_devise_create_users.rb +43 -42
  88. data/spec/dummy/db/migrate/20141002211055_devise_create_admin_users.rb +49 -48
  89. data/spec/dummy/db/migrate/20141002211057_create_active_admin_comments.rb +21 -19
  90. data/spec/dummy/db/migrate/20141002220722_add_lockable_to_users.rb +10 -8
  91. data/spec/dummy/db/migrate/20150406213646_create_companies.rb +13 -11
  92. data/spec/dummy/db/migrate/20150414213154_add_user_authentication_token.rb +13 -11
  93. data/spec/dummy/db/migrate/20150415222005_create_roles.rb +13 -12
  94. data/spec/dummy/db/migrate/20150505181635_create_chats.rb +11 -9
  95. data/spec/dummy/db/migrate/20150505181636_create_chat_users.rb +13 -11
  96. data/spec/dummy/db/migrate/20150505181640_create_chat_messages.rb +13 -11
  97. data/spec/dummy/db/migrate/20150507191529_create_chat_message_users.rb +13 -11
  98. data/spec/dummy/db/migrate/20150601200526_create_locations.rb +15 -13
  99. data/spec/dummy/db/migrate/20150601200533_create_locatables.rb +12 -10
  100. data/spec/dummy/db/migrate/20150601212924_create_location_beacons.rb +18 -16
  101. data/spec/dummy/db/migrate/20150601213542_create_location_gps.rb +14 -12
  102. data/spec/dummy/db/migrate/20150609201823_create_user_locations.rb +16 -14
  103. data/spec/dummy/db/migrate/20150617232519_create_projects.rb +12 -10
  104. data/spec/dummy/db/migrate/20150617232521_create_jobs.rb +11 -9
  105. data/spec/dummy/db/migrate/20150617232522_create_project_jobs.rb +13 -11
  106. data/spec/dummy/db/migrate/20150623170133_create_user_project_jobs.rb +14 -12
  107. data/spec/dummy/db/migrate/20150701234929_create_teams.rb +13 -11
  108. data/spec/dummy/db/migrate/20150701234930_create_team_users.rb +13 -11
  109. data/spec/dummy/db/migrate/20150727214950_add_confirmable_to_devise.rb +13 -11
  110. data/spec/dummy/db/migrate/20150820190524_add_user_names.rb +8 -6
  111. data/spec/dummy/db/migrate/20150909225019_add_password_to_project.rb +7 -5
  112. data/spec/dummy/db/migrate/20220806003731_add_devise_to_admin_users.rb +50 -0
  113. data/spec/dummy/db/schema.rb +263 -264
  114. data/spec/dummy/public/404.html +67 -67
  115. data/spec/dummy/public/422.html +67 -67
  116. data/spec/dummy/public/500.html +66 -66
  117. data/spec/rails_helper.rb +33 -27
  118. data/spec/support/blueprints.rb +50 -49
  119. data/spec/support/location_helper.rb +28 -29
  120. metadata +21 -252
  121. data/Gemfile.lock.rails4 +0 -256
@@ -1,11 +1,13 @@
1
- class CreateChatUsers < ActiveRecord::Migration
2
- def change
3
- create_table :chat_users do |t|
4
- t.references :chat, chat: true, index: true, foreign_key: true
5
- t.references :user, index: true, foreign_key: false
6
- t.datetime :departed_at
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateChatUsers < ActiveRecord::Migration
4
+ def change
5
+ create_table :chat_users do |t|
6
+ t.references :chat, chat: true, index: true, foreign_key: true
7
+ t.references :user, index: true, foreign_key: false
8
+ t.datetime :departed_at
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -1,11 +1,13 @@
1
- class CreateChatMessages < ActiveRecord::Migration
2
- def change
3
- create_table :chat_messages do |t|
4
- t.references :chat, chat: true, index: true, foreign_key: true
5
- t.integer :author_id, references: :users, index: true, foreign_key: false
6
- t.text :message
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateChatMessages < ActiveRecord::Migration
4
+ def change
5
+ create_table :chat_messages do |t|
6
+ t.references :chat, chat: true, index: true, foreign_key: true
7
+ t.integer :author_id, references: :users, index: true, foreign_key: false
8
+ t.text :message
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -1,11 +1,13 @@
1
- class CreateChatMessageUsers < ActiveRecord::Migration
2
- def change
3
- create_table :chat_message_users do |t|
4
- t.references :chat_message, index: true, foreign_key: true
5
- t.references :user, index: true, foreign_key: false
6
- t.timestamp :read_at
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateChatMessageUsers < ActiveRecord::Migration
4
+ def change
5
+ create_table :chat_message_users do |t|
6
+ t.references :chat_message, index: true, foreign_key: true
7
+ t.references :user, index: true, foreign_key: false
8
+ t.timestamp :read_at
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -1,13 +1,15 @@
1
- class CreateLocations < ActiveRecord::Migration
2
- def change
3
- create_table :locations do |t|
4
- t.string :name, null: false
5
- t.string :kind
6
- t.integer :parent_location_id, index: true, foreign_key: false
7
- t.integer :unreflected_id, index: true, foreign_key: false
8
-
9
- t.timestamps null: false
10
- end
11
- add_index :locations, [:parent_location_id,:kind,:name], unique: true
12
- end
13
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateLocations < ActiveRecord::Migration
4
+ def change
5
+ create_table :locations do |t|
6
+ t.string :name, null: false
7
+ t.string :kind
8
+ t.integer :parent_location_id, index: true, foreign_key: false
9
+ t.integer :unreflected_id, index: true, foreign_key: false
10
+
11
+ t.timestamps null: false
12
+ end
13
+ add_index :locations, %i[parent_location_id kind name], unique: true
14
+ end
15
+ end
@@ -1,10 +1,12 @@
1
- class CreateLocatables < ActiveRecord::Migration
2
- def change
3
- create_table :locatables do |t|
4
- t.references :location
5
- t.references :locatable, polymorphic: true, index: true
6
-
7
- t.timestamps null: false
8
- end
9
- end
10
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateLocatables < ActiveRecord::Migration
4
+ def change
5
+ create_table :locatables do |t|
6
+ t.references :location
7
+ t.references :locatable, polymorphic: true, index: true
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -1,16 +1,18 @@
1
- class CreateLocationBeacons < ActiveRecord::Migration
2
- def change
3
- create_table :location_beacons do |t|
4
- t.references :location
5
- t.references :company, null: false
6
- t.string :mac_address, limit: 12
7
- t.string :uuid, null: false, limit: 32
8
- t.integer :major, null: false
9
- t.integer :minor, null: false
10
- t.integer :last_known_battery_level
11
-
12
- t.timestamps null: false
13
- end
14
- add_index :location_beacons, [:company_id,:uuid,:major,:minor], name: "index_location_beacons_unique_company_identifier", unique: true
15
- end
16
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateLocationBeacons < ActiveRecord::Migration
4
+ def change
5
+ create_table :location_beacons do |t|
6
+ t.references :location
7
+ t.references :company, null: false
8
+ t.string :mac_address, limit: 12
9
+ t.string :uuid, null: false, limit: 32
10
+ t.integer :major, null: false
11
+ t.integer :minor, null: false
12
+ t.integer :last_known_battery_level
13
+
14
+ t.timestamps null: false
15
+ end
16
+ add_index :location_beacons, %i[company_id uuid major minor], name: 'index_location_beacons_unique_company_identifier', unique: true
17
+ end
18
+ end
@@ -1,12 +1,14 @@
1
- class CreateLocationGps < ActiveRecord::Migration
2
- def change
3
- create_table :location_gps do |t|
4
- t.references :location, index: true, foreign_key: true
5
- t.float :lat, null: false
6
- t.float :lng, null: false
7
- t.float :alt, default: 0
8
-
9
- t.timestamps null: false
10
- end
11
- end
12
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateLocationGps < ActiveRecord::Migration
4
+ def change
5
+ create_table :location_gps do |t|
6
+ t.references :location, index: true, foreign_key: true
7
+ t.float :lat, null: false
8
+ t.float :lng, null: false
9
+ t.float :alt, default: 0
10
+
11
+ t.timestamps null: false
12
+ end
13
+ end
14
+ end
@@ -1,14 +1,16 @@
1
- class CreateUserLocations < ActiveRecord::Migration
2
- def change
3
- create_table :user_locations do |t|
4
- t.references :user, index: true, foreign_key: true
5
- t.references :location, index: true, foreign_key: true
6
- t.references :detectable, polymorphic: true, index: true
7
- t.float :lat
8
- t.float :lng
9
- t.float :alt
10
-
11
- t.timestamps null: false
12
- end
13
- end
14
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateUserLocations < ActiveRecord::Migration
4
+ def change
5
+ create_table :user_locations do |t|
6
+ t.references :user, index: true, foreign_key: true
7
+ t.references :location, index: true, foreign_key: true
8
+ t.references :detectable, polymorphic: true, index: true
9
+ t.float :lat
10
+ t.float :lng
11
+ t.float :alt
12
+
13
+ t.timestamps null: false
14
+ end
15
+ end
16
+ end
@@ -1,10 +1,12 @@
1
- class CreateProjects < ActiveRecord::Migration
2
- def change
3
- create_table :projects do |t|
4
- t.string :name, null: false
5
- t.integer :owner_id, references: :companies, index: true, foreign_key: true
6
-
7
- t.timestamps null: false
8
- end
9
- end
10
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateProjects < ActiveRecord::Migration
4
+ def change
5
+ create_table :projects do |t|
6
+ t.string :name, null: false
7
+ t.integer :owner_id, references: :companies, index: true, foreign_key: true
8
+
9
+ t.timestamps null: false
10
+ end
11
+ end
12
+ end
@@ -1,9 +1,11 @@
1
- class CreateJobs < ActiveRecord::Migration
2
- def change
3
- create_table :jobs do |t|
4
- t.string :title, null: false
5
-
6
- t.timestamps null: false
7
- end
8
- end
9
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateJobs < ActiveRecord::Migration
4
+ def change
5
+ create_table :jobs do |t|
6
+ t.string :title, null: false
7
+
8
+ t.timestamps null: false
9
+ end
10
+ end
11
+ end
@@ -1,11 +1,13 @@
1
- class CreateProjectJobs < ActiveRecord::Migration
2
- def change
3
- create_table :project_jobs do |t|
4
- t.references :project, index: true, null: false, foreign_key: true
5
- t.references :job, index: true, null: false, foreign_key: true
6
-
7
- t.timestamps null: false
8
- end
9
- add_index :project_jobs, [:project_id,:job_id], unique: true
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateProjectJobs < ActiveRecord::Migration
4
+ def change
5
+ create_table :project_jobs do |t|
6
+ t.references :project, index: true, null: false, foreign_key: true
7
+ t.references :job, index: true, null: false, foreign_key: true
8
+
9
+ t.timestamps null: false
10
+ end
11
+ add_index :project_jobs, %i[project_id job_id], unique: true
12
+ end
13
+ end
@@ -1,12 +1,14 @@
1
- class CreateUserProjectJobs < ActiveRecord::Migration
2
- def change
3
- create_table :user_project_jobs do |t|
4
- t.references :user, index: true, foreign_key: true, null: false
5
- t.references :project, index: true, foreign_key: true, null: false
6
- t.references :job, index: true, foreign_key: true, null: false
7
-
8
- t.timestamps null: false
9
- end
10
- add_index :user_project_jobs, [:user_id,:project_id,:job_id], unique: true
11
- end
12
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateUserProjectJobs < ActiveRecord::Migration
4
+ def change
5
+ create_table :user_project_jobs do |t|
6
+ t.references :user, index: true, foreign_key: true, null: false
7
+ t.references :project, index: true, foreign_key: true, null: false
8
+ t.references :job, index: true, foreign_key: true, null: false
9
+
10
+ t.timestamps null: false
11
+ end
12
+ add_index :user_project_jobs, %i[user_id project_id job_id], unique: true
13
+ end
14
+ end
@@ -1,11 +1,13 @@
1
- class CreateTeams < ActiveRecord::Migration
2
- def change
3
- create_table :teams do |t|
4
- t.string :name
5
- t.references :project, index: true, foreign_key: true
6
- t.references :creator, references: :users, index: true, foreign_key: true
7
-
8
- t.timestamps null: false
9
- end
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateTeams < ActiveRecord::Migration
4
+ def change
5
+ create_table :teams do |t|
6
+ t.string :name
7
+ t.references :project, index: true, foreign_key: true
8
+ t.references :creator, references: :users, index: true, foreign_key: true
9
+
10
+ t.timestamps null: false
11
+ end
12
+ end
13
+ end
@@ -1,11 +1,13 @@
1
- class CreateTeamUsers < ActiveRecord::Migration
2
- def change
3
- create_table :team_users do |t|
4
- t.references :user, index: true, foreign_key: true
5
- t.references :team, index: true, foreign_key: true
6
-
7
- t.timestamps null: false
8
- end
9
- add_index :team_users, [:user_id,:team_id], unique: true
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class CreateTeamUsers < ActiveRecord::Migration
4
+ def change
5
+ create_table :team_users do |t|
6
+ t.references :user, index: true, foreign_key: true
7
+ t.references :team, index: true, foreign_key: true
8
+
9
+ t.timestamps null: false
10
+ end
11
+ add_index :team_users, %i[user_id team_id], unique: true
12
+ end
13
+ end
@@ -1,11 +1,13 @@
1
- class AddConfirmableToDevise < ActiveRecord::Migration
2
- def change
3
- change_table(:users) do |t|
4
- t.string :confirmation_token
5
- t.datetime :confirmed_at
6
- t.datetime :confirmation_sent_at
7
- t.string :unconfirmed_email
8
- end
9
- add_index :users, :confirmation_token, unique: true
10
- end
11
- end
1
+ # frozen_string_literal: true
2
+
3
+ class AddConfirmableToDevise < ActiveRecord::Migration
4
+ def change
5
+ change_table(:users) do |t|
6
+ t.string :confirmation_token
7
+ t.datetime :confirmed_at
8
+ t.datetime :confirmation_sent_at
9
+ t.string :unconfirmed_email
10
+ end
11
+ add_index :users, :confirmation_token, unique: true
12
+ end
13
+ end
@@ -1,6 +1,8 @@
1
- class AddUserNames < ActiveRecord::Migration
2
- def change
3
- add_column :users, :first_name, :string
4
- add_column :users, :last_name, :string
5
- end
6
- end
1
+ # frozen_string_literal: true
2
+
3
+ class AddUserNames < ActiveRecord::Migration
4
+ def change
5
+ add_column :users, :first_name, :string
6
+ add_column :users, :last_name, :string
7
+ end
8
+ end
@@ -1,5 +1,7 @@
1
- class AddPasswordToProject < ActiveRecord::Migration
2
- def change
3
- add_column :projects, :default_password, :string
4
- end
5
- end
1
+ # frozen_string_literal: true
2
+
3
+ class AddPasswordToProject < ActiveRecord::Migration
4
+ def change
5
+ add_column :projects, :default_password, :string
6
+ end
7
+ end
@@ -0,0 +1,50 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddDeviseToAdminUsers < ActiveRecord::Migration[5.2]
4
+ def self.up
5
+ change_table :admin_users do |t|
6
+ ## Database authenticatable
7
+ t.string :email, null: false, default: ''
8
+ t.string :encrypted_password, null: false, default: ''
9
+
10
+ ## Recoverable
11
+ t.string :reset_password_token
12
+ t.datetime :reset_password_sent_at
13
+
14
+ ## Rememberable
15
+ t.datetime :remember_created_at
16
+
17
+ ## Trackable
18
+ # t.integer :sign_in_count, default: 0, null: false
19
+ # t.datetime :current_sign_in_at
20
+ # t.datetime :last_sign_in_at
21
+ # t.string :current_sign_in_ip
22
+ # t.string :last_sign_in_ip
23
+
24
+ ## Confirmable
25
+ # t.string :confirmation_token
26
+ # t.datetime :confirmed_at
27
+ # t.datetime :confirmation_sent_at
28
+ # t.string :unconfirmed_email # Only if using reconfirmable
29
+
30
+ ## Lockable
31
+ # t.integer :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
32
+ # t.string :unlock_token # Only if unlock strategy is :email or :both
33
+ # t.datetime :locked_at
34
+
35
+ # Uncomment below if timestamps were not included in your original model.
36
+ # t.timestamps null: false
37
+ end
38
+
39
+ add_index :admin_users, :email, unique: true
40
+ add_index :admin_users, :reset_password_token, unique: true
41
+ # add_index :admin_users, :confirmation_token, unique: true
42
+ # add_index :admin_users, :unlock_token, unique: true
43
+ end
44
+
45
+ def self.down
46
+ # By default, we don't want to make any assumption about how to roll back a migration when your
47
+ # model already existed. Please edit below which fields you would like to remove in this migration.
48
+ raise ActiveRecord::IrreversibleMigration
49
+ end
50
+ end