unidom-certificate 2.0.4 → 2.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +23 -5
- data/app/controllers/unidom/certificate/application_controller.rb +3 -0
- data/app/jobs/unidom/certificate/application_job.rb +3 -0
- data/app/mailers/unidom/certificate/application_mailer.rb +3 -0
- data/app/models/unidom/certificate/application_record.rb +3 -0
- data/app/models/unidom/certificate/certificating.rb +5 -2
- data/app/models/unidom/certificate/concerns/as_certificated.rb +6 -0
- data/app/models/unidom/certificate/concerns/as_certification.rb +6 -0
- data/lib/unidom/certificate/version.rb +1 -1
- metadata +4 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ca0e580e879911b3072e2cb3851d950dd9ef8da4
|
4
|
+
data.tar.gz: 498b1f4a7b64734fb93caa4776e69c9eab858e1b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 87ed53486673f17662470856658a9ce9b714b86d1b031551fe0de9bc3099ad660468eb7436ee94f75c7613cfde2676339bbeabe5f0afbd9a53fb8d2d5c4e175a
|
7
|
+
data.tar.gz: ec53b9a4f1edc6dc05e336aa1f02836ed2d1456ec35830b5af62608528dd543e99310e187a6cde84e638b576260a6249030a1eaa2ebef8fee1eeaac578b4ad99
|
data/README.md
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
# Unidom Certificate 证书领域模型引擎
|
2
2
|
|
3
|
+
[](http://www.rubydoc.info/gems/unidom-certificate/frames)
|
3
4
|
[](http://opensource.org/licenses/MIT)
|
5
|
+
|
4
6
|
[](https://badge.fury.io/rb/unidom-certificate)
|
5
7
|
[](https://gemnasium.com/github.com/topbitdu/unidom-certificate)
|
6
8
|
|
@@ -38,7 +40,7 @@ The migration versions start with 200102.
|
|
38
40
|
```ruby
|
39
41
|
officer = Unidom::Party::Person.create! name: 'John'
|
40
42
|
mall = Unidom::Party::Shop.create! name: 'WalMart'
|
41
|
-
certification = Unidom::Certificate::China::BusinessLicense.registration_number_is('123456789012345').valid_at.alive.first_or_create! name: 'WalMart', address: 'Beijing', legal_representative_name: 'Tim'
|
43
|
+
certification = Unidom::Certificate::China::BusinessLicense.registration_number_is('123456789012345').valid_at.alive.first_or_create! name: 'WalMart', address: 'Beijing', legal_representative_name: 'Tim'
|
42
44
|
certificating = Unidom::Certificate::Certificating.certificate!(certification: certification, certificated: mall, certificator: officer, opened_at: Time.now)
|
43
45
|
```
|
44
46
|
|
@@ -54,13 +56,29 @@ include Unidom::Certificate::Concerns::AsCertification
|
|
54
56
|
### As Certificated concern
|
55
57
|
|
56
58
|
The As Certificated concern do the following tasks for the includer automatically:
|
57
|
-
1. Define the has_many :certificatings macro as: ``has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certificated``
|
58
|
-
2. Define the #is_certificated! method as: ``def is_certificated!(certification, by: nil, at: Time.now)``
|
59
|
+
1. Define the has_many :certificatings macro as: ``has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certificated``
|
60
|
+
2. Define the #is_certificated! method as: ``def is_certificated!(certification, by: nil, at: Time.now)``
|
59
61
|
3. Define the #is_certificated? method as: ``def is_certificated?(certification, at: Time.now)``
|
60
62
|
|
61
63
|
### As Certification concern
|
62
64
|
|
63
65
|
The As Certification concern do the following tasks for the includer automatically:
|
64
|
-
1. Define the has_many :certificatings macro as: ``has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certification``
|
65
|
-
2. Define the #certificate! method as: ``def certificate!(certificated, by: nil, at: Time.now)``
|
66
|
+
1. Define the has_many :certificatings macro as: ``has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certification``
|
67
|
+
2. Define the #certificate! method as: ``def certificate!(certificated, by: nil, at: Time.now)``
|
66
68
|
3. Define the #certificate? method as: ``def certificate?(certificated, at: Time.now)``
|
69
|
+
|
70
|
+
|
71
|
+
|
72
|
+
## Disable the Model & Migration
|
73
|
+
|
74
|
+
If you only need the app components other than models, the migrations should be neglected, and the models should not be loaded.
|
75
|
+
```ruby
|
76
|
+
# config/initializers/unidom.rb
|
77
|
+
Unidom::Common.configure do |options|
|
78
|
+
|
79
|
+
options[:neglected_namespaces] = %w{
|
80
|
+
Unidom::Certificate
|
81
|
+
}
|
82
|
+
|
83
|
+
end
|
84
|
+
```
|
@@ -15,8 +15,11 @@ class Unidom::Certificate::Certificating < Unidom::Certificate::ApplicationRecor
|
|
15
15
|
scope :certificated_is, ->(certificated) { where certificated: certificated }
|
16
16
|
scope :certification_is, ->(certification) { where certification: certification }
|
17
17
|
|
18
|
+
##
|
19
|
+
# 由认证者 certificator 用证书 certification 去认证的人或者机构 certificated ,认证时间是: opened_at。
|
18
20
|
def self.certificate!(certification: nil, certificated: nil, certificator: nil, opened_at: Time.now)
|
19
|
-
|
21
|
+
assert_present! :certification, certification
|
22
|
+
#raise ArgumentError.new('The certification argument is required.') if certification.blank?
|
20
23
|
raise ArgumentError.new('The certificated argument is required.' ) if certificated.blank?
|
21
24
|
raise ArgumentError.new('The opened_at argument is required.' ) if opened_at.blank?
|
22
25
|
|
@@ -30,4 +33,4 @@ class Unidom::Certificate::Certificating < Unidom::Certificate::ApplicationRecor
|
|
30
33
|
self.certification_is(certification).certificated_is(certificated).valid_at(now: opened_at).alive.first_or_create! attributes
|
31
34
|
end
|
32
35
|
|
33
|
-
end
|
36
|
+
end unless Unidom::Common::Neglection.namespace_neglected? 'Unidom::Certificate::Certificating'
|
@@ -9,6 +9,9 @@ module Unidom::Certificate::Concerns::AsCertificated
|
|
9
9
|
|
10
10
|
has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certificated
|
11
11
|
|
12
|
+
##
|
13
|
+
# 被认证者被证书 certification 认证,认证者为 by ,认证时间是 at (缺省为当前时间)。
|
14
|
+
# 如: person.is_certificated! mcse, by: bill_gates, at: Time.now
|
12
15
|
def is_certificated!(certification, by: nil, at: Time.now)
|
13
16
|
|
14
17
|
raise ArgumentError.new('The certification argument is required.') if certification.blank?
|
@@ -19,6 +22,9 @@ module Unidom::Certificate::Concerns::AsCertificated
|
|
19
22
|
|
20
23
|
end
|
21
24
|
|
25
|
+
##
|
26
|
+
# 判断当前被认证者在指定的时间 at (缺省为当前时间)是否有指定的证书 certification 。如:
|
27
|
+
# person.is_certificated? mcse, at: Time.now
|
22
28
|
def is_certificated?(certification, at: Time.now)
|
23
29
|
|
24
30
|
raise ArgumentError.new('The certification argument is required.') if certification.blank?
|
@@ -9,6 +9,9 @@ module Unidom::Certificate::Concerns::AsCertification
|
|
9
9
|
|
10
10
|
has_many :certificatings, class_name: 'Unidom::Certificate::Certificating', as: :certification
|
11
11
|
|
12
|
+
##
|
13
|
+
# 用证书去认证参与者(被认证者)。 by 是认证者, at 是认证时间(缺省为当前时间)。
|
14
|
+
# 如:mcse.certificate! person, by: bill_gates, at: Time.now
|
12
15
|
def certificate!(certificated, by: nil, at: Time.now)
|
13
16
|
|
14
17
|
raise ArgumentError.new('The certificated argument is required.') if certificated.blank?
|
@@ -19,6 +22,9 @@ module Unidom::Certificate::Concerns::AsCertification
|
|
19
22
|
|
20
23
|
end
|
21
24
|
|
25
|
+
##
|
26
|
+
# 判断当前认证书在指定的时间 at (缺省为当前时间)是否对被认证者 certificated 生效。如:
|
27
|
+
# mcse.certificated? person, at: Time.now
|
22
28
|
def certificate?(certificated, at: Time.now)
|
23
29
|
|
24
30
|
raise ArgumentError.new('The certificated argument is required.') if certificated.blank?
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: unidom-certificate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Topbit Du
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: unidom-common
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version: '1.
|
19
|
+
version: '1.9'
|
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.9'
|
27
27
|
description: Unidom (UNIfied Domain Object Model) is a series of domain model engines.
|
28
28
|
The Certificate domain model engine includes Identity Card and Business License
|
29
29
|
models. Unidom (统一领域对象模型)是一系列的领域模型引擎。证书领域模型引擎包括身份证和营业执照的模型。
|