gdpr_rails 0.1.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 (60) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +28 -0
  4. data/Rakefile +36 -0
  5. data/app/assets/config/policy_manager_manifest.js +2 -0
  6. data/app/assets/javascripts/policy_manager/application.js +13 -0
  7. data/app/assets/stylesheets/policy_manager/application.css +15 -0
  8. data/app/assets/stylesheets/policy_manager/dashboard.css +99 -0
  9. data/app/assets/stylesheets/scaffold.css +80 -0
  10. data/app/controllers/policy_manager/application_controller.rb +5 -0
  11. data/app/controllers/policy_manager/categories_controller.rb +62 -0
  12. data/app/controllers/policy_manager/dashboard_controller.rb +6 -0
  13. data/app/controllers/policy_manager/terms_controller.rb +62 -0
  14. data/app/controllers/policy_manager/user_terms_controller.rb +119 -0
  15. data/app/helpers/policy_manager/application_helper.rb +4 -0
  16. data/app/helpers/policy_manager/categories_helper.rb +4 -0
  17. data/app/helpers/policy_manager/dashboard_helper.rb +4 -0
  18. data/app/helpers/policy_manager/terms_categories_helper.rb +4 -0
  19. data/app/helpers/policy_manager/terms_helper.rb +4 -0
  20. data/app/helpers/policy_manager/user_terms_helper.rb +4 -0
  21. data/app/jobs/policy_manager/application_job.rb +4 -0
  22. data/app/mailers/policy_manager/application_mailer.rb +6 -0
  23. data/app/models/policy_manager/application_record.rb +5 -0
  24. data/app/models/policy_manager/concerns/user_behavior.rb +75 -0
  25. data/app/models/policy_manager/term.rb +20 -0
  26. data/app/models/policy_manager/user_term.rb +19 -0
  27. data/app/views/layouts/policy_manager/application.html.erb +92 -0
  28. data/app/views/policy_manager/categories/_form.html.erb +22 -0
  29. data/app/views/policy_manager/categories/edit.html.erb +6 -0
  30. data/app/views/policy_manager/categories/index.html.erb +32 -0
  31. data/app/views/policy_manager/categories/new.html.erb +5 -0
  32. data/app/views/policy_manager/categories/show.html.erb +39 -0
  33. data/app/views/policy_manager/dashboard/index.erb +33 -0
  34. data/app/views/policy_manager/terms/_form.html.erb +32 -0
  35. data/app/views/policy_manager/terms/edit.html.erb +6 -0
  36. data/app/views/policy_manager/terms/index.html.erb +33 -0
  37. data/app/views/policy_manager/terms/new.html.erb +5 -0
  38. data/app/views/policy_manager/terms/show.html.erb +16 -0
  39. data/app/views/policy_manager/terms_categories/_form.html.erb +17 -0
  40. data/app/views/policy_manager/terms_categories/edit.html.erb +6 -0
  41. data/app/views/policy_manager/terms_categories/index.html.erb +24 -0
  42. data/app/views/policy_manager/terms_categories/new.html.erb +5 -0
  43. data/app/views/policy_manager/terms_categories/show.html.erb +4 -0
  44. data/app/views/policy_manager/user_terms/_form.html.erb +17 -0
  45. data/app/views/policy_manager/user_terms/edit.html.erb +6 -0
  46. data/app/views/policy_manager/user_terms/index.html.erb +24 -0
  47. data/app/views/policy_manager/user_terms/new.html.erb +5 -0
  48. data/app/views/policy_manager/user_terms/pending.html.erb +7 -0
  49. data/app/views/policy_manager/user_terms/show.html.erb +32 -0
  50. data/app/views/policy_manager/user_terms/show.json.jbuilder +11 -0
  51. data/config/routes.rb +20 -0
  52. data/db/migrate/20180326193825_create_policy_manager_terms.rb +11 -0
  53. data/db/migrate/20180326193827_create_policy_manager_user_terms.rb +12 -0
  54. data/lib/policy_manager/config.rb +19 -0
  55. data/lib/policy_manager/engine.rb +5 -0
  56. data/lib/policy_manager/rule.rb +20 -0
  57. data/lib/policy_manager/version.rb +3 -0
  58. data/lib/policy_manager.rb +8 -0
  59. data/lib/tasks/terms_tasks.rake +4 -0
  60. metadata +145 -0
@@ -0,0 +1,12 @@
1
+ class CreatePolicyManagerUserTerms < ActiveRecord::Migration[5.1]
2
+ def change
3
+ create_table :policy_manager_user_terms do |t|
4
+ t.integer :user_id, index: true
5
+ t.integer :term_id, index: true
6
+ t.string :state, index: true
7
+
8
+ t.timestamps
9
+ end
10
+ #add_index :terms_user_terms, :state
11
+ end
12
+ end
@@ -0,0 +1,19 @@
1
+ module PolicyManager
2
+ class Config
3
+
4
+ def self.setup
5
+ @@rules = []
6
+ yield self
7
+ self
8
+ end
9
+
10
+ def self.rules
11
+ @@rules
12
+ end
13
+
14
+ def self.add_rule(opts={}, &block)
15
+ @@rules << PolicyManager::Rule.new(opts, &block)
16
+ end
17
+
18
+ end
19
+ end
@@ -0,0 +1,5 @@
1
+ module PolicyManager
2
+ class Engine < ::Rails::Engine
3
+ isolate_namespace PolicyManager
4
+ end
5
+ end
@@ -0,0 +1,20 @@
1
+ module PolicyManager
2
+ class Rule
3
+ attr_accessor :resources, :blocking, :name
4
+
5
+ def initialize(opts={})
6
+ self.name = opts[:name]
7
+ self.blocking = opts[:blocking]
8
+ self.resources = opts[:resources]
9
+ end
10
+
11
+ def resources
12
+ @resources || [:internal]
13
+ end
14
+
15
+ def terms
16
+ Term.where("rule =?", self.name)
17
+ end
18
+
19
+ end
20
+ end
@@ -0,0 +1,3 @@
1
+ module PolicyManager
2
+ VERSION = '0.1.0'
3
+ end
@@ -0,0 +1,8 @@
1
+
2
+ require "policy_manager/engine"
3
+ require "policy_manager/rule"
4
+ require "policy_manager/config"
5
+
6
+ module PolicyManager
7
+ # Your code goes here...
8
+ end
@@ -0,0 +1,4 @@
1
+ # desc "Explaining what the task does"
2
+ # task :terms do
3
+ # # Task goes here
4
+ # end
metadata ADDED
@@ -0,0 +1,145 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: gdpr_rails
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Miguel Michelson
8
+ - Prey inc
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2018-03-29 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: rails
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - "~>"
19
+ - !ruby/object:Gem::Version
20
+ version: 5.1.4
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - "~>"
26
+ - !ruby/object:Gem::Version
27
+ version: 5.1.4
28
+ - !ruby/object:Gem::Dependency
29
+ name: redcarpet
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :runtime
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ - !ruby/object:Gem::Dependency
43
+ name: sqlite3
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ">="
47
+ - !ruby/object:Gem::Version
48
+ version: '0'
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ">="
54
+ - !ruby/object:Gem::Version
55
+ version: '0'
56
+ description: policy_manager engine for rails gdpr compliance
57
+ email:
58
+ - miguelmichelson@gmail.com
59
+ executables: []
60
+ extensions: []
61
+ extra_rdoc_files: []
62
+ files:
63
+ - MIT-LICENSE
64
+ - README.md
65
+ - Rakefile
66
+ - app/assets/config/policy_manager_manifest.js
67
+ - app/assets/javascripts/policy_manager/application.js
68
+ - app/assets/stylesheets/policy_manager/application.css
69
+ - app/assets/stylesheets/policy_manager/dashboard.css
70
+ - app/assets/stylesheets/scaffold.css
71
+ - app/controllers/policy_manager/application_controller.rb
72
+ - app/controllers/policy_manager/categories_controller.rb
73
+ - app/controllers/policy_manager/dashboard_controller.rb
74
+ - app/controllers/policy_manager/terms_controller.rb
75
+ - app/controllers/policy_manager/user_terms_controller.rb
76
+ - app/helpers/policy_manager/application_helper.rb
77
+ - app/helpers/policy_manager/categories_helper.rb
78
+ - app/helpers/policy_manager/dashboard_helper.rb
79
+ - app/helpers/policy_manager/terms_categories_helper.rb
80
+ - app/helpers/policy_manager/terms_helper.rb
81
+ - app/helpers/policy_manager/user_terms_helper.rb
82
+ - app/jobs/policy_manager/application_job.rb
83
+ - app/mailers/policy_manager/application_mailer.rb
84
+ - app/models/policy_manager/application_record.rb
85
+ - app/models/policy_manager/concerns/user_behavior.rb
86
+ - app/models/policy_manager/term.rb
87
+ - app/models/policy_manager/user_term.rb
88
+ - app/views/layouts/policy_manager/application.html.erb
89
+ - app/views/policy_manager/categories/_form.html.erb
90
+ - app/views/policy_manager/categories/edit.html.erb
91
+ - app/views/policy_manager/categories/index.html.erb
92
+ - app/views/policy_manager/categories/new.html.erb
93
+ - app/views/policy_manager/categories/show.html.erb
94
+ - app/views/policy_manager/dashboard/index.erb
95
+ - app/views/policy_manager/terms/_form.html.erb
96
+ - app/views/policy_manager/terms/edit.html.erb
97
+ - app/views/policy_manager/terms/index.html.erb
98
+ - app/views/policy_manager/terms/new.html.erb
99
+ - app/views/policy_manager/terms/show.html.erb
100
+ - app/views/policy_manager/terms_categories/_form.html.erb
101
+ - app/views/policy_manager/terms_categories/edit.html.erb
102
+ - app/views/policy_manager/terms_categories/index.html.erb
103
+ - app/views/policy_manager/terms_categories/new.html.erb
104
+ - app/views/policy_manager/terms_categories/show.html.erb
105
+ - app/views/policy_manager/user_terms/_form.html.erb
106
+ - app/views/policy_manager/user_terms/edit.html.erb
107
+ - app/views/policy_manager/user_terms/index.html.erb
108
+ - app/views/policy_manager/user_terms/new.html.erb
109
+ - app/views/policy_manager/user_terms/pending.html.erb
110
+ - app/views/policy_manager/user_terms/show.html.erb
111
+ - app/views/policy_manager/user_terms/show.json.jbuilder
112
+ - config/routes.rb
113
+ - db/migrate/20180326193825_create_policy_manager_terms.rb
114
+ - db/migrate/20180326193827_create_policy_manager_user_terms.rb
115
+ - lib/policy_manager.rb
116
+ - lib/policy_manager/config.rb
117
+ - lib/policy_manager/engine.rb
118
+ - lib/policy_manager/rule.rb
119
+ - lib/policy_manager/version.rb
120
+ - lib/tasks/terms_tasks.rake
121
+ homepage: http://preyproject.com
122
+ licenses:
123
+ - MIT
124
+ metadata: {}
125
+ post_install_message:
126
+ rdoc_options: []
127
+ require_paths:
128
+ - lib
129
+ required_ruby_version: !ruby/object:Gem::Requirement
130
+ requirements:
131
+ - - ">="
132
+ - !ruby/object:Gem::Version
133
+ version: '0'
134
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ requirements: []
140
+ rubyforge_project:
141
+ rubygems_version: 2.5.1
142
+ signing_key:
143
+ specification_version: 4
144
+ summary: policy_manager engine for rails
145
+ test_files: []