cartodb-rb-client 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- data/cartodb-rb-client.gemspec +2 -2
- data/lib/cartodb-rb-client/cartodb/model/geo.rb +39 -12
- data/lib/cartodb-rb-client/cartodb/model/getters.rb +4 -5
- data/lib/cartodb-rb-client/cartodb/model/schema.rb +4 -5
- data/lib/cartodb-rb-client/cartodb/model/setters.rb +0 -1
- data/lib/cartodb-rb-client/version.rb +1 -1
- data/spec/fixtures/cassettes/CartoDB_model_data_methods/should_save_polygons_in_different_formats.yml +1264 -0
- data/spec/model/data_spec.rb +28 -1
- metadata +7 -5
data/spec/model/data_spec.rb
CHANGED
@@ -108,7 +108,7 @@ describe 'CartoDB model data methods', :vcr => true do
|
|
108
108
|
record.name.should be == 'Prueba'
|
109
109
|
record.description.should match /Lorem ipsum dolor sit amet, consectetur adipisicing elit/
|
110
110
|
record.latitude.should be == 40.582394
|
111
|
-
record.longitude.should be == -3.
|
111
|
+
record.longitude.should be == -3.994131
|
112
112
|
record.length.should be == '1243m'
|
113
113
|
|
114
114
|
losail_circuit.name.should be == 'Prueba'
|
@@ -127,4 +127,31 @@ describe 'CartoDB model data methods', :vcr => true do
|
|
127
127
|
|
128
128
|
end
|
129
129
|
|
130
|
+
it "should save polygons in different formats" do
|
131
|
+
polygon_json = '{"type":"MultiPolygon","coordinates":[[[[-3.779297,32.249974],[-8.525391,26.588527],[-2.021484,20.303418],[9.228516,23.563987],[6.943359,29.688053],[5.712891,32.546813]]]]}'
|
132
|
+
|
133
|
+
polygon_model = PolygonGeometryModel.new
|
134
|
+
polygon_model.the_geom = polygon_json
|
135
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
136
|
+
expect {
|
137
|
+
polygon_model.save.should be_true
|
138
|
+
}.to change{CartoDB::Connection.records('polygon_geometry_model').total_rows}.by(1)
|
139
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
140
|
+
|
141
|
+
polygon_model = PolygonGeometryModel.new(:the_geom => polygon_json)
|
142
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
143
|
+
expect {
|
144
|
+
polygon_model.save.should be_true
|
145
|
+
}.to change{CartoDB::Connection.records('polygon_geometry_model').total_rows}.by(1)
|
146
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
147
|
+
|
148
|
+
polygon_model = PolygonGeometryModel.new(:the_geom => ::JSON.parse(polygon_json))
|
149
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
150
|
+
expect {
|
151
|
+
polygon_model.save.should be_true
|
152
|
+
}.to change{CartoDB::Connection.records('polygon_geometry_model').total_rows}.by(1)
|
153
|
+
polygon_model.the_geom.should eql(RGeo::GeoJSON.decode(polygon_json, :json_parser => :json, :geo_factory => RGeo::Geographic.spherical_factory(:srid => 4326)))
|
154
|
+
|
155
|
+
end
|
156
|
+
|
130
157
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: cartodb-rb-client
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 4
|
9
|
-
-
|
10
|
-
version: 0.4.
|
9
|
+
- 1
|
10
|
+
version: 0.4.1
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Fernando Espinosa
|
@@ -110,7 +110,7 @@ dependencies:
|
|
110
110
|
requirement: &id006 !ruby/object:Gem::Requirement
|
111
111
|
none: false
|
112
112
|
requirements:
|
113
|
-
- - "
|
113
|
+
- - ">="
|
114
114
|
- !ruby/object:Gem::Version
|
115
115
|
hash: 23
|
116
116
|
segments:
|
@@ -126,7 +126,7 @@ dependencies:
|
|
126
126
|
requirement: &id007 !ruby/object:Gem::Requirement
|
127
127
|
none: false
|
128
128
|
requirements:
|
129
|
-
- - "
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
hash: 21
|
132
132
|
segments:
|
@@ -246,6 +246,7 @@ files:
|
|
246
246
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_initialize_attributes_of_the_model_without_persisting_them.yml
|
247
247
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_persist_into_cartodb_using_the_save_method.yml
|
248
248
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_persist_into_cartodb_using_the_static_create_method.yml
|
249
|
+
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_save_polygons_in_different_formats.yml
|
249
250
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_update_an_existing_record.yml
|
250
251
|
- spec/fixtures/cassettes/CartoDB_model_metadata_methods/should_add_more_columns_if_the_table_previously_exists.yml
|
251
252
|
- spec/fixtures/cassettes/CartoDB_model_metadata_methods/should_contain_an_array_of_columns.yml
|
@@ -358,6 +359,7 @@ test_files:
|
|
358
359
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_initialize_attributes_of_the_model_without_persisting_them.yml
|
359
360
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_persist_into_cartodb_using_the_save_method.yml
|
360
361
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_persist_into_cartodb_using_the_static_create_method.yml
|
362
|
+
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_save_polygons_in_different_formats.yml
|
361
363
|
- spec/fixtures/cassettes/CartoDB_model_data_methods/should_update_an_existing_record.yml
|
362
364
|
- spec/fixtures/cassettes/CartoDB_model_metadata_methods/should_add_more_columns_if_the_table_previously_exists.yml
|
363
365
|
- spec/fixtures/cassettes/CartoDB_model_metadata_methods/should_contain_an_array_of_columns.yml
|