avmtrf1-tools 0.23.0 → 0.24.0

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7c5d0fa004a2d103636c175eae7e9e01fb7ec24f9965b65b4ade79e56670b52a
4
- data.tar.gz: 27462098cfe8fa41220eae304ad6626fd3ade431bcc30e27f2a0404a9d8accf3
3
+ metadata.gz: f55a52f271f4f056252876fd6510a0cb8915bd5e7708b07e31d63f34608d3361
4
+ data.tar.gz: 014a3956f990bb0e41dba46f3b0571df84df11ffc65fbe278beb98e501c885f0
5
5
  SHA512:
6
- metadata.gz: c7a0da2bf61dca3105234aaa66d40c42cc77df67cc70cbe480c120a0ef75159ff5cc6df16a038f0e0cd50b3a9d7ac20496101b1224cd6e1654e48b61d5bcb4d6
7
- data.tar.gz: 7dc39b64470ec1a03f43987d646b234b1791c10dd1928833e5149629b6784602e5dd346bbf3953b4ae55f64b38617f86b344d17102d2be4ca5cd676cab9de772
6
+ metadata.gz: b24fe1aa6c44427005a0b503667dff97f1b265841bd4ae2847b7600cb08c7657b7ff9e5f912a52d8409c656f16bf3de14b429f7c96043016bb49c267091745ce
7
+ data.tar.gz: d52df68d7df12c5c3d33f74ccc637b47675020671c71bd0b3ae8c7ef6909d1bc3544a282c79490e6e551df3972a9100a8de4cffb374f55b6cb610d5ab4493787
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'oci8'
3
+ require 'avmtrf1/oracle/oci8'
4
4
 
5
5
  module Avmtrf1
6
6
  module Oracle
@@ -9,7 +9,6 @@ module Avmtrf1
9
9
  DEFAULT_PORT = 1521
10
10
 
11
11
  def initialize(connection_string)
12
- ENV['NLS_LANG'] = 'BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1'
13
12
  @connection = OCI8.new(connection_string)
14
13
  end
15
14
 
@@ -0,0 +1,25 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Avmtrf1
4
+ module Oracle
5
+ module Oci8
6
+ NLS_LANG_DEFAULT_VALUE = 'BRAZILIAN PORTUGUESE_BRAZIL.WE8ISO8859P1'
7
+ NLS_LANG_ENVIRONMENT_KEY = 'NLS_LANG'
8
+
9
+ class << self
10
+ def require_lib
11
+ nls_lang_set
12
+ require 'oci8'
13
+ end
14
+
15
+ def nls_lang_set
16
+ return if ENV.key?(NLS_LANG_ENVIRONMENT_KEY)
17
+
18
+ ENV[NLS_LANG_ENVIRONMENT_KEY] = NLS_LANG_DEFAULT_VALUE
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
24
+
25
+ ::Avmtrf1::Oracle::Oci8.require_lib
@@ -2,12 +2,13 @@
2
2
 
3
3
  require 'avmtrf1/oracle/connection/base.rb'
4
4
  require 'avmtrf1/oracle/connection/string_builder.rb'
5
- require 'avmtrf1/tools/runner/oracle/source_get.rb'
5
+ require 'eac_ruby_utils/core_ext'
6
6
 
7
7
  module Avmtrf1
8
8
  module Tools
9
9
  class Runner < ::EacRubyUtils::Console::DocoptRunner
10
10
  class Oracle < ::EacRubyUtils::Console::DocoptRunner
11
+ require_sub __FILE__
11
12
  include ::EacRubyUtils::Console::Speaker
12
13
 
13
14
  DOC = <<~DOCOPT
@@ -0,0 +1,75 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'eac_cli/default_runner'
4
+ require 'eac_ruby_utils/console/docopt_runner'
5
+ require 'eac_ruby_utils/console/speaker'
6
+
7
+ module Avmtrf1
8
+ module Tools
9
+ class Runner < ::EacRubyUtils::Console::DocoptRunner
10
+ class Oracle < ::EacRubyUtils::Console::DocoptRunner
11
+ class Query < ::EacRubyUtils::Console::DocoptRunner
12
+ include ::EacCli::DefaultRunner
13
+
14
+ DEFAULT_COLUMN_SEPARATOR = "\t"
15
+ DEFAULT_ROW_SEPARATOR = "\n"
16
+
17
+ runner_definition do
18
+ desc 'Executa queries Oracle.'
19
+ arg_opt '-c', '--column-sep', 'Separator de colunas.'
20
+ bool_opt '-C', '--columns', 'Imprime o nome das colunas.'
21
+ arg_opt '-r', '--row-sep', 'Separator de registros.'
22
+ bool_opt '-t', '--count', 'Imprime a quantidade de registros retornados.'
23
+ pos_arg 'sql'
24
+ end
25
+
26
+ attr_reader :count
27
+
28
+ def run
29
+ print_header
30
+ print_body
31
+ print_footer
32
+ end
33
+
34
+ def print_header
35
+ return unless options.fetch('--columns')
36
+
37
+ print_row(cursor.column_metadata.map(&:name))
38
+ end
39
+
40
+ def print_body
41
+ @count = 0
42
+ cursor.fetch do |row|
43
+ print_row(row)
44
+ @count += 1
45
+ end
46
+ end
47
+
48
+ def print_footer
49
+ return unless options.fetch('--count')
50
+
51
+ print_row(["Count: #{count}"])
52
+ end
53
+
54
+ private
55
+
56
+ def column_separator_uncached
57
+ options.fetch('--column-sep').if_present(DEFAULT_COLUMN_SEPARATOR)
58
+ end
59
+
60
+ def cursor_uncached
61
+ context(:connection).query(options.fetch('<sql>'))
62
+ end
63
+
64
+ def print_row(array)
65
+ out array.join(column_separator) + row_separator
66
+ end
67
+
68
+ def row_separator_uncached
69
+ options.fetch('--row-sep').if_present(DEFAULT_ROW_SEPARATOR)
70
+ end
71
+ end
72
+ end
73
+ end
74
+ end
75
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Avmtrf1
4
4
  module Tools
5
- VERSION = '0.23.0'
5
+ VERSION = '0.24.0'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: avmtrf1-tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.23.0
4
+ version: 0.24.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Eduardo H. Bogoni
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-03-26 00:00:00.000000000 Z
11
+ date: 2020-04-14 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aranha-parsers
@@ -78,6 +78,20 @@ dependencies:
78
78
  - - "~>"
79
79
  - !ruby/object:Gem::Version
80
80
  version: 0.9.10
81
+ - !ruby/object:Gem::Dependency
82
+ name: eac_cli
83
+ requirement: !ruby/object:Gem::Requirement
84
+ requirements:
85
+ - - "~>"
86
+ - !ruby/object:Gem::Version
87
+ version: '0.2'
88
+ type: :runtime
89
+ prerelease: false
90
+ version_requirements: !ruby/object:Gem::Requirement
91
+ requirements:
92
+ - - "~>"
93
+ - !ruby/object:Gem::Version
94
+ version: '0.2'
81
95
  - !ruby/object:Gem::Dependency
82
96
  name: eac_launcher
83
97
  requirement: !ruby/object:Gem::Requirement
@@ -104,14 +118,14 @@ dependencies:
104
118
  requirements:
105
119
  - - "~>"
106
120
  - !ruby/object:Gem::Version
107
- version: '0.20'
121
+ version: '0.24'
108
122
  type: :runtime
109
123
  prerelease: false
110
124
  version_requirements: !ruby/object:Gem::Requirement
111
125
  requirements:
112
126
  - - "~>"
113
127
  - !ruby/object:Gem::Version
114
- version: '0.20'
128
+ version: '0.24'
115
129
  - !ruby/object:Gem::Dependency
116
130
  name: filesize
117
131
  requirement: !ruby/object:Gem::Requirement
@@ -169,61 +183,33 @@ dependencies:
169
183
  - !ruby/object:Gem::Version
170
184
  version: '1.1'
171
185
  - !ruby/object:Gem::Dependency
172
- name: rspec
173
- requirement: !ruby/object:Gem::Requirement
174
- requirements:
175
- - - "~>"
176
- - !ruby/object:Gem::Version
177
- version: '3.8'
178
- type: :development
179
- prerelease: false
180
- version_requirements: !ruby/object:Gem::Requirement
181
- requirements:
182
- - - "~>"
183
- - !ruby/object:Gem::Version
184
- version: '3.8'
185
- - !ruby/object:Gem::Dependency
186
- name: rubocop
186
+ name: ruby-oci8
187
187
  requirement: !ruby/object:Gem::Requirement
188
188
  requirements:
189
- - - "~>"
189
+ - - ">="
190
190
  - !ruby/object:Gem::Version
191
- version: 0.80.1
192
- type: :development
191
+ version: '0'
192
+ type: :runtime
193
193
  prerelease: false
194
194
  version_requirements: !ruby/object:Gem::Requirement
195
195
  requirements:
196
- - - "~>"
196
+ - - ">="
197
197
  - !ruby/object:Gem::Version
198
- version: 0.80.1
198
+ version: '0'
199
199
  - !ruby/object:Gem::Dependency
200
- name: rubocop-rspec
200
+ name: eac_ruby_gem_support
201
201
  requirement: !ruby/object:Gem::Requirement
202
202
  requirements:
203
203
  - - "~>"
204
204
  - !ruby/object:Gem::Version
205
- version: 1.38.1
205
+ version: '0.1'
206
206
  type: :development
207
207
  prerelease: false
208
208
  version_requirements: !ruby/object:Gem::Requirement
209
209
  requirements:
210
210
  - - "~>"
211
211
  - !ruby/object:Gem::Version
212
- version: 1.38.1
213
- - !ruby/object:Gem::Dependency
214
- name: ruby-oci8
215
- requirement: !ruby/object:Gem::Requirement
216
- requirements:
217
- - - ">="
218
- - !ruby/object:Gem::Version
219
- version: '0'
220
- type: :runtime
221
- prerelease: false
222
- version_requirements: !ruby/object:Gem::Requirement
223
- requirements:
224
- - - ">="
225
- - !ruby/object:Gem::Version
226
- version: '0'
212
+ version: '0.1'
227
213
  description:
228
214
  email:
229
215
  executables:
@@ -304,6 +290,7 @@ files:
304
290
  - lib/avmtrf1/oracle/connection.rb
305
291
  - lib/avmtrf1/oracle/connection/base.rb
306
292
  - lib/avmtrf1/oracle/connection/string_builder.rb
293
+ - lib/avmtrf1/oracle/oci8.rb
307
294
  - lib/avmtrf1/patches.rb
308
295
  - lib/avmtrf1/patches/avm/git/issue/complete.rb
309
296
  - lib/avmtrf1/patches/eac_launcher/git/base.rb
@@ -341,6 +328,7 @@ files:
341
328
  - lib/avmtrf1/tools/runner/git/issues_check.rb
342
329
  - lib/avmtrf1/tools/runner/git/push_large.rb
343
330
  - lib/avmtrf1/tools/runner/oracle.rb
331
+ - lib/avmtrf1/tools/runner/oracle/query.rb
344
332
  - lib/avmtrf1/tools/runner/oracle/source_get.rb
345
333
  - lib/avmtrf1/tools/runner/php.rb
346
334
  - lib/avmtrf1/tools/runner/php/docker.rb