hakoy 0.0.4 → 0.0.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 +4 -4
- data/hakoy.gemspec +1 -0
- data/lib/hakoy.rb +12 -2
- data/lib/hakoy/timestamp_normalizer.rb +14 -0
- data/lib/hakoy/version.rb +1 -1
- data/spec/fixtures/orders.csv +1 -1
- metadata +17 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 66093068425641161df6e63fe52508d892ee9459
|
4
|
+
data.tar.gz: fd91e5eae9c6b73574ea3d01ac4a509c920f8e4b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 18e01860c8cf776f4318b66daf891ac552bd11dae05dc73375b7448f77fbe76b61d59769b6937276c4d2a3f66b511d724087ebe9dafa364880b9a048e4b0c025
|
7
|
+
data.tar.gz: 3347a8a35c6209485eda48b46542d034b0b1b25c6335207c10f854ad532e33ecfb1dbed14f2eaef42635f6468083801e80abab143e54b93e41668c0f336f8184
|
data/hakoy.gemspec
CHANGED
@@ -18,6 +18,7 @@ Gem::Specification.new do |spec|
|
|
18
18
|
spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
|
19
19
|
spec.require_paths = ["lib"]
|
20
20
|
|
21
|
+
spec.add_dependency "chronic", "~> 0.10.2"
|
21
22
|
spec.add_development_dependency "bundler", "~> 1.6"
|
22
23
|
spec.add_development_dependency "rake"
|
23
24
|
spec.add_development_dependency "rspec", "~> 2.14.1"
|
data/lib/hakoy.rb
CHANGED
@@ -1,5 +1,6 @@
|
|
1
1
|
require 'fileutils'
|
2
2
|
require 'csv'
|
3
|
+
require 'chronic'
|
3
4
|
|
4
5
|
require_relative "hakoy/version"
|
5
6
|
require_relative "hakoy/ext/hash"
|
@@ -7,6 +8,7 @@ require_relative "hakoy/ext/array"
|
|
7
8
|
require_relative "hakoy/append_strategy"
|
8
9
|
require_relative "hakoy/file_iterator"
|
9
10
|
require_relative "hakoy/timestamp_path"
|
11
|
+
require_relative "hakoy/timestamp_normalizer"
|
10
12
|
require_relative "hakoy/row_normalizer"
|
11
13
|
require_relative "hakoy/file_appender"
|
12
14
|
|
@@ -31,6 +33,9 @@ module Hakoy
|
|
31
33
|
@row_normalizer = RowNormalizer.new(
|
32
34
|
required_keys: @required_keys_mapping.values, uid_key: @uid_key
|
33
35
|
)
|
36
|
+
@timestamp_normalizer = TimestampNormalizer.new(
|
37
|
+
key: @timestamp_key
|
38
|
+
)
|
34
39
|
end
|
35
40
|
|
36
41
|
def store(file)
|
@@ -41,8 +46,9 @@ module Hakoy
|
|
41
46
|
private
|
42
47
|
|
43
48
|
def store_row(row_hash)
|
44
|
-
|
45
|
-
|
49
|
+
row_hash = normalize_timestamp(row_hash)
|
50
|
+
file_path = build_file_path(row_hash)
|
51
|
+
normalized_row_hash = normalize_row_hash(row_hash)
|
46
52
|
|
47
53
|
append_row_to_file(file_path, normalized_row_hash)
|
48
54
|
end
|
@@ -57,6 +63,10 @@ module Hakoy
|
|
57
63
|
@row_normalizer.normalize(row_hash)
|
58
64
|
end
|
59
65
|
|
66
|
+
def normalize_timestamp(row_hash)
|
67
|
+
@timestamp_normalizer.(row_hash)
|
68
|
+
end
|
69
|
+
|
60
70
|
def append_row_to_file(file_path, row_hash)
|
61
71
|
@append_strategy.append_row_to_file file_path, row_hash
|
62
72
|
end
|
data/lib/hakoy/version.rb
CHANGED
data/spec/fixtures/orders.csv
CHANGED
@@ -2,5 +2,5 @@ Name,Email,Financial Status,Paid at,Fulfillment Status,Fulfilled at,Accepts Mark
|
|
2
2
|
#1002,he9lin@gmail.com,authorized,,pending,,yes,USD,19.99,10.00,0.00,29.99,"",0.00,Standard Shipping,2014-05-28 11:49:25 -0400,1,Product D,19.99,"","",true,true,pending,Lin He,1155 W. Newmark ave.,1155 W. Newmark ave.,"",Heyook,Monterey Park,"=""91754""",CA,US,6267314363,Lin He,1155 W. Newmark ave.,1155 W. Newmark ave.,"",Heyook,Monterey Park,"=""91754""",CA,US,6267314363,"","",,(for testing) Bogus Gateway,c240759183.1,0.00,Smart Store,258641987,""
|
3
3
|
#1002,he9lin@gmail.com,"","","","","","","","","","","","","",2014-05-28 11:49:25 -0400,1,Product B,0.00,"","",true,true,pending,"","","","","","","","","","","","","","","","","","","","","","","","","","",Smart Store,"",""
|
4
4
|
#1002,he9lin@gmail.com,"","","","","","","","","","","","","",2014-05-28 11:49:25 -0400,2,Product C,0.00,"","",true,true,pending,"","","","","","","","","","","","","","","","","","","","","","","","","","",Smart Store,"",""
|
5
|
-
#1001,he9lin@gmail.com,authorized,,pending,,yes,USD,0.00,10.00,0.00,10.00,"",0.00,Standard Shipping,2014
|
5
|
+
#1001,he9lin@gmail.com,authorized,,pending,,yes,USD,0.00,10.00,0.00,10.00,"",0.00,Standard Shipping,2014/05/26 15:27:46 -0400,1,Product B,0.00,"","",true,true,pending,Lin He,1155 W. Newmark ave.,1155 W. Newmark ave.,"",Heyook,Monterey Park,"=""91754""",CA,US,6267314363,Lin He,1155 W. Newmark ave.,1155 W. Newmark ave.,"",Heyook,Monterey Park,"=""91754""",CA,US,6267314363,"","",,(for testing) Bogus Gateway,c240695859.1,0.00,Smart Store,258460403,""
|
6
6
|
#1001,he9lin@gmail.com,"","","","","","","","","","","","","",2014-05-26 15:27:46 -0400,2,Product C,0.00,"","",true,true,pending,"","","","","","","","","","","","","","","","","","","","","","","","","","",Smart Store,"",""
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hakoy
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lin He
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-08-
|
11
|
+
date: 2014-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: chronic
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 0.10.2
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 0.10.2
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -92,6 +106,7 @@ files:
|
|
92
106
|
- lib/hakoy/file_iterator.rb
|
93
107
|
- lib/hakoy/file_iterator/csv.rb
|
94
108
|
- lib/hakoy/row_normalizer.rb
|
109
|
+
- lib/hakoy/timestamp_normalizer.rb
|
95
110
|
- lib/hakoy/timestamp_path.rb
|
96
111
|
- lib/hakoy/version.rb
|
97
112
|
- spec/fixtures/order.json
|