sdbport 0.4.0 → 0.4.1

Sign up to get free protection for your applications and to get access to all the features.
data/.rvmrc CHANGED
@@ -1 +1 @@
1
- rvm use ruby-1.9.3-p125@sdbport --create
1
+ rvm use ruby-1.9.3-p286@sdbport --create
@@ -1,3 +1,4 @@
1
1
  rvm:
2
2
  - 1.9.3
3
+ - 1.9.2
3
4
  script: "rake spec"
data/CHANGELOG CHANGED
@@ -1,3 +1,7 @@
1
+ ## 0.4.1:
2
+
3
+ * Fixed bug where empty values were exported incorrectly
4
+
1
5
  ## 0.4.0:
2
6
 
3
7
  * Added sequential export
@@ -57,7 +57,19 @@ module Sdbport
57
57
  end
58
58
 
59
59
  def convert_to_string(item)
60
- item.to_json
60
+ id = item.first
61
+ attributes = format_attributes item.last
62
+
63
+ [id, attributes].to_json
64
+ end
65
+
66
+ # Converts nil values to empty strings
67
+ def format_attributes(data)
68
+ data.each do |k, v|
69
+ data[k] = v.map { |x| x.nil? ? "" : x }
70
+ end
71
+
72
+ data
61
73
  end
62
74
 
63
75
  end
@@ -1,3 +1,3 @@
1
1
  module Sdbport
2
- VERSION = "0.4.0"
2
+ VERSION = "0.4.1"
3
3
  end
@@ -17,8 +17,8 @@ Gem::Specification.new do |gem|
17
17
  gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
18
18
  gem.require_paths = ["lib"]
19
19
 
20
- gem.add_development_dependency "rspec"
20
+ gem.add_development_dependency "rspec", "~> 2.11.0"
21
21
 
22
- gem.add_runtime_dependency "fog"
23
- gem.add_runtime_dependency "trollop"
22
+ gem.add_runtime_dependency "fog", "= 1.6.0"
23
+ gem.add_runtime_dependency "trollop", "= 2.0"
24
24
  end
@@ -30,6 +30,21 @@ describe Sdbport do
30
30
  @export.export('/tmp/file').should be_true
31
31
  end
32
32
 
33
+ it "should convert null entries to empty stirngs" do
34
+ File.should_receive(:open).with('/tmp/file', 'w').
35
+ and_return @file_mock
36
+ data = { 'item1' =>
37
+ { 'attribute' => [ nil, 'test' ] }
38
+ }
39
+ @sdb_mock.should_receive(:select_and_follow_tokens).
40
+ with('select * from `name`').
41
+ and_return data
42
+ @file_mock.should_receive(:write).with("[\"item1\",{\"attribute\":[\"\",\"test\"]}]")
43
+ @file_mock.should_receive(:write).with("\n")
44
+ @file_mock.should_receive(:close).and_return nil
45
+ @export.export('/tmp/file').should be_true
46
+ end
47
+
33
48
  it "should export the given domain sequentially to disk" do
34
49
  File.should_receive(:open).with('/tmp/file', 'w').
35
50
  and_return @file_mock
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sdbport
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,41 +9,41 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-30 00:00:00.000000000 Z
12
+ date: 2013-01-13 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
- requirement: &70336407307380 !ruby/object:Gem::Requirement
16
+ requirement: &70181134119620 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 2.11.0
22
22
  type: :development
23
23
  prerelease: false
24
- version_requirements: *70336407307380
24
+ version_requirements: *70181134119620
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: fog
27
- requirement: &70336407306100 !ruby/object:Gem::Requirement
27
+ requirement: &70181134123320 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
- - - ! '>='
30
+ - - =
31
31
  - !ruby/object:Gem::Version
32
- version: '0'
32
+ version: 1.6.0
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70336407306100
35
+ version_requirements: *70181134123320
36
36
  - !ruby/object:Gem::Dependency
37
37
  name: trollop
38
- requirement: &70336407304460 !ruby/object:Gem::Requirement
38
+ requirement: &70181134126100 !ruby/object:Gem::Requirement
39
39
  none: false
40
40
  requirements:
41
- - - ! '>='
41
+ - - =
42
42
  - !ruby/object:Gem::Version
43
- version: '0'
43
+ version: '2.0'
44
44
  type: :runtime
45
45
  prerelease: false
46
- version_requirements: *70336407304460
46
+ version_requirements: *70181134126100
47
47
  description: Import and export AWS SimpleDB domains.
48
48
  email:
49
49
  - brett@weav.net
@@ -106,7 +106,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
106
106
  version: '0'
107
107
  segments:
108
108
  - 0
109
- hash: 3976557266021725498
109
+ hash: -3598079466066618694
110
110
  required_rubygems_version: !ruby/object:Gem::Requirement
111
111
  none: false
112
112
  requirements:
@@ -115,7 +115,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
115
115
  version: '0'
116
116
  segments:
117
117
  - 0
118
- hash: 3976557266021725498
118
+ hash: -3598079466066618694
119
119
  requirements: []
120
120
  rubyforge_project:
121
121
  rubygems_version: 1.8.16