eitil 1.0.1.e.2 → 1.0.3.e.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +0 -1
- data/eitil_core/README.md +344 -0
- data/eitil_core/lib/eitil_core.rb +24 -0
- data/eitil_core/lib/eitil_core/application_controller.rb +2 -0
- data/eitil_core/lib/eitil_core/application_controller/slice_params.rb +14 -0
- data/eitil_core/lib/eitil_core/application_record.rb +4 -0
- data/eitil_core/lib/eitil_core/application_record/all_associations.rb +16 -0
- data/eitil_core/lib/eitil_core/application_record/find_by_like.rb +15 -0
- data/eitil_core/lib/eitil_core/application_record/where_like.rb +15 -0
- data/eitil_core/lib/eitil_core/argument_helpers.rb +13 -0
- data/eitil_core/lib/eitil_core/argument_helpers/all_args_to_ivars.rb +12 -0
- data/eitil_core/lib/eitil_core/argument_helpers/all_args_to_ivars_bang.rb +15 -0
- data/eitil_core/lib/eitil_core/argument_helpers/all_kwargs_to_ivars.rb +12 -0
- data/eitil_core/lib/eitil_core/argument_helpers/all_kwargs_to_ivars_bang.rb +15 -0
- data/eitil_core/lib/eitil_core/argument_helpers/args_to_h.rb +15 -0
- data/eitil_core/lib/eitil_core/argument_helpers/args_to_h_bang.rb +17 -0
- data/eitil_core/lib/eitil_core/argument_helpers/args_to_ivars.rb +12 -0
- data/eitil_core/lib/eitil_core/argument_helpers/args_to_ivars_bang.rb +15 -0
- data/eitil_core/lib/eitil_core/concerns.rb +2 -0
- data/eitil_core/lib/eitil_core/concerns/include_concerns_of.rb +15 -0
- data/eitil_core/lib/eitil_core/datetime.rb +2 -0
- data/eitil_core/lib/eitil_core/datetime/prettify.rb +10 -0
- data/eitil_core/lib/eitil_core/errors.rb +2 -0
- data/eitil_core/lib/eitil_core/errors/raise_error.rb +11 -0
- data/eitil_core/lib/eitil_core/float.rb +2 -0
- data/eitil_core/lib/eitil_core/float/safe_to_i.rb +12 -0
- data/eitil_core/lib/eitil_core/hash.rb +2 -0
- data/eitil_core/lib/eitil_core/hash/auto_dig.rb +17 -0
- data/eitil_core/lib/eitil_core/lookups.rb +3 -0
- data/eitil_core/lib/eitil_core/lookups/all_methods.rb +32 -0
- data/eitil_core/lib/eitil_core/lookups/gem_path.rb +10 -0
- data/eitil_core/lib/eitil_core/railtie.rb +37 -0
- data/eitil_core/lib/eitil_core/safe_executions.rb +3 -0
- data/eitil_core/lib/eitil_core/safe_executions/safe_call.rb +12 -0
- data/eitil_core/lib/eitil_core/safe_executions/safe_send.rb +12 -0
- data/eitil_core/lib/eitil_core/setters.rb +2 -0
- data/eitil_core/lib/eitil_core/setters/set_ivars.rb +12 -0
- data/eitil_core/lib/eitil_core/type_checkers.rb +2 -0
- data/eitil_core/lib/eitil_core/type_checkers/is_num_or_nan.rb +96 -0
- data/eitil_core/lib/eitil_core/validations.rb +2 -0
- data/eitil_core/lib/eitil_core/validations/run_validations.rb +10 -0
- data/eitil_integrate/README.md +19 -0
- data/eitil_integrate/lib/eitil_integrate.rb +4 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter.rb +22 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum.rb +10 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/drop_data.rb +54 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/format_data.rb +27 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/initialize.rb +22 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/present_data.rb +31 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/reduce_data.rb +18 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/sum_data.rb +56 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/default_export.rb +43 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/helpers.rb +50 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/infos.rb +20 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/initialize.rb +28 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/lookups.rb +40 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/selectors.rb +58 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/setters.rb +27 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/store_file.rb +34 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/style_cells.rb +97 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/validations.rb +28 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/write_cells.rb +78 -0
- data/eitil_integrate/lib/eitil_integrate/application_exporter/write_messages.rb +18 -0
- data/eitil_integrate/lib/eitil_integrate/railtie.rb +10 -0
- data/eitil_store/README.md +16 -0
- data/eitil_store/lib/eitil_store.rb +4 -0
- data/eitil_store/lib/eitil_store/railtie.rb +10 -0
- data/eitil_store/lib/eitil_store/regex.rb +4 -0
- data/eitil_store/lib/eitil_store/regex/regex.rb +41 -0
- data/eitil_support/README.md +78 -0
- data/eitil_support/lib/eitil_support.rb +5 -0
- data/eitil_support/lib/eitil_support/directory.rb +2 -0
- data/eitil_support/lib/eitil_support/directory/lookups.rb +26 -0
- data/eitil_support/lib/eitil_support/railtie.rb +10 -0
- data/eitil_support/lib/eitil_support/stacktrace.rb +4 -0
- data/eitil_support/lib/eitil_support/stacktrace/audit.rb +15 -0
- data/eitil_support/lib/eitil_support/stacktrace/call.rb +17 -0
- data/eitil_support/lib/eitil_support/stacktrace/stack.rb +28 -0
- data/eitil_wrapper/README.md +181 -0
- data/eitil_wrapper/lib/eitil_wrapper.rb +7 -0
- data/eitil_wrapper/lib/eitil_wrapper/decorators.rb +3 -0
- data/eitil_wrapper/lib/eitil_wrapper/decorators/application_decorator.rb +19 -0
- data/eitil_wrapper/lib/eitil_wrapper/decorators/controller_decorator.rb +60 -0
- data/eitil_wrapper/lib/eitil_wrapper/jobs.rb +4 -0
- data/eitil_wrapper/lib/eitil_wrapper/jobs/new_job.rb +34 -0
- data/eitil_wrapper/lib/eitil_wrapper/jobs/new_job_debugger.rb +37 -0
- data/eitil_wrapper/lib/eitil_wrapper/jobs/single_method_job.rb +8 -0
- data/eitil_wrapper/lib/eitil_wrapper/railtie.rb +49 -0
- data/eitil_wrapper/lib/eitil_wrapper/routes.rb +2 -0
- data/eitil_wrapper/lib/eitil_wrapper/routes/extended_resources.rb +40 -0
- data/eitil_wrapper/lib/eitil_wrapper/scopes.rb +2 -0
- data/eitil_wrapper/lib/eitil_wrapper/scopes/default_scopes.rb +80 -0
- data/lib/eitil.rb +5 -0
- data/lib/eitil/all.rb +17 -0
- data/lib/eitil/railtie.rb +37 -0
- data/lib/eitil/version.rb +5 -0
- metadata +125 -2
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/application_record/where_like"
|
3
|
+
|
4
|
+
module EitilCore
|
5
|
+
module ApplicationRecord
|
6
|
+
module WhereLike
|
7
|
+
|
8
|
+
def where_like(_hash)
|
9
|
+
column, like = _hash.first
|
10
|
+
where("LOWER(#{column}) LIKE ?", "%#{like.downcase}%")
|
11
|
+
end
|
12
|
+
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# require "eitil_core/arugment_helpers"
|
2
|
+
|
3
|
+
require "eitil_core/argument_helpers/all_args_to_ivars"
|
4
|
+
require "eitil_core/argument_helpers/all_args_to_ivars_bang"
|
5
|
+
|
6
|
+
require "eitil_core/argument_helpers/args_to_ivars"
|
7
|
+
require "eitil_core/argument_helpers/args_to_ivars_bang"
|
8
|
+
|
9
|
+
require "eitil_core/argument_helpers/args_to_h"
|
10
|
+
require "eitil_core/argument_helpers/args_to_h_bang"
|
11
|
+
|
12
|
+
require "eitil_core/argument_helpers/all_kwargs_to_ivars"
|
13
|
+
require "eitil_core/argument_helpers/all_kwargs_to_ivars_bang"
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/all_args_to_ivars"
|
3
|
+
|
4
|
+
Kernel.module_eval do
|
5
|
+
|
6
|
+
def all_args_to_ivars(local_binding)
|
7
|
+
local_binding.local_variables.each do |lvar|
|
8
|
+
instance_variable_set("@#{lvar}", local_binding.local_variable_get(lvar))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/all_args_to_ivars_bang"
|
3
|
+
|
4
|
+
require "eitil_core/lookups/gem_path"
|
5
|
+
require "#{Find.gem_path('binding_of_caller')}/lib/binding_of_caller/mri.rb"
|
6
|
+
|
7
|
+
Kernel.module_eval do
|
8
|
+
|
9
|
+
def all_args_to_ivars!
|
10
|
+
binding.of_caller(1).local_variables.each do |lvar|
|
11
|
+
instance_variable_set("@#{lvar}", binding.of_caller(2).local_variable_get(lvar))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/all_kwargs_to_ivars"
|
3
|
+
|
4
|
+
Kernel.module_eval do
|
5
|
+
|
6
|
+
def all_kwargs_to_ivars(local_binding, namespace=:kwargs)
|
7
|
+
local_binding.local_variable_get(namespace).each do |name, value|
|
8
|
+
instance_variable_set "@#{name}", value
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/all_kwargs_to_ivars_bang"
|
3
|
+
|
4
|
+
require "eitil_core/lookups/gem_path"
|
5
|
+
require "#{Find.gem_path('binding_of_caller')}/lib/binding_of_caller/mri.rb"
|
6
|
+
|
7
|
+
Kernel.module_eval do
|
8
|
+
|
9
|
+
def all_kwargs_to_ivars!(namespace=:kwargs)
|
10
|
+
binding.of_caller(1).local_variable_get(namespace).each do |name, value|
|
11
|
+
instance_variable_set "@#{name}", value
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/args_to_h"
|
3
|
+
|
4
|
+
Kernel.module_eval do
|
5
|
+
|
6
|
+
def args_to_h(local_binding, *local_vars)
|
7
|
+
|
8
|
+
local_vars.reject { |lvar| lvar == local_binding }
|
9
|
+
.reject { |lvar| lvar.to_s.starts_with?('_') }
|
10
|
+
.map { |lvar| { "#{lvar}": local_binding.local_variable_get(lvar) } }
|
11
|
+
.inject &:merge
|
12
|
+
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/args_to_h_bang"
|
3
|
+
|
4
|
+
require "eitil_core/lookups/gem_path"
|
5
|
+
require "#{Find.gem_path('binding_of_caller')}/lib/binding_of_caller/mri.rb"
|
6
|
+
|
7
|
+
Kernel.module_eval do
|
8
|
+
|
9
|
+
def args_to_h!(*local_vars)
|
10
|
+
|
11
|
+
local_vars.reject { |lvar| lvar.to_s.starts_with?('_') }
|
12
|
+
.map { |lvar| { "#{lvar}": binding.of_caller(2).local_variable_get(lvar) } }
|
13
|
+
.inject &:merge
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/args_to_ivars"
|
3
|
+
|
4
|
+
Kernel.module_eval do
|
5
|
+
|
6
|
+
def args_to_ivars(local_binding, *local_vars)
|
7
|
+
local_vars.each do |lvar|
|
8
|
+
instance_variable_set("@#{lvar}", local_binding.local_variable_get(lvar))
|
9
|
+
end
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/argument_helpers/args_to_ivars_bang"
|
3
|
+
|
4
|
+
require "eitil_core/lookups/gem_path"
|
5
|
+
require "#{Find.gem_path('binding_of_caller')}/lib/binding_of_caller/mri.rb"
|
6
|
+
|
7
|
+
Kernel.module_eval do
|
8
|
+
|
9
|
+
def args_to_ivars!(*local_vars)
|
10
|
+
local_vars.each do |lvar|
|
11
|
+
instance_variable_set("@#{lvar}", binding.of_caller(2).local_variable_get(lvar))
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/concerns/include_concerns_of"
|
3
|
+
|
4
|
+
class Module
|
5
|
+
|
6
|
+
def include_concerns_of(*directories, namespace: nil)
|
7
|
+
directories.map! { |dir| "#{namespace}::#{dir.to_s.camelcase}" }
|
8
|
+
|
9
|
+
directories.each do |dir|
|
10
|
+
konstants = dir.constantize.constants(false)
|
11
|
+
konstants.each { |kon| include(const_get "#{dir}::#{kon}") }
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/errors/raise_error"
|
3
|
+
|
4
|
+
Kernel.module_eval do
|
5
|
+
|
6
|
+
def raise_error(_class_name, message = nil)
|
7
|
+
Object.const_set(_class_name, Class.new(StandardError)) unless Object.const_defined?(_class_name)
|
8
|
+
raise _class_name.constantize.new message
|
9
|
+
end
|
10
|
+
|
11
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/hash/auto_dig"
|
3
|
+
|
4
|
+
class Hash
|
5
|
+
|
6
|
+
def auto_dig(_hash = self, _key)
|
7
|
+
return _hash[_key] if _hash.fetch(_key, false)
|
8
|
+
|
9
|
+
_hash.keys.each do |k|
|
10
|
+
answer = auto_dig(_hash[k], _key) if _hash[k].is_a? Hash
|
11
|
+
return answer if answer
|
12
|
+
end
|
13
|
+
|
14
|
+
nil
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/lookups/all_methods"
|
3
|
+
|
4
|
+
require "awesome_print"
|
5
|
+
|
6
|
+
class Object
|
7
|
+
|
8
|
+
def all_methods(include_ancestors = true, grep: nil)
|
9
|
+
|
10
|
+
_introspection_methods = %i$
|
11
|
+
methods
|
12
|
+
singleton_methods
|
13
|
+
instance_methods
|
14
|
+
private_methods
|
15
|
+
public_methods
|
16
|
+
protected_methods
|
17
|
+
private_instance_methods
|
18
|
+
public_instance_methods
|
19
|
+
protected_instance_methods
|
20
|
+
$
|
21
|
+
|
22
|
+
_introspection_methods.map! do |_m|
|
23
|
+
_methods = safe_send _m, include_ancestors
|
24
|
+
_methods = grep ? _methods&.grep(grep) : _methods
|
25
|
+
{ _m => _methods }
|
26
|
+
end
|
27
|
+
|
28
|
+
ap _introspection_methods.inject &:merge
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
|
2
|
+
require "rails"
|
3
|
+
require "eitil_core"
|
4
|
+
|
5
|
+
module EitilCore
|
6
|
+
|
7
|
+
class Railtie < Rails::Railtie
|
8
|
+
|
9
|
+
initializer "my_railtie.configure_rails_initialization", options: :after do |app|
|
10
|
+
|
11
|
+
# Dynamic dispatching after initialization of Rails classes.
|
12
|
+
|
13
|
+
# ApplicationRecord
|
14
|
+
|
15
|
+
if Object.const_defined?('EitilCore::ApplicationRecord::WhereLike')
|
16
|
+
::ApplicationRecord.send(:extend, EitilCore::ApplicationRecord::WhereLike)
|
17
|
+
end
|
18
|
+
|
19
|
+
if Object.const_defined?('EitilCore::ApplicationRecord::FindByLike')
|
20
|
+
::ApplicationRecord.send(:extend, EitilCore::ApplicationRecord::FindByLike)
|
21
|
+
end
|
22
|
+
|
23
|
+
if Object.const_defined?('EitilCore::ApplicationRecord::AllAssociations')
|
24
|
+
::ApplicationRecord.send(:extend, EitilCore::ApplicationRecord::AllAssociations)
|
25
|
+
end
|
26
|
+
|
27
|
+
# ApplicationController
|
28
|
+
|
29
|
+
if Object.const_defined?('EitilCore::ApplicationController::SliceParams')
|
30
|
+
::ActionController::API.send(:include, EitilCore::ApplicationController::SliceParams)
|
31
|
+
end
|
32
|
+
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
@@ -0,0 +1,96 @@
|
|
1
|
+
|
2
|
+
# require "eitil_core/type_checkers/is_num_or_nan"
|
3
|
+
|
4
|
+
require "eitil_store/regex/regex"
|
5
|
+
|
6
|
+
class String
|
7
|
+
|
8
|
+
def is_nan?
|
9
|
+
self !~ EitilStore::Regex::IsNum
|
10
|
+
end
|
11
|
+
|
12
|
+
def is_num?
|
13
|
+
!is_nan?
|
14
|
+
end
|
15
|
+
|
16
|
+
end
|
17
|
+
|
18
|
+
# Descending classes which are always numeric
|
19
|
+
|
20
|
+
class Numeric
|
21
|
+
|
22
|
+
def is_nan?
|
23
|
+
false
|
24
|
+
end
|
25
|
+
|
26
|
+
def is_num?
|
27
|
+
true
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
|
32
|
+
# Classes which are never numeric
|
33
|
+
|
34
|
+
class NilClass
|
35
|
+
|
36
|
+
def is_nan?
|
37
|
+
true
|
38
|
+
end
|
39
|
+
|
40
|
+
def is_num?
|
41
|
+
false
|
42
|
+
end
|
43
|
+
|
44
|
+
end
|
45
|
+
|
46
|
+
|
47
|
+
class TrueClass
|
48
|
+
|
49
|
+
def is_nan?
|
50
|
+
true
|
51
|
+
end
|
52
|
+
|
53
|
+
def is_num?
|
54
|
+
false
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
|
60
|
+
class FalseClass
|
61
|
+
|
62
|
+
def is_nan?
|
63
|
+
true
|
64
|
+
end
|
65
|
+
|
66
|
+
def is_num?
|
67
|
+
false
|
68
|
+
end
|
69
|
+
|
70
|
+
end
|
71
|
+
|
72
|
+
|
73
|
+
class Hash
|
74
|
+
|
75
|
+
def is_nan?
|
76
|
+
true
|
77
|
+
end
|
78
|
+
|
79
|
+
def is_num?
|
80
|
+
false
|
81
|
+
end
|
82
|
+
|
83
|
+
end
|
84
|
+
|
85
|
+
|
86
|
+
class Array
|
87
|
+
|
88
|
+
def is_nan?
|
89
|
+
true
|
90
|
+
end
|
91
|
+
|
92
|
+
def is_num?
|
93
|
+
false
|
94
|
+
end
|
95
|
+
|
96
|
+
end
|