rbhive 0.2.91 → 0.2.92

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 (2) hide show
  1. data/lib/rbhive/schema_definition.rb +8 -1
  2. metadata +5 -5
@@ -63,7 +63,7 @@ module RBHive
63
63
 
64
64
  def coerce_column(column_name, value)
65
65
  type = column_type_map[column_name]
66
- return JSON.parse(value) if type.to_s =~ /^array/
66
+ return coerce_complex_value(value) if type.to_s =~ /^array/
67
67
  conversion_method = TYPES[type]
68
68
  conversion_method ? value.send(conversion_method) : value
69
69
  end
@@ -71,5 +71,12 @@ module RBHive
71
71
  def coerce_row_to_array(row)
72
72
  column_names.map { |n| row[n] }
73
73
  end
74
+
75
+ def coerce_complex_value(value)
76
+ return nil if value.nil?
77
+ return nil if value.length == 0
78
+ return nil if value == 'null'
79
+ JSON.parse(value)
80
+ end
74
81
  end
75
82
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rbhive
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.91
4
+ version: 0.2.92
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -13,7 +13,7 @@ date: 2010-12-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: thrift
16
- requirement: &70134082185400 !ruby/object:Gem::Requirement
16
+ requirement: &70222264187360 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: 0.4.0
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70134082185400
24
+ version_requirements: *70222264187360
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: json
27
- requirement: &70134082185000 !ruby/object:Gem::Requirement
27
+ requirement: &70222264186960 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70134082185000
35
+ version_requirements: *70222264186960
36
36
  description: Simple lib for executing Hive queries
37
37
  email: andy@forward.co.uk
38
38
  executables: []