forcast 0.0.110

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 (149) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +1 -0
  3. data/COPYRIGHTS +11 -0
  4. data/Gemfile +22 -0
  5. data/Gemfile.lock +166 -0
  6. data/PENDIENTES +39 -0
  7. data/README.md +35 -0
  8. data/Rakefile +7 -0
  9. data/VERSION +1 -0
  10. data/bin/console +14 -0
  11. data/bin/rake +28 -0
  12. data/bin/setup +8 -0
  13. data/forcast.gemspec +73 -0
  14. data/lib/forcast.rb +5 -0
  15. data/lib/forcast/controllers/all.rb +2 -0
  16. data/lib/forcast/controllers/application/all.rb +12 -0
  17. data/lib/forcast/controllers/application/crud.rb +91 -0
  18. data/lib/forcast/controllers/application/database.rb +34 -0
  19. data/lib/forcast/controllers/application/error.rb +18 -0
  20. data/lib/forcast/controllers/application/exception_handler.rb +25 -0
  21. data/lib/forcast/controllers/application/json.rb +83 -0
  22. data/lib/forcast/controllers/application/locale.rb +30 -0
  23. data/lib/forcast/controllers/application/log.rb +22 -0
  24. data/lib/forcast/controllers/application/login.rb +41 -0
  25. data/lib/forcast/controllers/application/meta.rb +61 -0
  26. data/lib/forcast/controllers/application/model.rb +17 -0
  27. data/lib/forcast/controllers/application/permitirtodo.rb +27 -0
  28. data/lib/forcast/controllers/application/utils.rb +28 -0
  29. data/lib/forcast/controllers/controller/all.rb +8 -0
  30. data/lib/forcast/controllers/controller/asociar.rb +121 -0
  31. data/lib/forcast/controllers/controller/busqueda.rb +151 -0
  32. data/lib/forcast/controllers/controller/definitor/definitor.rb +322 -0
  33. data/lib/forcast/controllers/controller/definitor/definitor_page.rb +40 -0
  34. data/lib/forcast/controllers/controller/definitor_all.rb +2 -0
  35. data/lib/forcast/controllers/controller/filtro.rb +48 -0
  36. data/lib/forcast/controllers/controller/login/controllers/base_controller.rb +135 -0
  37. data/lib/forcast/controllers/controller/login/controllers/login_controller.rb +38 -0
  38. data/lib/forcast/controllers/controller/login/login.rb +71 -0
  39. data/lib/forcast/controllers/controller/login_all.rb +1 -0
  40. data/lib/forcast/controllers/controller/paper_trail/paper_trail.rb +21 -0
  41. data/lib/forcast/controllers/controller/paper_trail_all.rb +1 -0
  42. data/lib/forcast/controllers/controller/relacion.rb +157 -0
  43. data/lib/forcast/controllers/controller/rule_engine/action_engine.rb +92 -0
  44. data/lib/forcast/controllers/controller/rule_engine/controllers/action_logs_controller.rb +12 -0
  45. data/lib/forcast/controllers/controller/rule_engine/controllers/actions_controller.rb +10 -0
  46. data/lib/forcast/controllers/controller/rule_engine/controllers/pollings_controller.rb +13 -0
  47. data/lib/forcast/controllers/controller/rule_engine/controllers/rule_logs_controller.rb +12 -0
  48. data/lib/forcast/controllers/controller/rule_engine/controllers/rules_controller.rb +19 -0
  49. data/lib/forcast/controllers/controller/rule_engine/controllers/webhooks_controller.rb +27 -0
  50. data/lib/forcast/controllers/controller/rule_engine/polling_engine.rb +76 -0
  51. data/lib/forcast/controllers/controller/rule_engine/rule_controller.rb +27 -0
  52. data/lib/forcast/controllers/controller/rule_engine/rule_engine.rb +88 -0
  53. data/lib/forcast/controllers/controller/rule_engine/webhook_engine.rb +38 -0
  54. data/lib/forcast/controllers/controller/rule_engine_all.rb +5 -0
  55. data/lib/forcast/jobs/all.rb +2 -0
  56. data/lib/forcast/jobs/jobs_assets.rb +25 -0
  57. data/lib/forcast/jobs/jobs_wrapper.rb +25 -0
  58. data/lib/forcast/jobs/rule_engine/jobs_actions.rb +73 -0
  59. data/lib/forcast/jobs/rule_engine/jobs_pollings.rb +77 -0
  60. data/lib/forcast/jobs/rule_engine/jobs_webhooks.rb +54 -0
  61. data/lib/forcast/migrations/0_migracion_general.rb +44 -0
  62. data/lib/forcast/migrations/paper_trail/versions.rb +61 -0
  63. data/lib/forcast/migrations/rule_engine/action_logs.rb +15 -0
  64. data/lib/forcast/migrations/rule_engine/actions.rb +15 -0
  65. data/lib/forcast/migrations/rule_engine/pollings.rb +26 -0
  66. data/lib/forcast/migrations/rule_engine/rule_logs.rb +22 -0
  67. data/lib/forcast/migrations/rule_engine/rules.rb +27 -0
  68. data/lib/forcast/migrations/rule_engine/webhooks.rb +25 -0
  69. data/lib/forcast/models/all.rb +8 -0
  70. data/lib/forcast/models/asociar.rb +74 -0
  71. data/lib/forcast/models/busqueda.rb +17 -0
  72. data/lib/forcast/models/login/authorization.rb +37 -0
  73. data/lib/forcast/models/login/json_web_token.rb +15 -0
  74. data/lib/forcast/models/login/login.rb +26 -0
  75. data/lib/forcast/models/login_all.rb +2 -0
  76. data/lib/forcast/models/meta.rb +19 -0
  77. data/lib/forcast/models/modelo.rb +125 -0
  78. data/lib/forcast/models/models/meta.rb +6 -0
  79. data/lib/forcast/models/paper_trail/paper_trail.rb +13 -0
  80. data/lib/forcast/models/paper_trail_all.rb +1 -0
  81. data/lib/forcast/models/permitirtodo.rb +57 -0
  82. data/lib/forcast/models/rule_engine/action_engine.rb +19 -0
  83. data/lib/forcast/models/rule_engine/models/action.rb +41 -0
  84. data/lib/forcast/models/rule_engine/models/action_log.rb +40 -0
  85. data/lib/forcast/models/rule_engine/models/polling.rb +43 -0
  86. data/lib/forcast/models/rule_engine/models/rule.rb +44 -0
  87. data/lib/forcast/models/rule_engine/models/rule_log.rb +39 -0
  88. data/lib/forcast/models/rule_engine/models/webhook.rb +43 -0
  89. data/lib/forcast/models/rule_engine/polling_engine.rb +113 -0
  90. data/lib/forcast/models/rule_engine/rule.rb +62 -0
  91. data/lib/forcast/models/rule_engine/rule_engine.rb +137 -0
  92. data/lib/forcast/models/rule_engine/rule_scope.rb +35 -0
  93. data/lib/forcast/models/rule_engine/webhook_engine.rb +55 -0
  94. data/lib/forcast/models/rule_engine_all.rb +6 -0
  95. data/lib/forcast/routes/concerns/asociar.rb +15 -0
  96. data/lib/forcast/routes/concerns/buscar.rb +6 -0
  97. data/lib/forcast/routes/concerns/definitor.rb +3 -0
  98. data/lib/forcast/routes/concerns/modelo.rb +6 -0
  99. data/lib/forcast/routes/database.rb +4 -0
  100. data/lib/forcast/routes/login.rb +4 -0
  101. data/lib/forcast/routes/paper_trail/paper_trail.rb +3 -0
  102. data/lib/forcast/routes/rule_engine/rule.rb +5 -0
  103. data/lib/forcast/tasks/.giosaveZr0hbs +21 -0
  104. data/lib/forcast/tasks/.keep +0 -0
  105. data/lib/forcast/tasks/all.rb +16 -0
  106. data/lib/forcast/tasks/diagramas.rake +32 -0
  107. data/lib/forcast/tasks/documentation/documentation.rb +100 -0
  108. data/lib/forcast/tasks/env.rake +10 -0
  109. data/lib/forcast/tasks/git.rake +22 -0
  110. data/lib/forcast/tasks/indy/indy.rb +28 -0
  111. data/lib/forcast/tasks/logs.rake +13 -0
  112. data/lib/forcast/tasks/process.rake +18 -0
  113. data/lib/forcast/tasks/schema.rake +17 -0
  114. data/lib/forcast/tasks/schema/recips/action.rb +18 -0
  115. data/lib/forcast/tasks/schema/recips/controller.rb +29 -0
  116. data/lib/forcast/tasks/schema/recips/definitor.rb +38 -0
  117. data/lib/forcast/tasks/schema/recips/model.rb +43 -0
  118. data/lib/forcast/tasks/schema/recips/project.rb +19 -0
  119. data/lib/forcast/tasks/schema/recips/route.rb +9 -0
  120. data/lib/forcast/tasks/schema/recips/tmp/controller.rb +0 -0
  121. data/lib/forcast/tasks/schema/recips/tmp/model.rb +0 -0
  122. data/lib/forcast/tasks/schema/recips/tmp/model/.keep +0 -0
  123. data/lib/forcast/tasks/schema/rule_engine/rule_engine.rb +98 -0
  124. data/lib/forcast/tasks/schema/schema.rb +346 -0
  125. data/lib/forcast/tasks/test.rake +129 -0
  126. data/lib/forcast/tasks/utils.rake +68 -0
  127. data/lib/forcast/tasks/yard.rake +18 -0
  128. data/lib/forcast/utils/all.rb +4 -0
  129. data/lib/forcast/utils/email.rb +49 -0
  130. data/lib/forcast/utils/email/forcast/utils/email/layout/default.html.erb +3 -0
  131. data/lib/forcast/utils/email/forcast/utils/email/layout/default.text.erb +5 -0
  132. data/lib/forcast/utils/firebase.rb +60 -0
  133. data/lib/forcast/utils/firebase_database.rb +117 -0
  134. data/lib/forcast/utils/measure.rb +44 -0
  135. data/lib/forcast/utils/qvo.rb +141 -0
  136. data/lib/forcast/utils/server.rb +296 -0
  137. data/lib/forcast/utils/telegram.rb +82 -0
  138. data/lib/forcast/utils/thing.rb +180 -0
  139. data/lib/forcast/version.rb +15 -0
  140. data/lib/lib/backup.rb +42 -0
  141. data/lib/lib/deploy.sh +40 -0
  142. data/lib/lib/forcast_servidor_rails.sh +11 -0
  143. data/lib/lib/pg_generator.sh +10 -0
  144. data/lib/lib/production.rb +66 -0
  145. data/lib/lib/production/production.rb +30 -0
  146. data/lib/lib/systemctl_maker.rb +88 -0
  147. data/lib/lib/update.rb +100 -0
  148. data/production.rb +31 -0
  149. metadata +301 -0
@@ -0,0 +1,35 @@
1
+ require 'active_support'
2
+ module Forcast
3
+ module Model
4
+ module RuleEngine
5
+ module RuleScope
6
+ extend ActiveSupport::Concern
7
+
8
+ included do
9
+ scope :actives, -> { where(active?: true) }
10
+ scope :for_attributes, ->(attr_names) { where(attr_comparable: attr_names) }
11
+ scope :for_class, ->(class_name) { where(class_rule?: true, rule_model: class_name) }
12
+ scope :for_object, ->(object) {
13
+ where(class_rule?: false, rule_model: object.class.name, rule_model_id: object.id)
14
+ }
15
+ scope :for_object_and_class, ->(object) {
16
+ where(self._for_class(object.class.name).or(self._for_object(object)))
17
+ }
18
+ end
19
+
20
+ class_methods do
21
+ def _for_class(class_name)
22
+ arel_table[:class_rule?].eq(true).and(arel_table[:rule_model].eq(class_name))
23
+ end
24
+
25
+ def _for_object(object)
26
+ arel_table[:class_rule?]
27
+ .eq(false)
28
+ .and(arel_table[:rule_model].eq(object.class.name))
29
+ .and(arel_table[:rule_model_id].eq(object.id))
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
@@ -0,0 +1,55 @@
1
+ require 'active_support'
2
+ module Forcast
3
+ module Model
4
+ module RuleEngine
5
+ module WebhookEngine
6
+ extend ActiveSupport::Concern
7
+ included do
8
+ def self.duplicate_object?(object)
9
+ return self.exists?(object)
10
+ end
11
+ end
12
+ def validate_duration_time
13
+ puts "validate_duration_time"
14
+ return true if self.rule.class_rule?
15
+ if self.forever_true?
16
+ puts "Forever True Duration"
17
+ return true
18
+ end
19
+ webhook_duration_time = self.duration_time
20
+ webhook_duration_time ||= 1
21
+ testing_time = self.created_at + webhook_duration_time.minutes
22
+ if testing_time.to_i < Time.now.to_i
23
+ self.update_columns(:active? => false)
24
+ puts "Duration period expire"
25
+ return false
26
+ else
27
+ puts "Duration period still active"
28
+ return true
29
+ end
30
+ end
31
+
32
+ def validate_send_time
33
+ puts "validate_send_time"
34
+ send_time = self.send_time
35
+ send_time ||= 30
36
+ last_review_send = self.last_review_send
37
+ last_review_send ||= Time.now
38
+ testing_time = last_review_send + send_time.second
39
+ remain = testing_time.to_i - Time.now.to_i
40
+ if testing_time.to_i > Time.now.to_i
41
+ puts "Dont send yet, remains #{remain} seconds"
42
+ self.update_columns( :last_review_send => Time.now,
43
+ :send? => false)
44
+ return false
45
+ else
46
+ puts "Send now"
47
+ self.update_columns(:last_send => Time.now,
48
+ :send? => true)
49
+ return true
50
+ end
51
+ end
52
+ end
53
+ end
54
+ end
55
+ end
@@ -0,0 +1,6 @@
1
+ require 'forcast/models/rule_engine/action_engine'
2
+ require 'forcast/models/rule_engine/rule_scope'
3
+ require 'forcast/models/rule_engine/rule_engine'
4
+ require 'forcast/models/rule_engine/polling_engine'
5
+ require 'forcast/models/rule_engine/webhook_engine'
6
+ require 'forcast/models/rule_engine/rule'
@@ -0,0 +1,15 @@
1
+ member do
2
+ put 'asociar_a'
3
+ put 'agregar_asociado'
4
+ put 'desasociar_de'
5
+ put 'quitar_asociado'
6
+ get 'ver_asociado_a'
7
+ end
8
+
9
+ collection do
10
+
11
+ get 'modelo_db'
12
+ get 'ver_no_asociados_a'
13
+
14
+
15
+ end
@@ -0,0 +1,6 @@
1
+ member do
2
+ get 'buscar_asociado_por'
3
+ end
4
+ collection do
5
+ get 'obtener'
6
+ end
@@ -0,0 +1,3 @@
1
+ collection do
2
+ get 'definitor'
3
+ end
@@ -0,0 +1,6 @@
1
+ member do
2
+ get 'modelo_db'
3
+ end
4
+ collection do
5
+ get 'modelo_db'
6
+ end
@@ -0,0 +1,4 @@
1
+ resources routes_name do
2
+ yield
3
+ end
4
+
@@ -0,0 +1,4 @@
1
+ post 'login', to: 'login#create_login'
2
+ post 'login/:modelo', to: 'login#create_login'
3
+ delete 'login', to: 'login#destroy_login'
4
+ delete 'login/:modelo', to: 'login#destroy_login'
@@ -0,0 +1,3 @@
1
+ member do
2
+ get 'versions'
3
+ end
@@ -0,0 +1,5 @@
1
+ member do
2
+ get 'rules'
3
+ get 'pollings'
4
+ get 'webhooks'
5
+ end
@@ -0,0 +1,21 @@
1
+ require "#{Rails.root}/app/jobs/concerns/jobs_camaras.rb"
2
+ require "#{Rails.root}/app/jobs/concerns/jobs_hubs.rb"
3
+
4
+ include JobsHubs
5
+ include JobsCamaras
6
+
7
+ namespace :jobs do
8
+ desc 'Login Sync'
9
+ task :login_things do
10
+ Hubs::LoginThings.perform_async("Login")
11
+ end
12
+ desc 'Sync alertas camaras'
13
+ task :sync_camaras do
14
+ Camaras::SyncCamaras.perform_async("Camaras")
15
+ end
16
+ desc 'Sync alertas Hubs'
17
+ task :sync_hubs do
18
+ Hubs::SyncHubs.perform_async("Hubs")
19
+ end
20
+ end
21
+
File without changes
@@ -0,0 +1,16 @@
1
+ module Forcast
2
+ module Tasks
3
+ class Railtie
4
+ def self.tasks
5
+ path = File.expand_path(__dir__)
6
+ arr = Dir.glob("#{path}/**/*.rake")
7
+ puts arr
8
+ return arr
9
+ end
10
+ def self.load_all_tasks
11
+ path = File.expand_path(__dir__)
12
+ Dir.glob("#{path}/**/*.rake").each { |t| load t}
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,32 @@
1
+ require 'rake'
2
+
3
+ namespace :diagrama do
4
+
5
+ desc 'Generar modelo con railroady'
6
+ task :roadymodel do
7
+ sh "railroady -i -l -a -m -M | dot -Tpng | sed 's/font-size:14.00/font-size:11.00/g' > diagramas/roadymodel.pdf"
8
+ end
9
+
10
+ desc 'Generar modelo con ERD'
11
+ task :erdmodel do
12
+ sh "bundle exec rake erd filename=diagramas/erdmodel"
13
+ #Rake::Task['rake erd filename=diagramas/erd'].invoke
14
+ end
15
+
16
+ desc 'Generar modelo con railroady'
17
+ task :roadycontroller do
18
+ sh "railroady -i -l -C | neato -Tpng | sed 's/font-size:14.00/font-size:11.00/g' > diagramas/roadycontroller.pdf"
19
+ end
20
+
21
+ desc 'Generar modelo con railroady'
22
+ task :all do
23
+
24
+ Rake::Task['diagrama:roadymodel'].invoke
25
+ Rake::Task['diagrama:erdmodel'].invoke
26
+ Rake::Task['diagrama:roadycontroller'].invoke
27
+
28
+ end
29
+
30
+
31
+ end
32
+
@@ -0,0 +1,100 @@
1
+ require 'yaml'
2
+ require 'fileutils'
3
+
4
+ def copy_to_documentation(file_path,relative_path_document)
5
+ FileUtils.mkpath("#{relative_path_document}")
6
+ system("cp #{file_path} #{relative_path_document}")
7
+ end
8
+
9
+ def open_file_and_find_lines_to(file_path,lines_to_scan)
10
+ text = File.open(file_path).read
11
+ positions_lines = []
12
+ line_num = 0
13
+ i = 0
14
+ text.gsub!(/\r\n?/, "\n")
15
+ text.each_line do |line|
16
+ line_num += 1
17
+ line_match = lines_to_scan[i]
18
+ next unless line_match
19
+ if line.match(line_match)
20
+ positions_lines[i] = {:line_num => line_num, :line_match => line_match}
21
+ i += 1
22
+ end
23
+ end
24
+ return positions_lines
25
+ end
26
+
27
+ def add_comment_to_top(file_path_documentation,comments)
28
+ open(file_path_documentation, 'r+') do |f|
29
+ line = 0
30
+ while (line-=1) > 0
31
+ f.readline
32
+ end
33
+ pos = f.pos
34
+ rest = f.read
35
+ f.seek(pos)
36
+ comments = comments.split("&")
37
+ comments.each do |line|
38
+ f.write(line+"\n")
39
+ end
40
+ f.write(rest)
41
+ end
42
+
43
+ end
44
+
45
+ def add_documentation_to_line(file_path_documentation,line,new_lines_lines)
46
+
47
+ new_lines = 0
48
+ open(file_path_documentation, 'r+') do |f|
49
+ line_num = line[:line_num]-1
50
+ while (line_num-=1) > 0 # read up to the line you want to write after
51
+ f.readline
52
+ end
53
+ pos = f.pos # save your position in the file
54
+ rest = f.read # save the rest of the file
55
+ f.seek(pos) # go back to the old position
56
+ documentation = line[:documentation].split("//")
57
+ documentation.each do |line|
58
+ new_lines += 1
59
+ f.write(line+"\n") # write new data
60
+ end
61
+ f.write(rest) # write rest of file
62
+ end
63
+ return new_lines + new_lines_lines
64
+ end
65
+
66
+ def init_documentation(root)
67
+ system("rm -R #{root}/documentation/")
68
+ documents = YAML.load_file("#{root}/config/documentation_files.yml")
69
+ documents.each do |document|
70
+ begin
71
+ document = YAML.load_file("#{root}/"+document["file"]+".yml")
72
+ relative_path_document = document["relative_path"]
73
+ files = document["files"]
74
+ @absolute_path = "#{root}/"+relative_path_document.to_s
75
+ files.each do |documentation_file|
76
+ documentation_file = documentation_file["file"]
77
+ file_path = @absolute_path + documentation_file["path"]+".rb"
78
+ copy_to_documentation(file_path,"#{root}/"+"documentation"+relative_path_document)
79
+ file_path_documentation = "#{root}/"+"documentation"+relative_path_document+documentation_file["path"]+".rb"
80
+ #Agregar comentarios al inicio del archivo
81
+ comments = documentation_file["comments"]
82
+ #Agregar documentation YARN
83
+ body = documentation_file["body"]
84
+ lines_to_scan = body.keys
85
+ positions_lines = open_file_and_find_lines_to(file_path,lines_to_scan)
86
+ new_lines = 0
87
+ positions_lines.each_with_index do |line,index|
88
+ line[:documentation] = body[line[:line_match]]["documentation"]
89
+ line[:line_num] += new_lines
90
+ new_lines = add_documentation_to_line(file_path_documentation,line,new_lines)
91
+ end
92
+ add_comment_to_top(file_path_documentation,comments)
93
+ puts "Terminado archivo: "+file_path_documentation.to_s
94
+ end
95
+ rescue Exception => e
96
+ puts e
97
+ next
98
+ end
99
+ end
100
+ end
@@ -0,0 +1,10 @@
1
+ require 'rake'
2
+
3
+ namespace :env do
4
+ desc 'Ver variables globales'
5
+ task :view do
6
+ sh "printenv | grep "+ Rails.application.class.parent.to_s
7
+ end
8
+
9
+ end
10
+
@@ -0,0 +1,22 @@
1
+ require 'rake'
2
+
3
+ namespace :git do
4
+ desc 'Git push origin'
5
+
6
+ task :push, [:comment] do |task, option|
7
+ comment = option[:comment]
8
+ comment ||= DateTime.now.strftime('%d/%m/%Y %I:%M:%S %p')
9
+ sh "git add ."
10
+ sh "git commit -m '#{comment}'"
11
+ sh "git push origin"
12
+ end
13
+
14
+ task :fetch do
15
+ sh "git fetch origin"
16
+ end
17
+
18
+ task :pull do
19
+ sh "git pull origin"
20
+ end
21
+ end
22
+
@@ -0,0 +1,28 @@
1
+ require 'indy'
2
+
3
+ log_file = './log/development.log'
4
+ log_contents = File.open(log_file, 'r').read
5
+
6
+ # Given this log file:
7
+ #
8
+ # 2015/09/08 INFO #index Indexing application.
9
+ # 2015/09/11 ERROR #search Searching application.
10
+ # ...
11
+
12
+ #Started GET "/api/usuarios/1/recintos/10/hubs/10" for 127.0.0.1 at 2018-06-28 21:37:39 -0400
13
+ pattern = /^(Completed)\s+(.+)$/
14
+ #pattern = /^(\d{4}\/\d{2}\/\d{2})\s+(INFO|DEBUG|WARN|ERROR)\s+(#\S+)\s+(.+)$/
15
+ fields = [:metodo, :message]
16
+ custom_time_format = '%Y/%m/%d'
17
+
18
+ indy = Indy.search(
19
+
20
+ :source => log_contents,
21
+ :entry_regexp => pattern,
22
+ :entry_fields => fields,
23
+ :time_format => custom_time_format
24
+ )
25
+ indy.like(:metodo => 'Completed') do |entry|
26
+ puts "#{entry.metodo} #{entry.message}"
27
+ end
28
+
@@ -0,0 +1,13 @@
1
+ require 'rake'
2
+
3
+ namespace :log do
4
+ desc 'Ver logs parse'
5
+ task :indy do
6
+ #sh "ruby ./lib/tasks/indy/indy.rb"
7
+ end
8
+ desc 'Request Analyzer'
9
+ task :analyze do
10
+ sh "request-log-analyzer log/request.log"
11
+ end
12
+ end
13
+
@@ -0,0 +1,18 @@
1
+ require 'rake'
2
+ namespace :process do
3
+ desc 'Stop rails server'
4
+ task :stop do
5
+ File.new("tmp/pids/server.pid").tap { |f| Process.kill 9, f.read.to_i }.delete
6
+ end
7
+
8
+ desc 'Starts rails server'
9
+ task :start do
10
+ Process.exec("rails s puma -d")
11
+ end
12
+
13
+ desc "Restarts rails server"
14
+ task :restart do
15
+ Rake::Task[:stop].invoke
16
+ Rake::Task[:start].invoke
17
+ end
18
+ end
@@ -0,0 +1,17 @@
1
+ require 'rake'
2
+ require_relative 'schema/schema.rb'
3
+ require_relative 'schema/rule_engine/rule_engine.rb'
4
+
5
+ namespace :schema do
6
+ desc 'Parse Schema'
7
+ task :parse do
8
+ @root = Rails.root
9
+ init_schema
10
+ end
11
+ desc 'Create Rule Engine Schema'
12
+ task :rule_engine do
13
+ @root = Rails.root
14
+ init_rule_engine
15
+ end
16
+ end
17
+