jdbc_helpers 0.0.4-java → 0.0.6-java

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/jdbc_helpers.rb +28 -21
  3. metadata +3 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: da31e2a345c9a088a11b6f3ebb6d7cb1615e68de
4
- data.tar.gz: 9132e05e016094c28a6390d3120f060057cabd79
3
+ metadata.gz: d7f85827e1c234dcb88a62015b2f2de4dea9c06c
4
+ data.tar.gz: e99016387289fb2ac8c9ad5abf51c7afafa6a3e8
5
5
  SHA512:
6
- metadata.gz: 1cbdbe86780d684d11152ab64e0ce1023e4ed53b9d247d69e12798a644088bf3e9a28a3e9d6dd913e86b1895e37790efccd744f9062e57723e4260dd093bf8dd
7
- data.tar.gz: ace30512f1a002d7f2846031651b5e433c970c03f63900e8bb253977d19e6116717ec8f3a3f192acff3a344e26571117717bb8b29461eed26787b0241562edb1
6
+ metadata.gz: 2b9b5a0cf7fbf224919c699a578aa209c1d96fe20775a9525bb35e5234c9af800711ffa6e8c586b9f802b0128fd12af797545b5bbc566812297055335a62d6c0
7
+ data.tar.gz: 8c96d26e289abed594d19372e8bf2f5405958109295ac3e0aa4fa1be59aeb6358ad5824c2c0c0eacdd8cd077247713a5fc1ad0b4b1914f905babd8adf894ada3
data/lib/jdbc_helpers.rb CHANGED
@@ -19,10 +19,10 @@ module JDBCHelpers
19
19
  '<removed>'
20
20
  ).gsub(/\s+/,' ')
21
21
  end
22
-
22
+
23
23
  # Array of classes that should be casted to Strings
24
24
  # @return [Array<Class>]
25
- def convert_to_string_classes
25
+ def convert_to_ruby_time_classes
26
26
  [Java::JavaSql::Timestamp, Java::JavaSql::Date]
27
27
  end
28
28
  end
@@ -30,11 +30,11 @@ module JDBCHelpers
30
30
  # Creates a discreet JDBC connection and makes it available via connection attribute
31
31
  class ConnectionFactory < JDBCHelpers::Base
32
32
  attr_accessor :connection
33
-
33
+
34
34
  # @param [String] jdbc_url
35
35
  # @param [String] db_user
36
36
  # @param [String] db_pass
37
- # @param [Logger] logger object otherwise will default to new Logger
37
+ # @param [Logger] logger object otherwise will default to new Logger
38
38
  def initialize(jdbc_url, db_user, db_pass, logger = nil)
39
39
  @logger = logger ? logger : Logger.new(STDOUT)
40
40
  @logger.info("connecting to #{jdbc_url} as user #{db_user}...")
@@ -55,7 +55,7 @@ module JDBCHelpers
55
55
 
56
56
  # @param [Object] db_connect active connection against which to execute statement
57
57
  # @param [String] statement SQL statement text
58
- # @param [Logger] logger object otherwise will default to new Logger
58
+ # @param [Logger] logger object otherwise will default to new Logger
59
59
  def initialize(db_connect, statement, logger = nil)
60
60
  @logger = logger ? logger : Logger.new(STDOUT)
61
61
  stmt = db_connect.create_statement
@@ -72,10 +72,10 @@ module JDBCHelpers
72
72
  class SingleValueFromQuery < JDBCHelpers::Base
73
73
  # Value of the first field from the first row. class will vary.
74
74
  attr_accessor :result
75
-
75
+
76
76
  # @param [Object] db_connect active connection against which to execute statement
77
77
  # @param [String] statement SQL statement text
78
- # @param [Logger] logger object otherwise will default to new Logger
78
+ # @param [Logger] logger object otherwise will default to new Logger
79
79
  def initialize(db_connect, statement, logger = nil)
80
80
  @logger = logger ? logger : Logger.new(STDOUT)
81
81
  stmt = db_connect.create_statement
@@ -91,7 +91,7 @@ module JDBCHelpers
91
91
 
92
92
  #the below simplifies things... especially comparisons
93
93
  #if you don't like it you can write your own damn helper!
94
- value = value.to_s if convert_to_string_classes.include?(value.class)
94
+ value = Time.at(value.get_time / 1000).utc if convert_to_ruby_time_classes.include?(value.class)
95
95
  @result = value
96
96
  end
97
97
  end
@@ -100,10 +100,10 @@ module JDBCHelpers
100
100
  class QueryResultsToArray < JDBCHelpers::Base
101
101
  # Contains the array of hashes returned from the select query
102
102
  attr_accessor :results
103
-
103
+
104
104
  # @param [Object] db_connect active connection against which to execute statement
105
105
  # @param [String] statement SQL statement text
106
- # @param [Logger] logger object otherwise will default to new Logger
106
+ # @param [Logger] logger object otherwise will default to new Logger
107
107
  def initialize(db_connect, statement, logger = nil)
108
108
  @logger = logger ? logger : Logger.new(STDOUT)
109
109
  stmt = db_connect.create_statement
@@ -133,8 +133,8 @@ module JDBCHelpers
133
133
  # add each row to r
134
134
  (1..cols).each do |c|
135
135
  r[meta.get_column_name(c)] = rs.getObject(c)
136
- if convert_to_string_classes.include?(r[meta.get_column_name(c)].class)
137
- r[meta.get_column_name(c)] = r[meta.get_column_name(c)].to_s
136
+ if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
137
+ r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
138
138
  end
139
139
  end # each cols
140
140
 
@@ -154,7 +154,7 @@ module JDBCHelpers
154
154
  # @param [Object] db_connect active connection against which to execute statement
155
155
  # @param [String] statement SQL statement text
156
156
  # @param [String] key_field SQL result set field containing the key to be used in the top level of hash
157
- # @param [Logger] logger object otherwise will default to new Logger
157
+ # @param [Logger] logger object otherwise will default to new Logger
158
158
  def initialize(db_connect, statement, key_field, logger = nil)
159
159
  @logger = logger ? logger : Logger.new(STDOUT)
160
160
  stmt = db_connect.create_statement
@@ -196,8 +196,8 @@ module JDBCHelpers
196
196
  # add each row to r
197
197
  (1..cols).each do |c|
198
198
  r[meta.get_column_name(c)] = rs.getObject(c)
199
- if convert_to_string_classes.include?(r[meta.get_column_name(c)].class)
200
- r[meta.get_column_name(c)] = r[meta.get_column_name(c)].to_s
199
+ if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
200
+ r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
201
201
  end
202
202
  end # each cols
203
203
 
@@ -221,7 +221,7 @@ module JDBCHelpers
221
221
  # @param [String] statement SQL statement text
222
222
  # @param [IO] file_object IO object to receive the formatted results
223
223
  # @param [proc] formatter proc to handle the actual formatting, defaults to JSON if nil
224
- # @param [Logger] logger object otherwise will default to new Logger
224
+ # @param [Logger] logger object otherwise will default to new Logger
225
225
  def initialize(db_connect, statement, file_object, formatter = nil, logger = nil)
226
226
  @logger = logger ? logger : Logger.new(STDOUT)
227
227
  stmt = db_connect.create_statement
@@ -246,7 +246,7 @@ module JDBCHelpers
246
246
  # get basic metadata for the recordset
247
247
  meta = rs.getMetaData
248
248
  cols = meta.getColumnCount.to_i
249
-
249
+
250
250
  record_count = 0
251
251
  # loop through the records to add them into hash
252
252
  while rs.next do
@@ -257,8 +257,8 @@ module JDBCHelpers
257
257
  # add each row to r
258
258
  (1..cols).each do |c|
259
259
  r[meta.get_column_name(c)] = rs.getObject(c)
260
- if convert_to_string_classes.include?(r[meta.get_column_name(c)].class)
261
- r[meta.get_column_name(c)] = r[meta.get_column_name(c)].to_s
260
+ if convert_to_ruby_time_classes.include?(r[meta.get_column_name(c)].class)
261
+ r[meta.get_column_name(c)] = Time.at(r[meta.get_column_name(c)].get_time / 1000).utc
262
262
  end
263
263
  end # each cols
264
264
 
@@ -268,11 +268,18 @@ module JDBCHelpers
268
268
  end # while
269
269
  return record_count
270
270
  end
271
-
271
+
272
272
  # proc must handle two inputs, |file_object, record hash|
273
273
  # @return [proc] returns proc to output json
274
274
  def json_formatter
275
- Proc.new { |f,h| f.puts h.to_json }
275
+ Proc.new do |f,h|
276
+ h.keys.each do |k|
277
+ if h[k].class == Float
278
+ h[k] = nil if (h[k].nan? or h[k].infinite?)
279
+ end
280
+ end
281
+ f.puts h.to_json
282
+ end
276
283
  end
277
284
  end # class
278
285
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jdbc_helpers
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.4
4
+ version: 0.0.6
5
5
  platform: java
6
6
  authors:
7
7
  - jeremy winters
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-07-01 00:00:00.000000000 Z
11
+ date: 2017-05-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -65,7 +65,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
65
65
  version: '0'
66
66
  requirements: []
67
67
  rubyforge_project:
68
- rubygems_version: 2.6.4
68
+ rubygems_version: 2.6.6
69
69
  signing_key:
70
70
  specification_version: 4
71
71
  summary: helpers for jdbc interaction