lib/arrow/timestamp-array-builder.rb in red-arrow-0.14.1 vs lib/arrow/timestamp-array-builder.rb in red-arrow-0.15.0
- old
+ new
@@ -15,20 +15,39 @@
# specific language governing permissions and limitations
# under the License.
module Arrow
class TimestampArrayBuilder
+ class << self
+ def build(unit_or_data_type, values)
+ builder = new(unit_or_data_type)
+ builder.build(values)
+ end
+ end
+
+ alias_method :initialize_raw, :initialize
+ def initialize(unit_or_data_type)
+ case unit_or_data_type
+ when DataType
+ data_type = unit_or_data_type
+ else
+ unit = unit_or_data_type
+ data_type = TimestampDataType.new(unit)
+ end
+ initialize_raw(data_type)
+ end
+
private
def unit_id
@unit_id ||= value_data_type.unit.nick.to_sym
end
def convert_to_arrow_value(value)
if value.respond_to?(:to_time) and not value.is_a?(Time)
value = value.to_time
end
- if value.is_a?(Time)
+ if value.is_a?(::Time)
case unit_id
when :second
value.to_i
when :milli
value.to_i * 1_000 + value.usec / 1_000