README.md in on_the_map-0.1.0 vs README.md in on_the_map-0.1.1
- old
+ new
@@ -9,45 +9,70 @@
* geo-coding
* placing model on a map
* geo spatial indexing of position
* geo spatial searching on position
-* Adressable
+The code examples below use the concerned gem to include the concern modules into a class.
+You can use a simple `include OnTheMap::XXXX` in its place or some other concern related API of your choice.
### Adressable
-* embeds an address on the model
-* adds delegate methods to all embedded address fields
+* embeds an `address` on the model
+* adds delegate methods to all embedded address fields (setters/getters)
* adds `full_address` method that returns full adress from concatenation of all fields
+Address fields: `city, state, state_code, province, province_code, postal_code, country, country_code`
+
+```ruby
+class MyModel
+ include Mongoid::Document
+
+ include_concern :addressable, from: :on_the_map
+end
+```
+
### GeoLocatable
* includes `addressable` and `positionable` concerns
-* performs geocoding after an address is created or updated
-* adds `latitude` and `longitude` methods to model
+* performs geocoding to calculate new position after an address is created or updated
+* adds `latitude` and `longitude` to model
+```ruby
+class MyModel
+ include Mongoid::Document
+
+ include_concerns :geo_locatable, from: 'OnTheMap'
+end
+```
+
### Mappable
* include `Gmaps4rails::ActsAsGmappable`
-* adds field `normalized_address` to store address calculated and returned by Google Maps geo-coding
-* adds method `gmaps4rails_address` which returns main adress for use in geo-coding
+* adds field `normalized_address` to store full address calculated and returned by Google Maps geo-coding
+* adds method `gmaps4rails_address` which returns adress used in gmaps geo-coding (if enabled)
+* includes `geo_locatable` and `positionable` concerns.
+```ruby
+class MyModel
+ include Mongoid::Document
+
+ include_concerns :mappable, from: 'OnTheMap'
+end
+```
+
### Positionable
-* includes `Mongoid::Geospatial` into the model to make GeoSpatial helpers available directly on the model
+* includes `Mongoid::Geospatial` into the model to make GeoSpatial methods available
* Adds geo_field `position` (macro from Mongoid GeoSpatial)
* adds spatial indexing for position field
-
* positon field is indexed and used in geo-searches (fx find points near a point)
-## Usage
-
```ruby
- include_concerns :addressable, from: :on_the_map
- include_concerns :mappable, from: :on_the_map
- include_concerns :positionable, from: :on_the_map
+class MyModel
+ include Mongoid::Document
- include_concerns :geo_locatable, from: :on_the_map
+ include_concerns :positionable, from: 'OnTheMap'
+end
```
See the specs for examples on how to use these concerns.
Note: There is room for improvement ;)