unidom-geo 1.4.3 → 1.4.4
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/unidom/geo/concerns/as_located.rb +3 -0
- data/app/models/unidom/geo/concerns/as_locator.rb +3 -0
- data/app/models/unidom/geo/concerns/as_region.rb +3 -0
- data/app/models/unidom/geo/locating.rb +4 -0
- data/app/models/unidom/geo/location.rb +7 -0
- data/lib/unidom/geo/engine.rb +3 -3
- data/lib/unidom/geo/version.rb +1 -1
- metadata +6 -6
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: de985c80fc44a553c419760277bd898648418822
|
4
|
+
data.tar.gz: 054d7ae8e6270cd72999fb9437f172124807add3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 832ea4737e1ecb94dd8f3d1dbdfe4e17b560a09cd189e0dfa7ec9f3c10a160c38c642656f23fe0bc2c90d0bb2c134498da4615732aaa4890ab0dd0596e1ad656
|
7
|
+
data.tar.gz: e2dad2bc6c0c2ba21b31c30356a30a22e6d5cf4b71c1517cce315d59a15ebb5eae0d50b84b3e84987323d5507b7d0fa69e278427717bc19b7012ae1b9abb3a8f
|
@@ -1,3 +1,4 @@
|
|
1
|
+
##
|
1
2
|
# Locating 是地理定位,表示地理位置和被定位物体之间的关联。
|
2
3
|
|
3
4
|
class Unidom::Geo::Locating < Unidom::Geo::ApplicationRecord
|
@@ -14,6 +15,9 @@ class Unidom::Geo::Locating < Unidom::Geo::ApplicationRecord
|
|
14
15
|
scope :located_is, ->(located) { where located: located }
|
15
16
|
scope :located_by, ->(locator) { where locator: locator }
|
16
17
|
|
18
|
+
##
|
19
|
+
# 将给定的位置与给定的地标关联起来。如:
|
20
|
+
# Unidom::Geo::Locating.locate! location: location, located: shop, locator: current_person
|
17
21
|
def self.locate!(location: nil, located: nil, locator: nil, opened_at: Time.now)
|
18
22
|
attributes = { opened_at: opened_at }
|
19
23
|
if locator.present?
|
@@ -1,3 +1,4 @@
|
|
1
|
+
##
|
1
2
|
# Location 是地理位置。具体对应到某一个街道地址。
|
2
3
|
|
3
4
|
class Unidom::Geo::Location < Unidom::Geo::ApplicationRecord
|
@@ -24,10 +25,16 @@ class Unidom::Geo::Location < Unidom::Geo::ApplicationRecord
|
|
24
25
|
scope :region_is, ->(region) { where region: region }
|
25
26
|
scope :postal_address_is, ->(postal_address) { where postal_address: postal_address }
|
26
27
|
|
28
|
+
##
|
29
|
+
# 将当前位置与地标关联起来。如:
|
30
|
+
# location.locate! shop, by: current_person
|
27
31
|
def locate!(located, by: nil, at: Time.now)
|
28
32
|
locatings.located_is(located).valid_at(now: at).alive.first_or_create! locator: by, opened_at: at
|
29
33
|
end
|
30
34
|
|
35
|
+
##
|
36
|
+
# 判断当前位置与地标之间,是否有有效的关联。如:
|
37
|
+
# location.locate? shop
|
31
38
|
def locate?(located, at: Time.now)
|
32
39
|
locatings.located_is(located).valid_at(now: at).alive.exists?
|
33
40
|
end
|
data/lib/unidom/geo/engine.rb
CHANGED
@@ -3,11 +3,11 @@ module Unidom
|
|
3
3
|
|
4
4
|
class Engine < ::Rails::Engine
|
5
5
|
|
6
|
+
include Unidom::Common::EngineExtension
|
7
|
+
|
6
8
|
isolate_namespace Unidom::Geo
|
7
9
|
|
8
|
-
|
9
|
-
config.paths['db/migrate'].expanded.each { |expanded_path| app.config.paths['db/migrate'] << expanded_path } unless app.root.to_s.match root.to_s
|
10
|
-
end
|
10
|
+
enable_initializer enum_enabled: false, migration_enabled: true
|
11
11
|
|
12
12
|
end
|
13
13
|
|
data/lib/unidom/geo/version.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unidom-geo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.4.
|
4
|
+
version: 1.4.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Topbit Du
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-01-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unidom-common
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: 1.
|
19
|
+
version: '1.8'
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - "
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version: 1.
|
26
|
+
version: '1.8'
|
27
27
|
description: Unidom (UNIfied Domain Object Model) is a series of domain model engines.
|
28
28
|
The Geo domain model engine includes Region, Town, and Location models. Unidom (统一领域对象模型)是一系列的领域模型引擎。地理领域模型引擎包括行政区划、乡镇和街道地址的模型。
|
29
29
|
email:
|