eitil 1.0.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 +60 -4
- data/eitil_core/lib/eitil_core/argument_helpers.rb +8 -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_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_bang.rb +15 -0
- data/eitil_core/lib/eitil_core/float/safe_to_i.rb +3 -0
- data/eitil_core/lib/eitil_core/lookups.rb +2 -1
- data/eitil_core/lib/eitil_core/lookups/gem_path.rb +10 -0
- data/eitil_integrate/README.md +11 -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_support/lib/eitil_support/directory/lookups.rb +3 -0
- data/lib/eitil.rb +0 -1
- data/lib/eitil/all.rb +2 -3
- data/lib/eitil/railtie.rb +32 -1
- data/lib/eitil/version.rb +1 -1
- metadata +57 -5
- data/lib/eitil/engine.rb +0 -38
- data/lib/tasks/eitil_tasks.rake +0 -4
@@ -0,0 +1,28 @@
|
|
1
|
+
|
2
|
+
# require "eitil_integrate/application_exporter/validations"
|
3
|
+
|
4
|
+
require "eitil_integrate/application_exporter/initialize"
|
5
|
+
require "eitil_core/errors/raise_error"
|
6
|
+
|
7
|
+
module EitilIntegrate::RubyXL
|
8
|
+
class ApplicationExporter
|
9
|
+
|
10
|
+
def validate_args_presence(*args)
|
11
|
+
args.each do |arg|
|
12
|
+
unless instance_variable_get "@#{arg}"
|
13
|
+
raise_error 'ExportArgumentsNotSetError', 'Set all required arguments. (Be aware that nil values will fail the test.)'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
true
|
17
|
+
end
|
18
|
+
|
19
|
+
def validate_args_value
|
20
|
+
# Empty holder to prevent NoMethodError in DefaultExporter#export.
|
21
|
+
end
|
22
|
+
|
23
|
+
def validate_data
|
24
|
+
# Empty holder to prevent NoMethodError in DefaultExporter#export.
|
25
|
+
end
|
26
|
+
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
|
2
|
+
# require "eitil_integrate/application_exporter/write_cells"
|
3
|
+
|
4
|
+
require "eitil_integrate/application_exporter/initialize"
|
5
|
+
|
6
|
+
module EitilIntegrate::RubyXL
|
7
|
+
class ApplicationExporter
|
8
|
+
|
9
|
+
def new_row(row_hash)
|
10
|
+
row_hash.each { |x_axis, title| @sheet.add_cell(x, x_axis.to_s.to_i, title) }
|
11
|
+
@x += 1
|
12
|
+
end
|
13
|
+
|
14
|
+
def empty_row
|
15
|
+
@x += 1
|
16
|
+
end
|
17
|
+
|
18
|
+
def empty_rows(n_rows)
|
19
|
+
@x += n_rows
|
20
|
+
end
|
21
|
+
|
22
|
+
def new_column(column_hash)
|
23
|
+
column_hash.each { |y_axis, title| @sheet.add_cell(y_axis.to_s.to_i, y, title) }
|
24
|
+
@y += 1
|
25
|
+
end
|
26
|
+
|
27
|
+
def empty_column
|
28
|
+
@y += 1
|
29
|
+
end
|
30
|
+
|
31
|
+
def empty_columns(n_columns)
|
32
|
+
@y += n_columns
|
33
|
+
end
|
34
|
+
|
35
|
+
def rows
|
36
|
+
@sheet.sheet_data.rows
|
37
|
+
end
|
38
|
+
|
39
|
+
def row_indices
|
40
|
+
(0...rows.count).to_a
|
41
|
+
end
|
42
|
+
|
43
|
+
def columns
|
44
|
+
# RubyXl does not seem to be purposed around columns, but merely handle rows properly.
|
45
|
+
end
|
46
|
+
|
47
|
+
def column_indices
|
48
|
+
n_rows = rows.map { |r| r&.cells&.count }.compact.max #temporary hack
|
49
|
+
(0...n_rows).to_a
|
50
|
+
end
|
51
|
+
|
52
|
+
def array_to_row(array)
|
53
|
+
new_row array_to_indexed_hash(array)
|
54
|
+
end
|
55
|
+
|
56
|
+
def row_values(row_index)
|
57
|
+
rows.dig(row_index).cells.map &:value
|
58
|
+
end
|
59
|
+
|
60
|
+
def column_values(column_index)
|
61
|
+
rows.map { |row| row&.cells&.dig(column_index)&.value }
|
62
|
+
end
|
63
|
+
|
64
|
+
def all_column_values
|
65
|
+
column_indices.map { |i| { i => column_values(i) } }.inject &:merge
|
66
|
+
end
|
67
|
+
|
68
|
+
def all_row_values
|
69
|
+
row_indices.map { |i| { i => row_values(i) } }.inject &:merge
|
70
|
+
end
|
71
|
+
|
72
|
+
def sum_row
|
73
|
+
new_row EitilIntegrate::RubyXL::AutoSum.perform(all_column_values)
|
74
|
+
style_row_bold previous_row
|
75
|
+
end
|
76
|
+
|
77
|
+
end
|
78
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
|
2
|
+
# require "eitil_integrate/application_exporter/write_messages"
|
3
|
+
|
4
|
+
require "eitil_integrate/application_exporter/initialize"
|
5
|
+
|
6
|
+
module EitilIntegrate::RubyXL
|
7
|
+
class ApplicationExporter
|
8
|
+
|
9
|
+
def fill_messages
|
10
|
+
# nil fallback for if the exporter class has no method #fill_messages
|
11
|
+
end
|
12
|
+
|
13
|
+
def write_message(message)
|
14
|
+
new_row({ '0': message })
|
15
|
+
end
|
16
|
+
|
17
|
+
end
|
18
|
+
end
|
data/lib/eitil.rb
CHANGED
data/lib/eitil/all.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
|
2
|
-
require "rails"
|
3
2
|
require "eitil"
|
3
|
+
require "pry"
|
4
4
|
|
5
5
|
Eitil::Layers.each do |layer|
|
6
6
|
|
@@ -11,8 +11,7 @@ Eitil::Layers.each do |layer|
|
|
11
11
|
rescue LoadError => e
|
12
12
|
puts "failed to require #{layer}/railtie"
|
13
13
|
puts "message: #{e.message}"
|
14
|
-
|
15
|
-
binding.pry
|
14
|
+
# binding.pry
|
16
15
|
|
17
16
|
end
|
18
17
|
end
|
data/lib/eitil/railtie.rb
CHANGED
@@ -1,6 +1,37 @@
|
|
1
|
+
|
2
|
+
require 'eitil/railtie'
|
3
|
+
require 'pry'
|
4
|
+
|
5
|
+
# Constants
|
6
|
+
|
7
|
+
module Eitil
|
8
|
+
|
9
|
+
Root = Gem.loaded_specs['eitil'].full_gem_path
|
10
|
+
Layers = %w( eitil_core eitil_support eitil_wrapper eitil_store eitil_integrate )
|
11
|
+
|
12
|
+
end
|
13
|
+
|
14
|
+
|
15
|
+
# Configuration
|
16
|
+
|
1
17
|
module Eitil
|
2
18
|
|
3
|
-
class Railtie < ::Rails::Railtie
|
19
|
+
class Railtie < ::Rails::Railtie
|
20
|
+
|
21
|
+
# Add lib dirs to $LOAD_PATH, making them available in your main app.
|
22
|
+
|
23
|
+
binding.pry
|
24
|
+
|
25
|
+
Eitil::Layers.each do |layer|
|
26
|
+
$LOAD_PATH << "#{Eitil::Root}/#{layer}/lib"
|
27
|
+
end
|
28
|
+
|
29
|
+
end
|
30
|
+
|
31
|
+
mattr_accessor :get_controller_ivars_method
|
32
|
+
|
33
|
+
def self.set_config(&block)
|
34
|
+
yield self
|
4
35
|
end
|
5
36
|
|
6
37
|
end
|
data/lib/eitil/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: eitil
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3.e.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jurriaan Schrofer
|
@@ -38,6 +38,34 @@ dependencies:
|
|
38
38
|
- - '='
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: 1.9.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: binding_of_caller
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.0.0
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - '='
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: 1.0.0
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rubyXL
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
41
69
|
description: "Eitil (eitje utility) never stops increasing your life's efficacy and
|
42
70
|
productivity, yay!\n Our gem currently exists of five seperate
|
43
71
|
layers (Railties), which can be integrated as standalone gems. \n This
|
@@ -62,8 +90,13 @@ files:
|
|
62
90
|
- eitil_core/lib/eitil_core/application_record/where_like.rb
|
63
91
|
- eitil_core/lib/eitil_core/argument_helpers.rb
|
64
92
|
- eitil_core/lib/eitil_core/argument_helpers/all_args_to_ivars.rb
|
93
|
+
- eitil_core/lib/eitil_core/argument_helpers/all_args_to_ivars_bang.rb
|
65
94
|
- eitil_core/lib/eitil_core/argument_helpers/all_kwargs_to_ivars.rb
|
95
|
+
- eitil_core/lib/eitil_core/argument_helpers/all_kwargs_to_ivars_bang.rb
|
96
|
+
- eitil_core/lib/eitil_core/argument_helpers/args_to_h.rb
|
97
|
+
- eitil_core/lib/eitil_core/argument_helpers/args_to_h_bang.rb
|
66
98
|
- eitil_core/lib/eitil_core/argument_helpers/args_to_ivars.rb
|
99
|
+
- eitil_core/lib/eitil_core/argument_helpers/args_to_ivars_bang.rb
|
67
100
|
- eitil_core/lib/eitil_core/concerns.rb
|
68
101
|
- eitil_core/lib/eitil_core/concerns/include_concerns_of.rb
|
69
102
|
- eitil_core/lib/eitil_core/datetime.rb
|
@@ -76,6 +109,7 @@ files:
|
|
76
109
|
- eitil_core/lib/eitil_core/hash/auto_dig.rb
|
77
110
|
- eitil_core/lib/eitil_core/lookups.rb
|
78
111
|
- eitil_core/lib/eitil_core/lookups/all_methods.rb
|
112
|
+
- eitil_core/lib/eitil_core/lookups/gem_path.rb
|
79
113
|
- eitil_core/lib/eitil_core/railtie.rb
|
80
114
|
- eitil_core/lib/eitil_core/safe_executions.rb
|
81
115
|
- eitil_core/lib/eitil_core/safe_executions/safe_call.rb
|
@@ -88,6 +122,26 @@ files:
|
|
88
122
|
- eitil_core/lib/eitil_core/validations/run_validations.rb
|
89
123
|
- eitil_integrate/README.md
|
90
124
|
- eitil_integrate/lib/eitil_integrate.rb
|
125
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter.rb
|
126
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum.rb
|
127
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/drop_data.rb
|
128
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/format_data.rb
|
129
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/initialize.rb
|
130
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/present_data.rb
|
131
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/reduce_data.rb
|
132
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/auto_sum/sum_data.rb
|
133
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/default_export.rb
|
134
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/helpers.rb
|
135
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/infos.rb
|
136
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/initialize.rb
|
137
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/lookups.rb
|
138
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/selectors.rb
|
139
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/setters.rb
|
140
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/store_file.rb
|
141
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/style_cells.rb
|
142
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/validations.rb
|
143
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/write_cells.rb
|
144
|
+
- eitil_integrate/lib/eitil_integrate/application_exporter/write_messages.rb
|
91
145
|
- eitil_integrate/lib/eitil_integrate/railtie.rb
|
92
146
|
- eitil_store/README.md
|
93
147
|
- eitil_store/lib/eitil_store.rb
|
@@ -119,10 +173,8 @@ files:
|
|
119
173
|
- eitil_wrapper/lib/eitil_wrapper/scopes/default_scopes.rb
|
120
174
|
- lib/eitil.rb
|
121
175
|
- lib/eitil/all.rb
|
122
|
-
- lib/eitil/engine.rb
|
123
176
|
- lib/eitil/railtie.rb
|
124
177
|
- lib/eitil/version.rb
|
125
|
-
- lib/tasks/eitil_tasks.rake
|
126
178
|
homepage: https://github.com/eitje-app/eitil_engine
|
127
179
|
licenses:
|
128
180
|
- MIT
|
@@ -141,9 +193,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
141
193
|
version: '0'
|
142
194
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
143
195
|
requirements:
|
144
|
-
- - "
|
196
|
+
- - ">"
|
145
197
|
- !ruby/object:Gem::Version
|
146
|
-
version:
|
198
|
+
version: 1.3.1
|
147
199
|
requirements: []
|
148
200
|
rubygems_version: 3.1.2
|
149
201
|
signing_key:
|
data/lib/eitil/engine.rb
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
|
2
|
-
require 'eitil/railtie'
|
3
|
-
|
4
|
-
|
5
|
-
# Constants
|
6
|
-
|
7
|
-
module Eitil
|
8
|
-
|
9
|
-
# preferably find a less hacky way to retrieve the gem's root path, perhaps with Kernel#pwd?
|
10
|
-
Root = $LOAD_PATH.find { |x| x.match /eitil/ }.chomp('/lib')
|
11
|
-
Layers = %w( eitil_core eitil_support eitil_wrapper eitil_store eitil_integrate )
|
12
|
-
|
13
|
-
end
|
14
|
-
|
15
|
-
|
16
|
-
# Configuration
|
17
|
-
|
18
|
-
module Eitil
|
19
|
-
|
20
|
-
class Engine < ::Rails::Engine
|
21
|
-
|
22
|
-
isolate_namespace Eitil
|
23
|
-
config.generators.api_only = true
|
24
|
-
|
25
|
-
# Add lib dirs to $LOAD_PATH, making them available in your main app.
|
26
|
-
Eitil::Layers.each do |layer|
|
27
|
-
$LOAD_PATH << "#{Eitil::Root}/#{layer}/lib"
|
28
|
-
end
|
29
|
-
|
30
|
-
end
|
31
|
-
|
32
|
-
mattr_accessor :get_controller_ivars_method
|
33
|
-
|
34
|
-
def self.set_config(&block)
|
35
|
-
yield self
|
36
|
-
end
|
37
|
-
|
38
|
-
end
|
data/lib/tasks/eitil_tasks.rake
DELETED