magic_addresses 0.0.12 → 0.0.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -13
- data/README.md +58 -4
- data/app/views/magic_addresses/addresses/_address_fields.html.erb +1 -1
- data/app/views/magic_addresses/addresses/_addresses_fields.html.erb +1 -1
- data/lib/app/models/magic_addresses/address.rb +116 -41
- data/lib/app/models/magic_addresses/addressible.rb +21 -0
- data/lib/app/models/magic_addresses/association.rb +51 -15
- data/lib/app/models/magic_addresses/owner_proxy.rb +14 -0
- data/lib/generators/magic_addresses/add_earthdistance_generator.rb +25 -0
- data/lib/generators/magic_addresses/templates/earthdistance_migration.rb +32 -0
- data/lib/generators/magic_addresses/templates/geocoder_initializer.rb +4 -2
- data/lib/generators/magic_addresses/templates/magic_addresses_migration.rb +5 -0
- data/lib/generators/magic_addresses/templates/magic_initializer.rb +15 -9
- data/lib/generators/magic_addresses/templates/update_address_migration.rb +45 -0
- data/lib/generators/magic_addresses/update_generator.rb +25 -0
- data/lib/magic_addresses/configuration.rb +18 -6
- data/lib/magic_addresses/version.rb +1 -1
- data/lib/magic_addresses.rb +6 -0
- data/spec/dummy/app/models/company.rb +5 -0
- data/spec/dummy/app/views/users/index.html.erb +2 -2
- data/spec/dummy/config/environments/test.rb +5 -0
- data/spec/dummy/config/initializers/magic_addresses.rb +11 -3
- data/spec/dummy/db/development.sqlite3 +0 -0
- data/spec/dummy/db/migrate/20151111133333_create_companies.rb +10 -0
- data/spec/dummy/db/migrate/20151118102658_update_magic_addresses.rb +45 -0
- data/spec/dummy/db/schema.rb +23 -7
- data/spec/dummy/db/test.sqlite3 +0 -0
- data/spec/dummy/log/development.log +18969 -70324
- data/spec/dummy/log/test.log +42010 -94562
- data/spec/dummy/tmp/pids/server.pid +1 -0
- data/spec/models/company_spec.rb +17 -0
- data/spec/models/magic_addresses/address_spec.rb +52 -27
- data/spec/models/user_spec.rb +23 -0
- data/spec/rails_helper.rb +3 -0
- metadata +35 -399
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_aside_nav.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_banner.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_box.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_buttons_nice.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_helper.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_icons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_inputs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_navbar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_notice.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_panel.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/19b60152c4654e1688273867e38ff5e0b6236ab2/_pix.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_alerts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_background-variant.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_border-radius.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_center-block.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_clearfix.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_gradients.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_grid-framework.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_hide-text.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_image.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_list-group.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_nav-divider.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_nav-vertical-align.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_opacity.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_panels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_progress-bar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_reset-filter.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_resize.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_responsive-visibility.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_size.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_tab-focus.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_table-row.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_text-emphasis.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_text-overflow.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/24c51698ad01336e4b987229e799c2cc59a52365/_vendor-prefixes.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2557903008e29020a1e41f44af8141d40a1e1147/_corset.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2557903008e29020a1e41f44af8141d40a1e1147/_fullpage_table.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/2557903008e29020a1e41f44af8141d40a1e1147/_section.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4a366ea161250132a268ef32a1b08cac8de6b5ae/_asset-pipeline.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4a366ea161250132a268ef32a1b08cac8de6b5ae/_prefixer.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/4a366ea161250132a268ef32a1b08cac8de6b5ae/_px-to-em.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/51b770beda224b19a22a5fcca280d5fcfa460146/_colors.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/51b770beda224b19a22a5fcca280d5fcfa460146/_fonts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/51b770beda224b19a22a5fcca280d5fcfa460146/_variables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_animation.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_appearance.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_backface-visibility.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_background-image.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_background.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_border-image.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_border-radius.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_box-sizing.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_calc.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_columns.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_filter.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_flex-box.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_font-face.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_font-feature-settings.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_hidpi-media-query.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_hyphens.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_image-rendering.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_keyframes.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_linear-gradient.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_perspective.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_placeholder.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_radial-gradient.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_selection.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_text-decoration.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_transform.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_transition.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/54164dda167544c9a2234eb3643bf0895da180fd/_user-select.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/5dac14e9bcf503fc8fa7c4f4440118fabc865d43/autocomplete.cssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/65afb1d40636d95636e95a91bc4e33776a5f48ba/magic-stylez.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/67eeb42d1b5d8b7a99a388bcbdece61f954c9cb0/icomoon.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/67eeb42d1b5d8b7a99a388bcbdece61f954c9cb0/magicons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/67eeb42d1b5d8b7a99a388bcbdece61f954c9cb0/orderlifticons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_assign.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_color-lightness.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_contains.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_is-length.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_is-size.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_modular-scale.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_px-to-em.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_px-to-rem.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_strip-units.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_tint-shade.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_transition-property-name.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/6b16abfb17fe2503733e43257f3ae1774c687e5f/_unpack.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_convert-units.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_font-source-declaration.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_gradient-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_is-num.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_linear-angle-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_linear-gradient-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_linear-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_linear-side-corner-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_radial-arg-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_radial-gradient-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_radial-positions-parser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_render-gradients.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_shape-size-stripper.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/75433b62dd2cb96bb75c34d9a3e28f92ab357b7f/_str-to-num.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_alerts.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_badges.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_breadcrumbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_button-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_buttons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_carousel.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_close.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_code.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_component-animations.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_dropdowns.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_glyphicons.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_grid.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_input-groups.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_jumbotron.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_labels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_list-group.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_media.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_mixins.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_modals.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_navbar.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_navs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_normalize.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_pager.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_pagination.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_panels.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_popovers.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_print.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_progress-bars.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_responsive-embed.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_responsive-utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_scaffolding.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_tables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_thumbnails.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_tooltip.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_type.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_utilities.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_variables.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/92cf243fa656f5697aab51e7d90e01c1822b2659/_wells.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ba4757a1a53e47b8d77e8b3e570956e2688fcda4/_bourbon-deprecated-upcoming.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ba4757a1a53e47b8d77e8b3e570956e2688fcda4/_bourbon.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_animation.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_cross_browser.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_filter.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_forms.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_helper.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_media_querries.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_text.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/bbf3f90fe22893a2ce61a9eb12fae3a9f2defd14/_twbs.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/d11e29c08f9a4c5de5e232de8e0405a1753a5793/application.css.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/d6dffb77922b7d3b25f0a1059d1311e3279ff693/_circle_diagram.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_clearfix.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_directional-values.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_ellipsis.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_font-family.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_hide-text.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_html5-input-types.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_position.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_prefixer.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_retina-image.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_size.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_timing-functions.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_triangle.scssc +0 -392
- data/spec/dummy/tmp/cache/assets/development/sass/de5c39bfb8e330e076983d775f6d2e28dbe78636/_word-wrap.scssc +0 -42
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_all.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_arrow_hints.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_crossed.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_divider.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_dots.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_text.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e0bbbca13012c1d2a33d6ed35ab7224d7120f071/_three_previews.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/e68899ee835edcf02d7ab60e48d61fa544850864/_nav.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ec54c41325c4a582d617d517b74a3bd29b054c6a/_reflections.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sass/ec54c41325c4a582d617d517b74a3bd29b054c6a/_shadows.scssc +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/13fe41fee1fe35b49d145bcc06610705 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/2f5173deea6c795b8fdde723bb4b63af +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/357970feca3ac29060c1e3861e2c0953 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/cffd775d018f68ce5dba1ee0d951a994 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/d771ace226fc8215a3572e0aa35bb0d6 +0 -0
- data/spec/dummy/tmp/cache/assets/development/sprockets/f7cbd26ba1d28d48de824f0e94586655 +0 -0
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class UpdateMagicAddresses < ActiveRecord::Migration
|
3
|
+
def change
|
4
|
+
|
5
|
+
create_table :mgca_addressibles do |t|
|
6
|
+
t.boolean :default # is default address ?
|
7
|
+
t.string :name # address name (home | office | ..)
|
8
|
+
t.references :owner, polymorphic: true
|
9
|
+
t.references :address
|
10
|
+
t.timestamps null: false
|
11
|
+
end
|
12
|
+
|
13
|
+
add_index :mgca_addressibles, [:owner_type, :owner_id]
|
14
|
+
add_index :mgca_addressibles, :address_id
|
15
|
+
|
16
|
+
add_column :mgca_addresses, :status, :string, default: "new"
|
17
|
+
|
18
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
19
|
+
|
20
|
+
MagicAddresses::Address.all.each do |that|
|
21
|
+
if that.owner_type.present? && that.owner_id.present? && "#{that.owner_type}".constantize.find(that.owner_id.to_i)
|
22
|
+
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: that.owner_type, owner_id: that.owner_id, default: that.default )
|
23
|
+
end
|
24
|
+
sames = MagicAddresses::Address.where(latitude: that.latitude, longitude: that.longitude, zipcode: that.postal_code, street_number: that.street_number )
|
25
|
+
sames.each do |this|
|
26
|
+
unless this == that
|
27
|
+
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: this.owner_type, owner_id: this.owner_id, default: this.default )
|
28
|
+
this.destroy
|
29
|
+
end
|
30
|
+
end if sames.count > 1
|
31
|
+
end
|
32
|
+
|
33
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
34
|
+
|
35
|
+
remove_index :mgca_addresses, [:owner_type, :owner_id]
|
36
|
+
|
37
|
+
remove_column :mgca_addresses, :owner_type, :string
|
38
|
+
remove_column :mgca_addresses, :owner_id, :integer
|
39
|
+
remove_column :mgca_addresses, :default, :boolean
|
40
|
+
|
41
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
42
|
+
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'rails/generators/migration'
|
2
|
+
|
3
|
+
module MagicAddresses
|
4
|
+
module Generators
|
5
|
+
class UpdateGenerator < ::Rails::Generators::Base
|
6
|
+
include Rails::Generators::Migration
|
7
|
+
source_root File.expand_path('../templates', __FILE__)
|
8
|
+
desc "add magic_addresses update migrations"
|
9
|
+
|
10
|
+
def self.next_migration_number(path)
|
11
|
+
unless @prev_migration_nr
|
12
|
+
@prev_migration_nr = Time.now.utc.strftime("%Y%m%d%H%M%S").to_i
|
13
|
+
else
|
14
|
+
@prev_migration_nr += 1
|
15
|
+
end
|
16
|
+
@prev_migration_nr.to_s
|
17
|
+
end
|
18
|
+
|
19
|
+
def copy_migrations
|
20
|
+
migration_template( "update_address_migration.rb", "db/migrate/update_magic_addresses.rb" )
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -2,25 +2,37 @@ module MagicAddresses
|
|
2
2
|
class Configuration
|
3
3
|
OPTIONS = []
|
4
4
|
|
5
|
+
# Address Owners .. all models that use addresses (name + class_name => {users: "User", things: "Namespace::Thing"})
|
6
|
+
attr_accessor :address_owners
|
7
|
+
|
5
8
|
# Enabled languages .. save address in each if different to default locale
|
6
9
|
attr_accessor :active_locales
|
7
10
|
|
8
11
|
# Addresses default locale
|
9
12
|
attr_accessor :default_locale
|
10
13
|
|
14
|
+
# Addresses default country
|
11
15
|
attr_accessor :default_country
|
16
|
+
# add default country in query ?
|
17
|
+
attr_accessor :query_defaults
|
18
|
+
|
19
|
+
# only save tranlations when differs from default?
|
20
|
+
attr_accessor :uniq_translations
|
12
21
|
|
13
|
-
# Job backend
|
22
|
+
# Job backend ( :sidekiq | :none )
|
14
23
|
attr_accessor :job_backend
|
15
24
|
|
16
25
|
attr_accessor :earthdistance
|
17
26
|
|
18
27
|
def initialize
|
19
|
-
@
|
20
|
-
@
|
21
|
-
@
|
22
|
-
@
|
23
|
-
@
|
28
|
+
@address_owners = {}
|
29
|
+
@active_locales = [:en, :de]
|
30
|
+
@default_locale = :en
|
31
|
+
@default_country = "Germany"
|
32
|
+
@query_defaults = true
|
33
|
+
@uniq_translations = false
|
34
|
+
@job_backend = :none
|
35
|
+
@earthdistance = false
|
24
36
|
end
|
25
37
|
|
26
38
|
# Returns a hash of all configurable options
|
data/lib/magic_addresses.rb
CHANGED
@@ -26,6 +26,12 @@ module MagicAddresses
|
|
26
26
|
autoload :District, "app/models/magic_addresses/district"
|
27
27
|
autoload :Subdistrict, "app/models/magic_addresses/subdistrict"
|
28
28
|
|
29
|
+
# connections
|
30
|
+
autoload :Addressible, "app/models/magic_addresses/addressible"
|
31
|
+
|
32
|
+
# owner proxie
|
33
|
+
autoload :OwnerProxy, "app/models/magic_addresses/owner_proxy"
|
34
|
+
|
29
35
|
# services
|
30
36
|
autoload :GeoCoder, "app/models/magic_addresses/geo_coder"
|
31
37
|
|
@@ -11,8 +11,8 @@
|
|
11
11
|
|
12
12
|
<div class="well">
|
13
13
|
<p class="highlight"><%= usr.name %></p>
|
14
|
-
<p class="loud"><%= usr.address.presentation %></p>
|
15
|
-
<p><%= usr.address.district %> .. <%= usr.address.subdistrict %></p>
|
14
|
+
<p class="loud"><%= usr.address ? usr.address.presentation : "- - -" %></p>
|
15
|
+
<p><%= usr.address ? usr.address.district : "- - -" %> .. <%= usr.address ? usr.address.subdistrict : "- - -" %></p>
|
16
16
|
</div>
|
17
17
|
|
18
18
|
<% end %>
|
@@ -1,12 +1,20 @@
|
|
1
1
|
MagicAddresses.configure do |config|
|
2
|
+
|
3
|
+
# Address Owners .. all models that use addresses (name + class_name => {users: "User", things: "Namespace::Thing"})
|
4
|
+
config.address_owners = { users: "User", companies: "Company" }
|
2
5
|
# in which locales addresses should be saved
|
3
6
|
config.active_locales = [:en, :de]
|
4
7
|
# what is the default language (should be :en, except you don't need english at all)
|
5
8
|
config.default_locale = :en
|
6
|
-
# what is the default
|
9
|
+
# what is the default country for query
|
7
10
|
config.default_country = "Germany"
|
8
|
-
#
|
11
|
+
# add default country in each query ?
|
12
|
+
config.query_defaults = true
|
13
|
+
# only save tranlations when differs from default-locale?
|
14
|
+
config.uniq_translations = true
|
15
|
+
# use a background-process for the lookups ( :none | :sidekiq )
|
9
16
|
config.job_backend = :none
|
10
17
|
# use a postgres earthdistance for distance calculation
|
11
18
|
config.earthdistance = false
|
12
|
-
|
19
|
+
|
20
|
+
end
|
Binary file
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
class UpdateMagicAddresses < ActiveRecord::Migration
|
3
|
+
def change
|
4
|
+
|
5
|
+
create_table :mgca_addressibles do |t|
|
6
|
+
t.boolean :default # is default address ?
|
7
|
+
t.string :name # address name (home | office | ..)
|
8
|
+
t.references :owner, polymorphic: true
|
9
|
+
t.references :address
|
10
|
+
t.timestamps null: false
|
11
|
+
end
|
12
|
+
|
13
|
+
add_index :mgca_addressibles, [:owner_type, :owner_id]
|
14
|
+
add_index :mgca_addressibles, :address_id
|
15
|
+
|
16
|
+
add_column :mgca_addresses, :status, :string, default: "new"
|
17
|
+
|
18
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
19
|
+
|
20
|
+
MagicAddresses::Address.all.each do |that|
|
21
|
+
if that.owner_type.present? && that.owner_id.present? && "#{that.owner_type}".constantize.find(that.owner_id.to_i)
|
22
|
+
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: that.owner_type, owner_id: that.owner_id, default: that.default )
|
23
|
+
end
|
24
|
+
sames = MagicAddresses::Address.where(latitude: that.latitude, longitude: that.longitude, zipcode: that.postal_code, street_number: that.street_number )
|
25
|
+
sames.each do |this|
|
26
|
+
unless this == that
|
27
|
+
MagicAddresses::Addressible.create!( address_id: that.id, owner_type: this.owner_type, owner_id: this.owner_id, default: this.default )
|
28
|
+
this.destroy
|
29
|
+
end
|
30
|
+
end if sames.count > 1
|
31
|
+
end
|
32
|
+
|
33
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
34
|
+
|
35
|
+
remove_index :mgca_addresses, [:owner_type, :owner_id]
|
36
|
+
|
37
|
+
remove_column :mgca_addresses, :owner_type, :string
|
38
|
+
remove_column :mgca_addresses, :owner_id, :integer
|
39
|
+
remove_column :mgca_addresses, :default, :boolean
|
40
|
+
|
41
|
+
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
|
42
|
+
|
43
|
+
|
44
|
+
end
|
45
|
+
end
|
data/spec/dummy/db/schema.rb
CHANGED
@@ -11,7 +11,13 @@
|
|
11
11
|
#
|
12
12
|
# It's strongly recommended that you check this file into your version control system.
|
13
13
|
|
14
|
-
ActiveRecord::Schema.define(version:
|
14
|
+
ActiveRecord::Schema.define(version: 20151118102658) do
|
15
|
+
|
16
|
+
create_table "companies", force: :cascade do |t|
|
17
|
+
t.string "name"
|
18
|
+
t.datetime "created_at", null: false
|
19
|
+
t.datetime "updated_at", null: false
|
20
|
+
end
|
15
21
|
|
16
22
|
create_table "mgca_address_translations", force: :cascade do |t|
|
17
23
|
t.integer "mgca_address_id", null: false
|
@@ -31,7 +37,6 @@ ActiveRecord::Schema.define(version: 20150225220219) do
|
|
31
37
|
t.string "street_number"
|
32
38
|
t.string "street_additional"
|
33
39
|
t.integer "zipcode"
|
34
|
-
t.boolean "default"
|
35
40
|
t.float "longitude"
|
36
41
|
t.float "latitude"
|
37
42
|
t.integer "subdistrict_id"
|
@@ -39,19 +44,30 @@ ActiveRecord::Schema.define(version: 20150225220219) do
|
|
39
44
|
t.integer "city_id"
|
40
45
|
t.integer "state_id"
|
41
46
|
t.integer "country_id"
|
42
|
-
t.
|
43
|
-
t.
|
44
|
-
t.
|
45
|
-
t.datetime "updated_at", null: false
|
47
|
+
t.datetime "created_at", null: false
|
48
|
+
t.datetime "updated_at", null: false
|
49
|
+
t.string "status", default: "new"
|
46
50
|
end
|
47
51
|
|
48
52
|
add_index "mgca_addresses", ["city_id"], name: "index_mgca_addresses_on_city_id"
|
49
53
|
add_index "mgca_addresses", ["country_id"], name: "index_mgca_addresses_on_country_id"
|
50
54
|
add_index "mgca_addresses", ["district_id"], name: "index_mgca_addresses_on_district_id"
|
51
|
-
add_index "mgca_addresses", ["owner_type", "owner_id"], name: "index_mgca_addresses_on_owner_type_and_owner_id"
|
52
55
|
add_index "mgca_addresses", ["state_id"], name: "index_mgca_addresses_on_state_id"
|
53
56
|
add_index "mgca_addresses", ["subdistrict_id"], name: "index_mgca_addresses_on_subdistrict_id"
|
54
57
|
|
58
|
+
create_table "mgca_addressibles", force: :cascade do |t|
|
59
|
+
t.boolean "default"
|
60
|
+
t.string "name"
|
61
|
+
t.integer "owner_id"
|
62
|
+
t.string "owner_type"
|
63
|
+
t.integer "address_id"
|
64
|
+
t.datetime "created_at", null: false
|
65
|
+
t.datetime "updated_at", null: false
|
66
|
+
end
|
67
|
+
|
68
|
+
add_index "mgca_addressibles", ["address_id"], name: "index_mgca_addressibles_on_address_id"
|
69
|
+
add_index "mgca_addressibles", ["owner_type", "owner_id"], name: "index_mgca_addressibles_on_owner_type_and_owner_id"
|
70
|
+
|
55
71
|
create_table "mgca_cities", force: :cascade do |t|
|
56
72
|
t.string "default_name"
|
57
73
|
t.string "short_name"
|
data/spec/dummy/db/test.sqlite3
CHANGED
Binary file
|