avmtrf1-tools 0.32.1 → 0.33.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/avmtrf1/active_directory/user.rb +3 -3
- data/lib/avmtrf1/core_ext.rb +4 -0
- data/lib/avmtrf1/default_jira.rb +2 -2
- data/lib/avmtrf1/git/cached_repository.rb +2 -2
- data/lib/avmtrf1/git/issue_on_repository.rb +2 -2
- data/lib/avmtrf1/git/push_large.rb +4 -4
- data/lib/avmtrf1/git/push_large/lfs_commit.rb +5 -10
- data/lib/avmtrf1/git/push_large/lfs_commit/cache.rb +19 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/checkout_previous_revision.rb +35 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/commit_changes.rb +48 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/helpers.rb +29 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/pick_source_revision.rb +103 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/push.rb +90 -0
- data/lib/avmtrf1/git/push_large/lfs_commit/track_large_files.rb +53 -0
- data/lib/avmtrf1/git/push_large/source_commit.rb +4 -7
- data/lib/avmtrf1/git/push_large/source_commit/push.rb +42 -0
- data/lib/avmtrf1/inventario_sistemas/site_build/html_page_base.rb +1 -1
- data/lib/avmtrf1/openvpn/config/builder.rb +59 -0
- data/lib/avmtrf1/openvpn/config/parser.rb +20 -0
- data/lib/avmtrf1/openvpn/config/parser/builder.rb +62 -0
- data/lib/avmtrf1/openvpn/config/parser/line.rb +47 -0
- data/lib/avmtrf1/openvpn/config/parser/simple.rb +27 -0
- data/lib/avmtrf1/openvpn/config/parser/tag.rb +39 -0
- data/lib/avmtrf1/patches.rb +3 -0
- data/lib/avmtrf1/patches/avm.rb +4 -0
- data/lib/avmtrf1/patches/avm/git.rb +4 -0
- data/lib/avmtrf1/patches/avm/git/issue.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher/git.rb +4 -0
- data/lib/avmtrf1/patches/avm/launcher/git/base.rb +46 -0
- data/lib/avmtrf1/red/helper.rb +2 -2
- data/lib/avmtrf1/template.rb +2 -2
- data/lib/avmtrf1/tools/runner.rb +5 -2
- data/lib/avmtrf1/tools/runner/check_point.rb +7 -13
- data/lib/avmtrf1/tools/runner/check_point/login.rb +6 -19
- data/lib/avmtrf1/tools/runner/esosti.rb +8 -20
- data/lib/avmtrf1/tools/runner/esosti/changed.rb +9 -22
- data/lib/avmtrf1/tools/runner/esosti/fetch.rb +9 -22
- data/lib/avmtrf1/tools/runner/esosti/request.rb +17 -29
- data/lib/avmtrf1/tools/runner/forponto.rb +13 -23
- data/lib/avmtrf1/tools/runner/forponto/espelho.rb +11 -21
- data/lib/avmtrf1/tools/runner/forponto/marcacoes.rb +7 -18
- data/lib/avmtrf1/tools/runner/forponto/resumos.rb +7 -19
- data/lib/avmtrf1/tools/runner/forponto/saldo.rb +10 -21
- data/lib/avmtrf1/tools/runner/git.rb +2 -4
- data/lib/avmtrf1/tools/runner/git/issues_check.rb +7 -18
- data/lib/avmtrf1/tools/runner/git/push_large.rb +27 -18
- data/lib/avmtrf1/tools/runner/openvpn.rb +57 -4
- data/lib/avmtrf1/tools/runner/oracle.rb +15 -22
- data/lib/avmtrf1/tools/runner/oracle/query.rb +9 -13
- data/lib/avmtrf1/tools/runner/oracle/source_get.rb +17 -18
- data/lib/avmtrf1/tools/runner/oracle/user_clear.rb +7 -15
- data/lib/avmtrf1/tools/runner/php/docker.rb +5 -5
- data/lib/avmtrf1/tools/runner/red.rb +21 -25
- data/lib/avmtrf1/tools/runner/trf1_dspace_base0.rb +9 -18
- data/lib/avmtrf1/tools/runner/trf1_dspace_base0/deploy.rb +1 -1
- data/lib/avmtrf1/tools/version.rb +1 -1
- metadata +26 -97
- data/lib/avmtrf1/configs.rb +0 -24
- data/lib/avmtrf1/git/push_large/lfs_commit/_00_checkout_previous_revision.rb +0 -33
- data/lib/avmtrf1/git/push_large/lfs_commit/_01_cherry_pick_source_revision.rb +0 -89
- data/lib/avmtrf1/git/push_large/lfs_commit/_02_track_large_files.rb +0 -51
- data/lib/avmtrf1/git/push_large/lfs_commit/_03_commit_changes.rb +0 -46
- data/lib/avmtrf1/git/push_large/lfs_commit/_04_push.rb +0 -88
- data/lib/avmtrf1/git/push_large/lfs_commit/_cache.rb +0 -17
- data/lib/avmtrf1/git/push_large/lfs_commit/_helpers.rb +0 -27
- data/lib/avmtrf1/git/push_large/source_commit/_push.rb +0 -40
- data/lib/avmtrf1/patches/eac_launcher/git/base.rb +0 -43
@@ -1,27 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avmtrf1/forponto/user/day_registers'
|
4
|
-
require '
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
4
|
+
require 'avmtrf1/core_ext'
|
6
5
|
|
7
6
|
module Avmtrf1
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Marcacoes
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
DOC = <<~DOCOPT
|
16
|
-
Mostra marcações Forponto do dia.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
DOCOPT
|
9
|
+
class Forponto
|
10
|
+
class Marcacoes
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Mostra marcações Forponto do dia.'
|
13
|
+
end
|
25
14
|
|
26
15
|
def run
|
27
16
|
infov 'Date', day_registers.date
|
@@ -34,7 +23,7 @@ module Avmtrf1
|
|
34
23
|
private
|
35
24
|
|
36
25
|
def day_registers_uncached
|
37
|
-
::Avmtrf1::Forponto::User::DayRegisters.new(
|
26
|
+
::Avmtrf1::Forponto::User::DayRegisters.new(runner_context.call(:user))
|
38
27
|
end
|
39
28
|
end
|
40
29
|
end
|
@@ -1,27 +1,15 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
|
7
5
|
module Avmtrf1
|
8
6
|
module Tools
|
9
7
|
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Resumos
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
DOC = <<~DOCOPT
|
16
|
-
Mostra os resumos.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
DOCOPT
|
8
|
+
class Forponto
|
9
|
+
class Resumos
|
10
|
+
runner_with :help do
|
11
|
+
desc 'Mostra os resumos.'
|
12
|
+
end
|
25
13
|
|
26
14
|
def run
|
27
15
|
sorted_months.each do |month|
|
@@ -32,7 +20,7 @@ module Avmtrf1
|
|
32
20
|
def head_month
|
33
21
|
today = ::Date.today
|
34
22
|
date = ::Date.civil(today.year, today.month, 1)
|
35
|
-
|
23
|
+
runner_context.call(:user).month(date.year, date.month)
|
36
24
|
end
|
37
25
|
|
38
26
|
def show_month(month)
|
@@ -1,28 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require '
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
4
|
+
require 'avmtrf1/forponto/user/balance'
|
6
5
|
|
7
6
|
module Avmtrf1
|
8
7
|
module Tools
|
9
8
|
class Runner
|
10
|
-
class Forponto
|
11
|
-
class Saldo
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
Calcula saldo de horas atual.
|
17
|
-
|
18
|
-
Usage:
|
19
|
-
__PROGRAM__ [options]
|
20
|
-
__PROGRAM__ -h | --help
|
21
|
-
|
22
|
-
Options:
|
23
|
-
-h --help Show this screen.
|
24
|
-
-d --details Show details.
|
25
|
-
DOCOPT
|
9
|
+
class Forponto
|
10
|
+
class Saldo
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Calcula saldo de horas atual.'
|
13
|
+
bool_opt '-d', '--details', 'Show details.'
|
14
|
+
end
|
26
15
|
|
27
16
|
def run
|
28
17
|
balance.months_balances.each do |mb|
|
@@ -47,7 +36,7 @@ module Avmtrf1
|
|
47
36
|
|
48
37
|
def show_month_attr_balance(mba, label)
|
49
38
|
infov " * #{label}", minutes_to_s(mba.initial_value)
|
50
|
-
return unless
|
39
|
+
return unless parsed.details?
|
51
40
|
|
52
41
|
show_month_withdrawals(mba)
|
53
42
|
show_month_requests(mba)
|
@@ -93,7 +82,7 @@ module Avmtrf1
|
|
93
82
|
end
|
94
83
|
|
95
84
|
def balance_uncached
|
96
|
-
::Avmtrf1::Forponto::User::Balance.new(
|
85
|
+
::Avmtrf1::Forponto::User::Balance.new(runner_context.call(:user))
|
97
86
|
end
|
98
87
|
end
|
99
88
|
end
|
@@ -1,15 +1,13 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
3
|
require 'avm/tools/runner/git'
|
4
|
-
require '
|
5
|
-
require 'avmtrf1/tools/runner/git/issues_check'
|
6
|
-
require 'avmtrf1/tools/runner/git/push_large'
|
7
|
-
require 'avmtrf1/patches/avm/git/issue/complete'
|
4
|
+
require 'avmtrf1/core_ext'
|
8
5
|
|
9
6
|
module Avmtrf1
|
10
7
|
module Tools
|
11
8
|
class Runner
|
12
9
|
class Git < ::Avm::Tools::Runner::Git
|
10
|
+
require_sub __FILE__
|
13
11
|
end
|
14
12
|
end
|
15
13
|
end
|
@@ -1,28 +1,17 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/speaker'
|
5
|
-
require 'eac_ruby_utils/simple_cache'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
require 'avmtrf1/git/cached_repository'
|
7
5
|
|
8
6
|
module Avmtrf1
|
9
7
|
module Tools
|
10
8
|
class Runner
|
11
9
|
class Git < ::Avm::Tools::Runner::Git
|
12
|
-
class IssuesCheck
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
Confronta situação das demandas no Git com a situação nos trackers.
|
18
|
-
|
19
|
-
Usage:
|
20
|
-
__PROGRAM__ [options] <git-url>
|
21
|
-
__PROGRAM__ -h | --help
|
22
|
-
|
23
|
-
Options:
|
24
|
-
-h --help Mostra esta ajuda.
|
25
|
-
DOCOPT
|
10
|
+
class IssuesCheck
|
11
|
+
runner_with :help do
|
12
|
+
desc 'Confronta situação das demandas no Git com a situação nos trackers.'
|
13
|
+
pos_arg :git_url
|
14
|
+
end
|
26
15
|
|
27
16
|
def run
|
28
17
|
infov 'Repository path', git_url
|
@@ -34,7 +23,7 @@ module Avmtrf1
|
|
34
23
|
private
|
35
24
|
|
36
25
|
def git_url
|
37
|
-
|
26
|
+
parsed.git_url
|
38
27
|
end
|
39
28
|
|
40
29
|
def git_uncached
|
@@ -1,35 +1,44 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
3
|
+
require 'avmtrf1/core_ext'
|
4
4
|
require 'avmtrf1/git/push_large'
|
5
5
|
|
6
6
|
module Avmtrf1
|
7
7
|
module Tools
|
8
8
|
class Runner
|
9
9
|
class Git < ::Avm::Tools::Runner::Git
|
10
|
-
class PushLarge
|
11
|
-
|
12
|
-
|
13
|
-
(Que falham com "pack exceeds maximum allowed size").
|
10
|
+
class PushLarge
|
11
|
+
DEFAULT_REPO_PATH = '.'
|
12
|
+
DEFAULT_REMOTE = 'origin'
|
14
13
|
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
14
|
+
runner_with :help do
|
15
|
+
desc 'Realiza push de repositórios grandes (Que falham com "pack exceeds maximum' \
|
16
|
+
' allowed size")'
|
17
|
+
arg_opt '-C', '--repo-path', 'Caminho do repositório local' \
|
18
|
+
" [default: #{DEFAULT_REPO_PATH}]."
|
19
|
+
arg_opt '-r', '--remote', "Nome do remoto [default: #{DEFAULT_REMOTE}]."
|
20
|
+
pos_arg :source_ref
|
21
|
+
pos_arg :target_ref
|
22
|
+
end
|
24
23
|
|
25
24
|
def run
|
26
25
|
::Avmtrf1::Git::PushLarge.new(
|
27
|
-
::File.expand_path(
|
28
|
-
|
29
|
-
|
30
|
-
|
26
|
+
::File.expand_path(repo_path),
|
27
|
+
remote,
|
28
|
+
parsed.source_ref,
|
29
|
+
parsed.target_ref
|
31
30
|
).run
|
32
31
|
end
|
32
|
+
|
33
|
+
private
|
34
|
+
|
35
|
+
def repo_path
|
36
|
+
parsed.repo_path || DEFAULT_REPO_PATH
|
37
|
+
end
|
38
|
+
|
39
|
+
def remote
|
40
|
+
parsed.remote || DEFAULT_REMOTE
|
41
|
+
end
|
33
42
|
end
|
34
43
|
end
|
35
44
|
end
|
@@ -1,6 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avmtrf1/ad_user'
|
3
4
|
require 'avmtrf1/executables'
|
5
|
+
require 'avmtrf1/openvpn/config/builder'
|
4
6
|
require 'eac_cli/core_ext'
|
5
7
|
|
6
8
|
module Avmtrf1
|
@@ -10,17 +12,25 @@ module Avmtrf1
|
|
10
12
|
runner_with :help do
|
11
13
|
desc 'Conecta-se utilizando OpenVPN com configurações dinâmicas.'
|
12
14
|
bool_opt '-S', '--no-sudo', 'Não executa com "sudo".'
|
15
|
+
bool_opt '-A', '--no-ad-auth', 'Não utiliza autenticação do Active Directory.'
|
13
16
|
pos_arg :ovpn_path
|
14
17
|
end
|
15
18
|
|
16
19
|
def run
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
+
on_temp_files do
|
21
|
+
start_banner
|
22
|
+
infov 'Resultado', command.system
|
23
|
+
end
|
20
24
|
end
|
21
25
|
|
22
26
|
private
|
23
27
|
|
28
|
+
attr_accessor :credentials_path, :ovpn_config_path
|
29
|
+
|
30
|
+
def ad_auth?
|
31
|
+
!parsed.no_ad_auth?
|
32
|
+
end
|
33
|
+
|
24
34
|
def command_uncached
|
25
35
|
if parsed.no_sudo?
|
26
36
|
::Avmtrf1::Executables.env.command(*openvpn_args)
|
@@ -29,8 +39,51 @@ module Avmtrf1
|
|
29
39
|
end
|
30
40
|
end
|
31
41
|
|
42
|
+
def config_builder_uncached
|
43
|
+
r = ::Avmtrf1::Openvpn::Config::Builder.new(parsed.ovpn_path)
|
44
|
+
r.simple_add_or_update('auth-user-pass', [credentials_path.to_path]) if ad_auth?
|
45
|
+
r
|
46
|
+
end
|
47
|
+
|
32
48
|
def openvpn_args
|
33
|
-
['openvpn', '--config',
|
49
|
+
['openvpn', '--config', ovpn_config_path]
|
50
|
+
end
|
51
|
+
|
52
|
+
def start_banner
|
53
|
+
infov 'Arquivo de configuração', parsed.ovpn_path
|
54
|
+
infov 'Linha de comando', ::Shellwords.join(command.args)
|
55
|
+
end
|
56
|
+
|
57
|
+
def on_temp_files
|
58
|
+
on_credentials_file do
|
59
|
+
on_config_file { yield }
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def on_credentials_file(&block)
|
64
|
+
if ad_auth?
|
65
|
+
on_temp_file(:credentials_path, -> { credentials_content }, &block)
|
66
|
+
else
|
67
|
+
block.call
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
def on_config_file(&block)
|
72
|
+
on_temp_file(:ovpn_config_path, -> { config_builder.data }, &block)
|
73
|
+
end
|
74
|
+
|
75
|
+
def on_temp_file(attr, content_proc)
|
76
|
+
::EacRubyUtils::Fs::Temp.on_file do |file|
|
77
|
+
file.write(content_proc.call)
|
78
|
+
send("#{attr}=", file)
|
79
|
+
yield
|
80
|
+
send("#{attr}=", nil)
|
81
|
+
end
|
82
|
+
end
|
83
|
+
|
84
|
+
def credentials_content
|
85
|
+
[::Avmtrf1.ad_user.username, ::Avmtrf1.ad_user.password]
|
86
|
+
.map { |v| "#{v}\n" }.join
|
34
87
|
end
|
35
88
|
end
|
36
89
|
end
|
@@ -1,29 +1,22 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'avmtrf1/core_ext'
|
3
4
|
require 'avmtrf1/oracle/connection/base.rb'
|
4
5
|
require 'avmtrf1/oracle/connection/string_builder.rb'
|
5
|
-
require 'eac_ruby_utils/core_ext'
|
6
6
|
|
7
7
|
module Avmtrf1
|
8
8
|
module Tools
|
9
9
|
class Runner
|
10
|
-
class Oracle
|
10
|
+
class Oracle
|
11
11
|
require_sub __FILE__
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
-h --help Show this screen
|
21
|
-
-H --host=<host> Host Oracle (Ex.: 172.16.3.3)
|
22
|
-
-p --port=<port> Porta Oracle (Ex.: 1521) (Padrão: 1521).
|
23
|
-
-s --service-name=<service> Serviço Oracle (Ex.: trf1.trf1.gov.br)
|
24
|
-
-u --user=<user> Usuário Oracle
|
25
|
-
-w --password=<password> Senha Oracle
|
26
|
-
DOCOPT
|
12
|
+
runner_with :help, :subcommands do
|
13
|
+
arg_opt '-H', '--host', 'Host Oracle (Ex.: 172.16.3.3)'
|
14
|
+
arg_opt '-p', '--port', 'Porta Oracle (Ex.: 1521) (Padrão: 1521)'
|
15
|
+
arg_opt '-s', '--service-name', 'Serviço Oracle (Ex.: trf1.trf1.gov.br)'
|
16
|
+
arg_opt '-u', '--user', 'Usuário Oracle'
|
17
|
+
arg_opt '-w', '--password', 'Senha Oracle'
|
18
|
+
subcommands
|
19
|
+
end
|
27
20
|
|
28
21
|
def connection
|
29
22
|
@connection ||= ::Avmtrf1::Oracle::Connection::Base.new(connection_string)
|
@@ -31,11 +24,11 @@ module Avmtrf1
|
|
31
24
|
|
32
25
|
def connection_string
|
33
26
|
::Avmtrf1::Oracle::Connection::StringBuilder.new(
|
34
|
-
host:
|
35
|
-
port:
|
36
|
-
user:
|
37
|
-
password:
|
38
|
-
service_name:
|
27
|
+
host: parsed.host,
|
28
|
+
port: parsed.port,
|
29
|
+
user: parsed.user,
|
30
|
+
password: parsed.password,
|
31
|
+
service_name: parsed.service_name
|
39
32
|
).build
|
40
33
|
end
|
41
34
|
end
|
@@ -1,20 +1,16 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require '
|
4
|
-
require 'eac_ruby_utils/console/docopt_runner'
|
5
|
-
require 'eac_ruby_utils/console/speaker'
|
3
|
+
require 'avmtrf1/core_ext'
|
6
4
|
|
7
5
|
module Avmtrf1
|
8
6
|
module Tools
|
9
7
|
class Runner
|
10
|
-
class Oracle
|
11
|
-
class Query
|
12
|
-
include ::EacCli::DefaultRunner
|
13
|
-
|
8
|
+
class Oracle
|
9
|
+
class Query
|
14
10
|
DEFAULT_COLUMN_SEPARATOR = "\t"
|
15
11
|
DEFAULT_ROW_SEPARATOR = "\n"
|
16
12
|
|
17
|
-
|
13
|
+
runner_with :help do
|
18
14
|
desc 'Executa queries Oracle.'
|
19
15
|
arg_opt '-c', '--column-sep', 'Separator de colunas.'
|
20
16
|
bool_opt '-C', '--columns', 'Imprime o nome das colunas.'
|
@@ -32,7 +28,7 @@ module Avmtrf1
|
|
32
28
|
end
|
33
29
|
|
34
30
|
def print_header
|
35
|
-
return unless
|
31
|
+
return unless parsed.columns?
|
36
32
|
|
37
33
|
print_row(cursor.column_metadata.map(&:name))
|
38
34
|
end
|
@@ -46,7 +42,7 @@ module Avmtrf1
|
|
46
42
|
end
|
47
43
|
|
48
44
|
def print_footer
|
49
|
-
return unless
|
45
|
+
return unless parsed.count?
|
50
46
|
|
51
47
|
print_row(["Count: #{count}"])
|
52
48
|
end
|
@@ -54,11 +50,11 @@ module Avmtrf1
|
|
54
50
|
private
|
55
51
|
|
56
52
|
def column_separator_uncached
|
57
|
-
|
53
|
+
parsed.column_sep.if_present(DEFAULT_COLUMN_SEPARATOR)
|
58
54
|
end
|
59
55
|
|
60
56
|
def cursor_uncached
|
61
|
-
|
57
|
+
runner_context.call(:connection).query(parsed.sql)
|
62
58
|
end
|
63
59
|
|
64
60
|
def print_row(array)
|
@@ -66,7 +62,7 @@ module Avmtrf1
|
|
66
62
|
end
|
67
63
|
|
68
64
|
def row_separator_uncached
|
69
|
-
|
65
|
+
parsed.row_sep.if_present(DEFAULT_ROW_SEPARATOR)
|
70
66
|
end
|
71
67
|
end
|
72
68
|
end
|