avmtrf1-tools 0.23.0 → 0.24.0

Sign up to get free protection for your applications and to get access to all the features.
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