forklift_etl 1.1.4 → 1.1.5

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.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- MTFiNTAwY2RlOGQxOTUzY2Y3N2RiNTg3Njg2ZDJiZDE3NTY3MGNmZg==
4
+ YWJmZWViNzNiMTljYzRmMDJjZmUyNDhlYWJhODU5ZTM5MmFkNmMwYg==
5
5
  data.tar.gz: !binary |-
6
- ZmQ2NTQwZjEyZGFhMzY5MmRjMzQyNzVkZTIxYTM4YzNmM2FmZTFiOA==
6
+ NDU1OTJlN2Q2MWU4ZDEyYTJhNzRiYWI0YmIzZjA5NzQ1NjVhODVmMg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- YTU5YzAyZDQ5NmI3YTVkMGZmZmY3Yjc0MTc0NjBhZDQzODkwMDI0NDhjMDdi
10
- YWM1ODkwNGI4NWVkZjA2MTlhOTkzNmE0MDY2MTFjMDk0ZDJhNWYyMTI3MzM3
11
- MmZjMjVkNTM5YTdmYzY1NTU3ZDkxZDE5MGIzN2M3ZjNmYWU4OWY=
9
+ OWRiM2QzNzVkYjE2OGM1Y2VmMmQxNWQyZGEyYmMyM2Q1YmUyYTI3NmZkZjI1
10
+ MzExMzA4M2EwY2IwMWIyNTI1NzI0YTMzZDU4MjE4ZWEwYzY2Y2U4YzgwYmEz
11
+ NjM3MDI3YjVjMjE2OWI0ZmQwY2FmMzI2NjQzZTBmYmNkZjFmNzY=
12
12
  data.tar.gz: !binary |-
13
- MTI5YzU5YWQ4MjEyNmFhZDE1NTMyYjlkOTE2ZTUzODNhMzhmODQ5OTQyNGNm
14
- OGJiZjJkZTgyNTc2ZGI0M2QyNzA5NDQxMzg5MjY4MWRiZTFlZTgzMTk0Nzhj
15
- YzM4NmQxNzg5OGYxMGE5Y2JlYzVmYjg5NWI5MGQ0YzdkZTdhM2U=
13
+ ODJlMGI3ODUwZWQ2M2VmYzljODMyNmQzZThjZjUzMDY2NWVhZDcxNGQwYWIy
14
+ MDFkNDZiMjg2MmRiNTIyOThkNDQxYWM4MjNjOGEyZDVjODA4N2YxMDA5NGY2
15
+ ZmYzZmU4YzljYjA5YjJkYWUxNDcwMGM0NDIyNjA3MDVlZWFkYjE=
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- forklift_etl (1.1.3)
4
+ forklift_etl (1.1.5)
5
5
  activesupport (~> 4.0, >= 4.0.0)
6
6
  elasticsearch (~> 1.0, >= 1.0.0)
7
7
  lumberjack (~> 1.0, >= 1.0.0)
@@ -11,7 +11,7 @@ PATH
11
11
  GEM
12
12
  remote: https://rubygems.org/
13
13
  specs:
14
- activesupport (4.1.1)
14
+ activesupport (4.1.2)
15
15
  i18n (~> 0.6, >= 0.6.9)
16
16
  json (~> 1.7, >= 1.7.7)
17
17
  minitest (~> 5.1)
@@ -20,12 +20,12 @@ GEM
20
20
  addressable (2.3.6)
21
21
  awesome_print (1.2.0)
22
22
  diff-lcs (1.2.5)
23
- elasticsearch (1.0.2)
24
- elasticsearch-api (= 1.0.2)
25
- elasticsearch-transport (= 1.0.2)
26
- elasticsearch-api (1.0.2)
23
+ elasticsearch (1.0.4)
24
+ elasticsearch-api (= 1.0.4)
25
+ elasticsearch-transport (= 1.0.4)
26
+ elasticsearch-api (1.0.4)
27
27
  multi_json
28
- elasticsearch-transport (1.0.2)
28
+ elasticsearch-transport (1.0.4)
29
29
  faraday
30
30
  multi_json
31
31
  email_spec (1.5.0)
@@ -37,7 +37,7 @@ GEM
37
37
  json (1.8.1)
38
38
  launchy (2.4.2)
39
39
  addressable (~> 2.3)
40
- lumberjack (1.0.7)
40
+ lumberjack (1.0.9)
41
41
  mail (2.5.4)
42
42
  mime-types (~> 1.16)
43
43
  treetop (~> 1.4.8)
@@ -107,6 +107,7 @@ module Forklift
107
107
  def sql_type(v)
108
108
  return "bigint(20)" if v.class == Fixnum
109
109
  return "float" if v.class == Float
110
+ return "float" if v.class == BigDecimal
110
111
  return "date" if v.class == Date
111
112
  return "datetime" if v.class == Time
112
113
  return "datetime" if v.class == DateTime
@@ -230,7 +231,7 @@ module Forklift
230
231
  if !value.nil?
231
232
  sql_type = sql_type(value)
232
233
  alter_sql = "ALTER TABLE `#{database}`.`#{table}` CHANGE `#{row[:Field]}` `#{row[:Field]}` #{sql_type};"
233
- puts alter_sql
234
+ forklift.logger.log alter_sql
234
235
  q(alter_sql)
235
236
  end
236
237
 
@@ -269,7 +270,7 @@ module Forklift
269
270
  part = "\"#{s}\""
270
271
  elsif( [::Fixnum].include?(v.class) )
271
272
  part = v
272
- elsif( [::Float].include?(v.class) )
273
+ elsif( [::Float, ::BigDecimal].include?(v.class) )
273
274
  part = v.to_f
274
275
  end
275
276
  a << part
@@ -1,3 +1,3 @@
1
1
  module Forklift
2
- VERSION = "1.1.4"
2
+ VERSION = "1.1.5"
3
3
  end
@@ -106,9 +106,9 @@ describe 'mysql' do
106
106
 
107
107
  it "can lazy-create a table without primary keys provided" do
108
108
  data = [
109
- {thing: 'stuff a', updated_at: Time.new},
110
- {thing: 'stuff b', updated_at: Time.new},
111
- {thing: 'stuff c', updated_at: Time.new},
109
+ {thing: 'stuff a', number: 1.123, updated_at: Time.new},
110
+ {thing: 'stuff b', number: 1.123, updated_at: Time.new},
111
+ {thing: 'stuff c', number: 1.123, updated_at: Time.new},
112
112
  ]
113
113
  table = "new_table"
114
114
  plan = SpecPlan.new
@@ -126,11 +126,13 @@ describe 'mysql' do
126
126
  expect(row["Type"]).to eql "bigint(20)"
127
127
  when "thing"
128
128
  expect(row["Type"]).to eql "text"
129
+ when "number"
130
+ expect(row["Type"]).to eql "float"
129
131
  when "updated_at"
130
132
  expect(row["Type"]).to eql "datetime"
131
133
  end
132
134
  end
133
- expect(cols).to eql ['id', 'thing', 'updated_at']
135
+ expect(cols).to eql ['id', 'thing', 'number', 'updated_at']
134
136
  end
135
137
 
136
138
  it "can will seek further for null-ish values" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: forklift_etl
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Evan Tahler
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-06-27 00:00:00.000000000 Z
11
+ date: 2014-06-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport