README.md in unidom-standard-1.3 vs README.md in unidom-standard-1.3.1
- old
+ new
@@ -1,29 +1,42 @@
# Unidom Standard 标准领域模型引擎
[![License](https://img.shields.io/badge/license-MIT-green.svg)](http://opensource.org/licenses/MIT)
[![Gem Version](https://badge.fury.io/rb/unidom-standard.svg)](https://badge.fury.io/rb/unidom-standard)
+[![Dependency Status](https://gemnasium.com/badges/github.com/topbitdu/unidom-standard.svg)](https://gemnasium.com/github.com/topbitdu/unidom-standard)
Unidom (UNIfied Domain Object Model) is a series of domain model engines. The Standard domain model engine includes the Standard and Standard Association models.
Unidom (统一领域对象模型)是一系列的领域模型引擎。标准领域模型引擎包括标准和标准关联的模型。
+
+
## Recent Update
+
Check out the [Road Map](ROADMAP.md) to find out what's the next.
Check out the [Change Log](CHANGELOG.md) to find out what's new.
+
+
## Usage in Gemfile
+
```ruby
gem 'unidom-standard'
```
+
+
## Run the Database Migration
+
```shell
rake db:migrate
```
The migration versions start with 200006.
+
+
## Call the Model
+
```ruby
gbk = Unidom::Standard::Standard.number_is('GBK').first
gbk.source_standards.merge(Unidom::Standard::StandardAssociating.association_coded_as('REVS').valid_at.alive).valid_at.alive
# The standards revises GBK.
gbk.target_standards.merge(Unidom::Standard::StandardAssociating.association_coded_as('REVS').valid_at.alive).valid_at.alive
@@ -34,23 +47,26 @@
```
## Inlcude the Concerns
+
```ruby
include Unidom::Standard::Concerns::AsSourceStandard
include Unidom::Standard::Concerns::AsTargetStandard
```
### As Source Standard concern
+
The As Source Standard concern do the following tasks for the includer automatically:
-1. Define the has_many :target_associatings macro as: ``has_many :target_associatings, class_name: 'Unidom::Standard::StandardAssociating', foreign_key: :source_id``
-2. Define the has_many :target_standards macro as: ``has_many :target_standards, through: :target_associatings, source: :target``
-3. Define the #associate! method as: ``associate!(target, due_to: 'REVS', at: Time.now)``
+1. Define the has_many :target_associatings macro as: ``has_many :target_associatings, class_name: 'Unidom::Standard::StandardAssociating', foreign_key: :source_id``
+2. Define the has_many :target_standards macro as: ``has_many :target_standards, through: :target_associatings, source: :target``
+3. Define the #associate! method as: ``associate!(target, due_to: 'REVS', at: Time.now)``
4. Define the #associate? method as: ``associate?(target, due_to: 'REVS', at: Time.now)``
### As Target Standard concern
+
The As Target Standard concern do the following tasks for the includer automatically:
-1. Define the has_many :source_associatings macro as: ``has_many :source_associatings, class_name: 'Unidom::Standard::StandardAssociating', foreign_key: :target_id``
-2. Define the has_many :source_standards macro as: ``has_many :source_standards, through: :source_associatings, source: :source``
-3. Define the #is_associated! method as: ``is_associated!(source, due_to: 'REVS', at: Time.now)``
+1. Define the has_many :source_associatings macro as: ``has_many :source_associatings, class_name: 'Unidom::Standard::StandardAssociating', foreign_key: :target_id``
+2. Define the has_many :source_standards macro as: ``has_many :source_standards, through: :source_associatings, source: :source``
+3. Define the #is_associated! method as: ``is_associated!(source, due_to: 'REVS', at: Time.now)``
4. Define the #is_associated? method as: ``is_associated?(source, due_to: 'REVS', at: Time.now)``