eitil 1.0.4 → 1.1.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (32) hide show
  1. checksums.yaml +4 -4
  2. data/eitil_core/README.md +43 -0
  3. data/eitil_core/lib/eitil_core.rb +1 -0
  4. data/eitil_core/lib/eitil_core/application_controller/slice_params.rb +3 -0
  5. data/eitil_core/lib/eitil_core/application_record/all_associations.rb +3 -0
  6. data/eitil_core/lib/eitil_core/application_record/find_by_like.rb +3 -0
  7. data/eitil_core/lib/eitil_core/application_record/where_like.rb +3 -0
  8. data/eitil_core/lib/eitil_core/formatters.rb +4 -0
  9. data/eitil_core/lib/eitil_core/formatters/sql.rb +72 -0
  10. data/eitil_core/lib/eitil_core/railtie.rb +0 -3
  11. data/eitil_integrate/lib/eitil_integrate/application_exporter.rb +1 -0
  12. data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/format_data.rb +6 -3
  13. data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/sum_data.rb +24 -9
  14. data/eitil_integrate/lib/eitil_integrate/application_exporter/default_export.rb +1 -0
  15. data/eitil_integrate/lib/eitil_integrate/application_exporter/initialize.rb +1 -3
  16. data/eitil_integrate/lib/eitil_integrate/application_exporter/log_state.rb +81 -0
  17. data/eitil_integrate/lib/eitil_integrate/application_exporter/lookups.rb +9 -3
  18. data/eitil_integrate/lib/eitil_integrate/railtie.rb +0 -3
  19. data/eitil_store/lib/eitil_store/railtie.rb +0 -3
  20. data/eitil_support/lib/eitil_support/railtie.rb +0 -3
  21. data/eitil_wrapper/README.md +24 -0
  22. data/eitil_wrapper/lib/eitil_wrapper.rb +2 -1
  23. data/eitil_wrapper/lib/eitil_wrapper/jobs/single_method_job.rb +3 -0
  24. data/eitil_wrapper/lib/eitil_wrapper/railtie.rb +24 -7
  25. data/eitil_wrapper/lib/eitil_wrapper/request_logger.rb +5 -0
  26. data/eitil_wrapper/lib/eitil_wrapper/request_logger/controller_mixin.rb +48 -0
  27. data/eitil_wrapper/lib/eitil_wrapper/request_logger/logger_job.rb +17 -0
  28. data/eitil_wrapper/lib/eitil_wrapper/scopes/default_scopes.rb +6 -0
  29. data/lib/eitil/all.rb +3 -2
  30. data/lib/eitil/railtie.rb +6 -4
  31. data/lib/eitil/version.rb +1 -1
  32. metadata +8 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 2bf167d056adee32eeba94ac5282d6a9890575a309c775bd53da822f4817501e
4
- data.tar.gz: '08bbebecb6e9d84567d522d9c7b62e23ff8b3a6e3b3b1fee5639a58aa9f6bc68'
3
+ metadata.gz: b566e2911d13c9952ef93916e929e1bf4666790e2d07934ccc3cb7d00f421319
4
+ data.tar.gz: d492741da447ce1777c79a07c1968acc611f558eec690d933c3e8eff94422f4b
5
5
  SHA512:
6
- metadata.gz: cab736bd8a72ba50468f017d91f12fabe1a8a8887bb892797c7466296227fb763e413a5ae372c535ef134963181414ac8ef3d7cae497d708b178f05a93c03ce1
7
- data.tar.gz: dc057b62c574bea1b96e4074c9af724cf3ad59d957f9a62790cbe63ec998503c1ae1a1b5f253388d293ab1bfb5eeeb41b7f247dc61e1b635dacadc7bf644ddd0
6
+ metadata.gz: 27376302a08134d0f7b14d55c4dda41eabd230b93cd1bce4f719d12505241e817779fc4feaa83e03443cc910516e33e477c10760ed9be7d5c543b2b53d98e2ae
7
+ data.tar.gz: 2fe73ac66fe0ef8bfc64260fc95e05f4a5c8dee3c8f7afb2c376da25fc65b1b93ab8da6b008bbb5d31537789d1c8b697258f87dbf9bde956f3c849ffa7e46bd1
data/eitil_core/README.md CHANGED
@@ -214,6 +214,49 @@ safe_to_i
214
214
  ```
215
215
 
216
216
 
217
+ ## Formatters
218
+
219
+ ```ruby
220
+
221
+ require "eitil_core/formatters"
222
+
223
+ ```
224
+
225
+ ```ruby
226
+ # require "eitil_core/formatters/sql"
227
+
228
+ Date.today.strfsql
229
+ # => "2021-06-23"
230
+
231
+ Date.today.strfsql(:date)
232
+ # => "2021-06-23"
233
+
234
+ DateTime.now.strfsql
235
+ # => "2021-06-23 13:15:37.945083"
236
+
237
+ DateTime.now.strfsql(:datetime)
238
+ # => "2021-06-23 13:15:37.945083"
239
+
240
+ DateTime.now.strfsql(:date)
241
+ # => "2021-06-23"
242
+
243
+ DateTime.now.strfsql(:time)
244
+ # => "13:16:23"
245
+
246
+ Time.now.strfsql
247
+ # => "13:16:23"
248
+
249
+ Time.now.strfsql(:datetime)
250
+ # => "2021-06-23 13:15:37.945083"
251
+
252
+ Time.now.strfsql(:date)
253
+ # => "2021-06-23"
254
+
255
+ Time.now.strfsql(:time)
256
+ # => "13:16:23"
257
+ ```
258
+
259
+
217
260
  ## Hash
218
261
 
219
262
  ```ruby
@@ -8,6 +8,7 @@ require "eitil_core/datetime"
8
8
 
9
9
  # multi class patches
10
10
  require "eitil_core/type_checkers"
11
+ require "eitil_core/formatters"
11
12
  require "eitil_core/mocks"
12
13
 
13
14
  # rails class patches
@@ -1,6 +1,9 @@
1
1
 
2
2
  # require "eitil_core/application_controller/slice_params"
3
3
 
4
+ # require "eitil_core/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_core/railtie"
6
+
4
7
  module EitilCore
5
8
  module ApplicationController
6
9
  module SliceParams
@@ -1,6 +1,9 @@
1
1
 
2
2
  # require "eitil_core/application_record/all_associations"
3
3
 
4
+ # require "eitil_core/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_core/railtie"
6
+
4
7
  module EitilCore
5
8
  module ApplicationRecord
6
9
  module AllAssociations
@@ -1,6 +1,9 @@
1
1
 
2
2
  # require "eitil_core/application_record/find_by_like"
3
3
 
4
+ # require "eitil_core/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_core/railtie"
6
+
4
7
  module EitilCore
5
8
  module ApplicationRecord
6
9
  module FindByLike
@@ -1,6 +1,9 @@
1
1
 
2
2
  # require "eitil_core/application_record/where_like"
3
3
 
4
+ # require "eitil_core/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_core/railtie"
6
+
4
7
  module EitilCore
5
8
  module ApplicationRecord
6
9
  module WhereLike
@@ -0,0 +1,4 @@
1
+
2
+ # require "eitil_core/formatters"
3
+
4
+ require "eitil_core/formatters/sql"
@@ -0,0 +1,72 @@
1
+
2
+ # require "eitil_core/formatters/sql"
3
+
4
+
5
+ class Date
6
+
7
+ def strfsql(type = :date)
8
+
9
+ type = type.kind_of?(String) ? type.to_sym : type
10
+
11
+ case type
12
+
13
+ when :date
14
+ return self.strftime "%Y-%m-%d"
15
+
16
+ end
17
+ return
18
+
19
+ end
20
+
21
+ end
22
+
23
+
24
+ class DateTime
25
+
26
+ def strfsql(type = :datetime)
27
+
28
+ type = type.kind_of?(String) ? type.to_sym : type
29
+
30
+ case type
31
+
32
+ when :datetime
33
+ return self.strftime "%Y-%m-%d %H:%M:%S.%6N"
34
+
35
+ when :date
36
+ return self.strftime "%Y-%m-%d"
37
+
38
+ when :time
39
+ return self.strftime "%H:%M:%S"
40
+
41
+ end
42
+ return
43
+
44
+ end
45
+
46
+ end
47
+
48
+
49
+ class Time
50
+
51
+ def strfsql(type = :time)
52
+
53
+ type = type.kind_of?(String) ? type.to_sym : type
54
+
55
+ case type
56
+
57
+ when :datetime
58
+ return self.strftime "%Y-%m-%d %H:%M:%S.%6N"
59
+
60
+ when :date
61
+ return self.strftime "%Y-%m-%d"
62
+
63
+ when :time
64
+ return self.strftime "%H:%M:%S"
65
+
66
+ end
67
+ return
68
+
69
+ end
70
+
71
+ end
72
+
@@ -1,7 +1,4 @@
1
1
 
2
- require "rails"
3
- require "eitil_core"
4
-
5
2
  module EitilCore
6
3
 
7
4
  class Railtie < Rails::Railtie
@@ -17,6 +17,7 @@ require_relative "application_exporter/setters"
17
17
  require_relative "application_exporter/selectors"
18
18
  require_relative "application_exporter/lookups"
19
19
  require_relative "application_exporter/infos"
20
+ require_relative "application_exporter/log_state"
20
21
 
21
22
  # the AutoSum module, which is a seperately functioning module (service)
22
23
  require_relative "application_exporter/auto_sum"
@@ -10,9 +10,12 @@ module EitilIntegrate::RubyXL
10
10
  format_ints_to_floats
11
11
  end
12
12
 
13
- def format_time_strings
14
- @hash.transform_values! { |array| array.map { |item| incomplete_time_string?(item) ? "#{item}:00" : item } }
15
- end
13
+ # outcommented method in favour of AutoSum#chronic_sum_array: no longer accept days, since the method excepts
14
+ # either hh:mm or hh:mm:ss
15
+
16
+ # def format_time_strings
17
+ # @hash.transform_values! { |array| array.map { |item| incomplete_time_string?(item) ? "#{item}:00" : item } }
18
+ # end
16
19
 
17
20
  def incomplete_time_string?(string)
18
21
  string.is_a?(String) && string.length == 5 && string.scan(/\d{2}:\d{2}/)
@@ -22,15 +22,30 @@ module EitilIntegrate::RubyXL
22
22
  end
23
23
 
24
24
  def chronic_sum_array(array)
25
- sum = array.map { |item| ChronicDuration.parse(item) }.compact.sum
26
- hours = format_time(sum / (60 * 60))
27
- sum = sum % (60 * 60)
28
- minutes = format_time(sum / 60)
29
- seconds = format_time(sum % 60)
30
-
31
- # currently doesn't return seconds, since those will never
32
- # be set (?) and screw the consistency of data formatting
33
- ["#{hours}:#{minutes}"]
25
+
26
+ #total minutes, hours and days
27
+ tm, th, td = [0]*3
28
+
29
+ array.each do |time_string|
30
+
31
+ # add empty 0's, to avoid defining nil values when time values are absent
32
+ h, m, s = *time_string.split(':').map(&:to_i), *[0]*3
33
+ tm += m; th += h
34
+
35
+ end
36
+
37
+ # parsing times into maxes (60 m, 24 h, ∞ days)
38
+ th += tm / 60
39
+ tm = tm % 60
40
+ td += th / 24
41
+ th = th % 24
42
+
43
+ # formatting strings
44
+ sd = td.to_s
45
+ sh = th.to_s.rjust(2,'0')
46
+ sm = tm.to_s.rjust(2,'0')
47
+
48
+ [[sd, sh, sm].join(':')]
34
49
  end
35
50
 
36
51
  def format_time(time)
@@ -34,6 +34,7 @@ module EitilIntegrate::RubyXL
34
34
 
35
35
  def process_export
36
36
  style_file
37
+ log_state
37
38
  save_file
38
39
  end
39
40
 
@@ -4,15 +4,13 @@
4
4
  require "eitil_core/setters/set_ivars"
5
5
  require "eitil_core/argument_helpers/all_kwargs_to_ivars"
6
6
 
7
- # EitilIntegrate::RubyXL::ApplicationExporter
8
-
9
7
  module EitilIntegrate
10
8
  module RubyXL
11
9
  class ApplicationExporter
12
10
 
13
11
  include ActionView::Helpers::NumberHelper
14
12
 
15
- attr_accessor :book, :sheet, :x, :y, :start_date, :end_date, :date_range
13
+ attr_accessor :book, :sheet, :x, :y, :start_date, :end_date, :date_range, :write_log
16
14
 
17
15
  def initialize(attributes={})
18
16
  all_kwargs_to_ivars binding, :attributes
@@ -0,0 +1,81 @@
1
+
2
+ # require "eitil_integrate/application_exporter/log_state"
3
+
4
+ module EitilIntegrate::RubyXL
5
+ class ApplicationExporter
6
+
7
+ private
8
+
9
+ def log_state
10
+
11
+ return unless write_log == true
12
+
13
+ # create_log_sheet
14
+ book.add_worksheet('log')
15
+
16
+ # manage sheets
17
+ previous_sheet = @sheet.sheet_name
18
+ @sheet = @book["log"]
19
+
20
+ # manage coordinates
21
+ previous_x = @x
22
+ @x = 0
23
+
24
+ # log everything we want to log
25
+ report_state
26
+
27
+ # style logs
28
+ style_first_x_columns_width(1, 40)
29
+ style_first_column_bold
30
+
31
+ # restore what was previously active
32
+ @sheet = @book[previous_sheet]
33
+ @x = previous_x
34
+
35
+ end
36
+
37
+ def report_state
38
+ instance_variables.each do |ivar|
39
+
40
+ variable_name = ivar.to_s
41
+ variable_value = format_value(instance_variable_get(ivar))
42
+
43
+ array_to_row [variable_name, variable_value]
44
+
45
+ end
46
+ end
47
+
48
+ # formatting the values to a human readably format is important, because otherwise Excel warns
49
+ # users on safety when opening the file.
50
+ def format_value(value)
51
+ value_class = value.class
52
+
53
+ if value_class == Hash
54
+ value.map {|k,v| "#{k.to_s.split('_').map(&:capitalize).join(' ')}: #{v}"}.join(' // ')
55
+
56
+ elsif value_class == Array && value.all? { |item| item.class.superclass == ApplicationRecord }
57
+ "#{value.class} #{value.map(&:id).join(', ')}"
58
+
59
+ elsif value_class.superclass == ApplicationRecord
60
+ "#{value.class} ##{value.id}"
61
+
62
+ elsif value_class.superclass == ActiveRecord::Relation
63
+ "#{value.class.to_s.split('::').first} #{value.ids.to_s.delete('[]')}"
64
+
65
+ elsif value_class.superclass == ActiveRecord::Associations::CollectionProxy
66
+ "#{value.class.to_s.split('::').first} #{value.ids.to_s.delete('[]')}"
67
+
68
+ elsif value_class == RubyXL::Workbook
69
+ value_class.name
70
+
71
+ elsif value_class == RubyXL::Worksheet
72
+ value_class.name
73
+
74
+ else
75
+ value.to_s
76
+
77
+ end
78
+ end
79
+
80
+ end
81
+ end
@@ -22,15 +22,21 @@ module EitilIntegrate::RubyXL
22
22
  end
23
23
 
24
24
  def exporter_infos
25
- exporter_constants.map { |_c| { "#{_c}": _c.info || {} } }.inject &:merge
25
+ exporter_constants.map { |_c| { "#{_c.to_s.remove("Exporter")}": _c.info || {} } }.inject &:merge
26
26
  end
27
27
 
28
- alias_method :taxonomy, :exporter_infos
29
-
30
28
  def exporter_info(exporter, info)
31
29
  exporter_infos[exporter]&.dig(info)
32
30
  end
33
31
 
32
+ # returns the exporter_infos, without the datatypes – for taxonomy purpuses, the field
33
+ # names are often sufficient
34
+ def exporter_taxonomy
35
+ exporter_infos.transform_values do |settings|
36
+ settings.transform_values { |info| info.first.is_a?(Hash) ? info.first.keys : info }
37
+ end
38
+ end
39
+
34
40
  def exporter_params
35
41
  exporter_infos.transform_values { |v| [v[:required], v[:optional]].flatten.compact }
36
42
  end
@@ -1,7 +1,4 @@
1
1
 
2
- require "rails"
3
- require "eitil_integrate"
4
-
5
2
  module EitilIntegrate
6
3
 
7
4
  class Railtie < Rails::Railtie
@@ -1,7 +1,4 @@
1
1
 
2
- require "rails"
3
- require "eitil_store"
4
-
5
2
  module EitilStore
6
3
 
7
4
  class Railtie < Rails::Railtie
@@ -1,7 +1,4 @@
1
1
 
2
- require "rails"
3
- require "eitil_support"
4
-
5
2
  module EitilSupport
6
3
 
7
4
  class Railtie < Rails::Railtie
@@ -179,3 +179,27 @@ Scopes are generated through the columns of your model's database table. Which s
179
179
  ```
180
180
 
181
181
 
182
+
183
+
184
+
185
+ ## EitilWrapper::RequestLogger
186
+
187
+ ```ruby
188
+
189
+ require "eitil_wrapper/request_logger"
190
+
191
+ ```
192
+
193
+ The RequestLogger wrapper logs request params in /log/request_logger.log, which offers the opportunity to pry into webhooks while developing. In order to track a controller, simply add the following. This calls a background job which writes to the file.
194
+
195
+ ```ruby
196
+
197
+ include EitilWrapper::RequestLogger::ControllerMixin
198
+ before_action :log_request
199
+
200
+ ```
201
+
202
+
203
+
204
+
205
+
@@ -4,4 +4,5 @@ require "eitil_wrapper"
4
4
  require "eitil_wrapper/jobs"
5
5
  require "eitil_wrapper/scopes"
6
6
  require "eitil_wrapper/routes"
7
- require "eitil_wrapper/decorators"
7
+ require "eitil_wrapper/decorators"
8
+ require "eitil_wrapper/request_logger"
@@ -2,6 +2,9 @@
2
2
  # somehow leads to errors in the initialization process. Ideally, this code would be
3
3
  # defined in eitil_wrapper/jobs/single_method_job.rb and dispatched in eitil_wrapper/railtie.rb
4
4
 
5
+ # require "eitil_wrapper/railtie" to run the dynamic dispatch as an init hook during boot
6
+ require "eitil_wrapper/railtie"
7
+
5
8
  module EitilWrapper
6
9
  module CreateSingleMethodJob
7
10
  end
@@ -1,22 +1,17 @@
1
1
 
2
- require "rails"
3
- require "eitil_wrapper"
4
-
5
2
  module EitilWrapper
6
3
 
7
4
  class Railtie < Rails::Railtie
8
5
 
6
+ # Dynamic dispatching after initialization of Rails classes.
7
+
9
8
  initializer "my_railtie.configure_rails_initialization", options: :after do |app|
10
9
 
11
- # Dynamic dispatching after initialization of Rails classes.
12
10
 
13
- # Scopes
14
-
15
11
  if Object.const_defined?('EitilWrapper::Scopes::DefaultScopes')
16
12
  ::ApplicationRecord.send(:extend, EitilWrapper::Scopes::DefaultScopes)
17
13
  end
18
14
 
19
- # Jobs
20
15
 
21
16
  if Object.const_defined?('EitilWrapper::CreateSingleMethodJob')
22
17
 
@@ -44,6 +39,28 @@ module EitilWrapper
44
39
  object.send _method, *args, **kwargs
45
40
  end; end; end; end
46
41
 
42
+
43
+ if Object.const_defined?('EitilWrapper::RequestLogger::CreateLoggerJob')
44
+
45
+ module ::EitilWrapper
46
+ module RequestLogger
47
+ class LoggerJob < ::ApplicationJob
48
+
49
+ def perform(logger_object)
50
+
51
+ # set path for logger
52
+ $request_logger_path ||= "#{Rails.root}/log/request_logger.log"
53
+
54
+ # create logger, if not present
55
+ if Dir[$request_logger_path].blank? || $request_logger.blank?
56
+ $request_logger = Logger.new($request_logger_path)
57
+ end
58
+
59
+ # add logger_object to logger
60
+ $request_logger.info(logger_object)
61
+
62
+ end; end; end; end; end
63
+
47
64
  end
48
65
  end
49
66
  end
@@ -0,0 +1,5 @@
1
+
2
+ # require "eitil_wrapper/request_logger"
3
+
4
+ require_relative "request_logger/controller_mixin"
5
+ require_relative "request_logger/logger_job"
@@ -0,0 +1,48 @@
1
+
2
+ # require "eitil_wrapper/request_logger/controller_mixin"
3
+
4
+ require_relative "logger_job"
5
+
6
+ module EitilWrapper
7
+ module RequestLogger
8
+ module ControllerMixin
9
+
10
+ private
11
+
12
+ def log_request
13
+ $request_logger_path ||= "#{Rails.root}/log/request_logger.log"
14
+ EitilWrapper::RequestLogger::LoggerJob.perform_later(request_logger_object)
15
+ end
16
+
17
+ def request_logger_object
18
+
19
+ log_request = {
20
+ path: request.env["REQUEST_PATH"],
21
+ method: request.env["REQUEST_METHOD"],
22
+ query_str: request.env["QUERY_STRING"],
23
+ }
24
+
25
+ log_params = {
26
+ params: params.as_json
27
+ }
28
+
29
+ log_attributes = {
30
+ time: Time.now.strftime("%Y-%m-%d %H:%M:%S")
31
+ }
32
+
33
+ log = {
34
+ request: log_request,
35
+ params: log_params,
36
+ attributes: log_attributes
37
+ }
38
+
39
+ log_time = log_attributes[:time]
40
+ log_strf = log.deep_symbolize_keys.to_s
41
+ # log_strf may be hashed through eval(log_strf)
42
+
43
+ return log_strf
44
+ end
45
+
46
+ end
47
+ end
48
+ end
@@ -0,0 +1,17 @@
1
+
2
+ # require "eitil_wrapper/request_logger/logger_job"
3
+
4
+ # require "eitil_wrapper/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_wrapper/railtie"
6
+
7
+ # ISSUE: this code is currently defined eitil_wrapper/railtie.rb, since module inclusion
8
+ # somehow leads to errors in the initialization process. Ideally, this code would be
9
+ # defined in eitil_wrapper/request_logger/logger_job.rb and dispatched in eitil_wrapper/railtie.rb
10
+
11
+ module EitilWrapper
12
+ module RequestLogger
13
+ module CreateLoggerJob
14
+
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,9 @@
1
+
2
+ # require "eitil_wrapper/scopes/default_scopes"
3
+
4
+ # require "eitil_wrapper/railtie" to run the dynamic dispatch as an init hook during boot
5
+ require "eitil_wrapper/railtie"
6
+
1
7
  module EitilWrapper
2
8
  module Scopes
3
9
  module DefaultScopes
data/lib/eitil/all.rb CHANGED
@@ -6,10 +6,11 @@ Eitil::Layers.each do |layer|
6
6
 
7
7
  begin
8
8
  require "#{layer}/railtie"
9
- puts "succesfully required #{layer}/railtie"
9
+ require "#{layer}"
10
+ puts "succesfully required #{layer} and #{layer}/railtie" if Rails.env.development?
10
11
 
11
12
  rescue LoadError => e
12
- puts "failed to require #{layer}/railtie"
13
+ puts "failed to require #{layer} and #{layer}/railtie"
13
14
  puts "message: #{e.message}"
14
15
  # binding.pry
15
16
 
data/lib/eitil/railtie.rb CHANGED
@@ -1,6 +1,4 @@
1
1
 
2
- require 'eitil/railtie'
3
-
4
2
  # Constants
5
3
 
6
4
  module Eitil
@@ -10,16 +8,20 @@ module Eitil
10
8
 
11
9
  end
12
10
 
13
-
14
11
  # Configuration
15
12
 
16
13
  module Eitil
17
14
 
18
15
  class Railtie < ::Rails::Railtie
19
16
 
20
- # Add lib dirs to $LOAD_PATH, making them available in your main app.
21
17
  Eitil::Layers.each do |layer|
18
+
19
+ # Add lib dirs to $LOAD_PATH, making them available in your main app.
22
20
  $LOAD_PATH << "#{Eitil::Root}/#{layer}/lib"
21
+
22
+ # Load railtie into main app, enabling on the fly inclusion of dispatches.
23
+ require "#{layer}/railtie"
24
+
23
25
  end
24
26
 
25
27
  end
data/lib/eitil/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Eitil
2
2
 
3
- VERSION = '1.0.4'
3
+ VERSION = '1.1.4'
4
4
 
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: eitil
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.4
4
+ version: 1.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jurriaan Schrofer
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-06-14 00:00:00.000000000 Z
11
+ date: 2021-06-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -105,6 +105,8 @@ files:
105
105
  - eitil_core/lib/eitil_core/errors/raise_error.rb
106
106
  - eitil_core/lib/eitil_core/float.rb
107
107
  - eitil_core/lib/eitil_core/float/safe_to_i.rb
108
+ - eitil_core/lib/eitil_core/formatters.rb
109
+ - eitil_core/lib/eitil_core/formatters/sql.rb
108
110
  - eitil_core/lib/eitil_core/hash.rb
109
111
  - eitil_core/lib/eitil_core/hash/auto_dig.rb
110
112
  - eitil_core/lib/eitil_core/lookups.rb
@@ -138,6 +140,7 @@ files:
138
140
  - eitil_integrate/lib/eitil_integrate/application_exporter/helpers.rb
139
141
  - eitil_integrate/lib/eitil_integrate/application_exporter/infos.rb
140
142
  - eitil_integrate/lib/eitil_integrate/application_exporter/initialize.rb
143
+ - eitil_integrate/lib/eitil_integrate/application_exporter/log_state.rb
141
144
  - eitil_integrate/lib/eitil_integrate/application_exporter/lookups.rb
142
145
  - eitil_integrate/lib/eitil_integrate/application_exporter/selectors.rb
143
146
  - eitil_integrate/lib/eitil_integrate/application_exporter/setters.rb
@@ -171,6 +174,9 @@ files:
171
174
  - eitil_wrapper/lib/eitil_wrapper/jobs/new_job_debugger.rb
172
175
  - eitil_wrapper/lib/eitil_wrapper/jobs/single_method_job.rb
173
176
  - eitil_wrapper/lib/eitil_wrapper/railtie.rb
177
+ - eitil_wrapper/lib/eitil_wrapper/request_logger.rb
178
+ - eitil_wrapper/lib/eitil_wrapper/request_logger/controller_mixin.rb
179
+ - eitil_wrapper/lib/eitil_wrapper/request_logger/logger_job.rb
174
180
  - eitil_wrapper/lib/eitil_wrapper/routes.rb
175
181
  - eitil_wrapper/lib/eitil_wrapper/routes/extended_resources.rb
176
182
  - eitil_wrapper/lib/eitil_wrapper/scopes.rb