jdbc_helpers 0.0.4-java → 0.0.6-java

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