datory 1.0.0.rc19 → 1.0.0.rc21

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 3de83481e2e67d0aa3e0bc5eafaa1172f272cdbb27402d2201388839845b6a6c
4
- data.tar.gz: db131a7480b6f328d021303c13f6fb6b5f42a5b975739d8b86424a9deab67ed6
3
+ metadata.gz: cef33c8ff7294db1d0822aaf02b3b81f33a8996089cc225c4813691e115ea9b9
4
+ data.tar.gz: 5d2bddb27b586c6f8fdee0c48e535b73376ff43e876d078fbc57aca43646cb94
5
5
  SHA512:
6
- metadata.gz: 53d520aaf3d7e4069a9e4c6f670b6863f7f2b68cc9562a987f5e6d5c376a25056b4e6b4d961da030da429165b7e76afb5eda60eea7ed8a5ab9f1e73bd02ba856
7
- data.tar.gz: 2f8427553e16cea1a634851c8717fe9f9f41089aa55d04af9bd62efe7f7a040e25b52fee26bbf29e662d3f8043cde4060a1fea0e46cddfbbdca56bf5b9fda412
6
+ metadata.gz: f774515aed1107026e8c56a45b9520420beff4c86913babbbc8327942544a9d5a1e38ccd5cc11094353a9e620af8e2d008db51090a58130bda418fb2ec1a1f95
7
+ data.tar.gz: b645b94a7b95fbcddb7676546e49818ef0a7bd75e370da39a6c74dbddb922f42468b310d9c7d4ad4d1f5e329651113829eb1cb1f9f1e9d1802dcd3514274fbc5
data/README.md CHANGED
@@ -3,7 +3,7 @@
3
3
  <a href="https://github.com/servactory/datory/releases"><img src="https://img.shields.io/github/release-date/servactory/datory" alt="Release Date"></a>
4
4
  </p>
5
5
 
6
- ## Documentation (soon)
6
+ ## Documentation
7
7
 
8
8
  See [datory.servactory.com](https://datory.servactory.com) for documentation.
9
9
 
@@ -20,15 +20,15 @@ gem "datory"
20
20
  #### Serialize
21
21
 
22
22
  ```ruby
23
- user = User.find(...)
23
+ serial = Serial.find(id)
24
24
 
25
- UserDto.serialize(user) # => { ... }
25
+ SerialDto.serialize(serial) # => { ... }
26
26
  ```
27
27
 
28
28
  #### Deserialize
29
29
 
30
30
  ```ruby
31
- UserDto.deserialize(json) # => Datory::Result
31
+ SerialDto.deserialize(json) # => Datory::Result
32
32
  ```
33
33
 
34
34
  #### Form
@@ -37,9 +37,9 @@ For serialization, the `form` method is also available.
37
37
  This prepares a `Form` object, which has a set of additional methods such as `valid?` and `invalid?`.
38
38
 
39
39
  ```ruby
40
- form = UserDto.form(user)
40
+ form = SerialDto.form(serial)
41
41
 
42
- form.target # => UserDto
42
+ form.target # => SerialDto
43
43
  form.model # => { ... }
44
44
 
45
45
  form.valid? # => true
@@ -51,38 +51,34 @@ form.serialize # => { ... }
51
51
  #### Examples
52
52
 
53
53
  ```ruby
54
- class UserDto < Datory::Base
54
+ class SerialDto < Datory::Base
55
55
  uuid :id
56
56
 
57
- string :firstname, to: :first_name
58
- string :lastname, to: :last_name
57
+ string :status
58
+ string :title
59
59
 
60
- string :email
61
- string :phone
62
- string :website
60
+ one :poster, include: ImageDto
63
61
 
64
- date :birthDate, to: :birth_date
62
+ one :ratings, include: RatingsDto
65
63
 
66
- one :login, include: UserLoginDto
67
- one :company, include: UserCompanyDto
64
+ many :countries, include: CountryDto
65
+ many :genres, include: GenreDto
66
+ many :seasons, include: SeasonDto
68
67
 
69
- many :addresses, include: UserAddressDto
68
+ date :premieredOn, to: :premiered_on
70
69
  end
71
70
  ```
72
71
 
73
72
  ```ruby
74
- class UserLoginDto < Datory::Base
73
+ class SeasonDto < Datory::Base
75
74
  uuid :id
76
-
77
- string :username
78
- string :password
79
-
80
- string :md5
81
- string :sha1
82
-
83
- duration :lifetime
84
-
85
- datetime :registered_at
75
+ uuid :serial_id
76
+
77
+ integer :number
78
+
79
+ many :episodes, include: EpisodeDto
80
+
81
+ date :premiered_on
86
82
  end
87
83
  ```
88
84
 
@@ -93,25 +89,31 @@ end
93
89
  #### attribute
94
90
 
95
91
  ```ruby
96
- attribute :firstname, from: String, to: :first_name, as: String
92
+ attribute :uuid, from: String, to: :id, as: String, format: :uuid
97
93
  ```
98
94
 
99
95
  #### string
100
96
 
101
97
  ```ruby
102
- string :first_name
98
+ string :uuid, to: :id
103
99
  ```
104
100
 
105
101
  #### integer
106
102
 
107
103
  ```ruby
108
- integer :attempts, min: 1, max: 10
104
+ integer :rating, min: 1, max: 10
109
105
  ```
110
106
 
111
107
  #### float
112
108
 
113
109
  ```ruby
114
- float :interest_rate
110
+ float :rating
111
+ ```
112
+
113
+ #### boolean
114
+
115
+ ```ruby
116
+ boolean :default
115
117
  ```
116
118
 
117
119
  ### Helpers
@@ -129,31 +131,31 @@ uuid :id
129
131
  It will prepare two attributes `*_cents` and `*_currency`.
130
132
 
131
133
  ```ruby
132
- money :price
134
+ money :box_office
133
135
  ```
134
136
 
135
137
  #### duration
136
138
 
137
139
  ```ruby
138
- duration :lifetime
140
+ duration :episode_duration
139
141
  ```
140
142
 
141
143
  #### date
142
144
 
143
145
  ```ruby
144
- date :birth_date
146
+ date :premiered_on
145
147
  ```
146
148
 
147
149
  #### time
148
150
 
149
151
  ```ruby
150
- time :registered_at
152
+ time :premiered_at
151
153
  ```
152
154
 
153
155
  #### datetime
154
156
 
155
157
  ```ruby
156
- datetime :registered_at
158
+ time :premiered_at
157
159
  ```
158
160
 
159
161
  ### Nesting
@@ -161,13 +163,13 @@ datetime :registered_at
161
163
  #### one
162
164
 
163
165
  ```ruby
164
- one :company, include: UserCompanyDto
166
+ one :poster, include: ImageDto
165
167
  ```
166
168
 
167
169
  #### many
168
170
 
169
171
  ```ruby
170
- many :addresses, include: UserAddressDto
172
+ many :seasons, include: SeasonDto
171
173
  ```
172
174
 
173
175
  ## Object information
@@ -175,36 +177,35 @@ many :addresses, include: UserAddressDto
175
177
  ### Info
176
178
 
177
179
  ```ruby
178
- UserDto.info
180
+ SerialDto.info
179
181
  ```
180
182
 
181
183
  ```
182
- #<Datory::Info::Result:0x000000011eecd7d0 @attributes={:id=>{:from=>{:name=>:id, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:uuid}, :to=>{:name=>:id, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:uuid, :required=>true, :include=>nil}}, :firstname=>{:from=>{:name=>:firstname, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:first_name, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :lastname=>{:from=>{:name=>:lastname, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:last_name, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :email=>{:from=>{:name=>:email, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:email, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :phone=>{:from=>{:name=>:phone, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:phone, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :website=>{:from=>{:name=>:website, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:website, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :birthDate=>{:from=>{:name=>:birthDate, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:date}, :to=>{:name=>:birth_date, :type=>Date, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :login=>{:from=>{:name=>:login, :type=>Hash, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:login, :type=>[Datory::Result, Hash], :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>Usual::Example1::UserLogin}}, :company=>{:from=>{:name=>:company, :type=>Hash, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:company, :type=>[Datory::Result, Hash], :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>Usual::Example1::UserCompany}}, :addresses=>{:from=>{:name=>:addresses, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil}, :to=>{:name=>:addresses, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil, :required=>true, :include=>Usual::Example1::UserAddress}}}>
184
+ #<Datory::Info::Result:0x0000000124aa7bc8 @attributes={:id=>{:from=>{:name=>:id, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:uuid}, :to=>{:name=>:id, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:uuid, :required=>true, :include=>nil}}, :status=>{:from=>{:name=>:status, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:status, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :title=>{:from=>{:name=>:title, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:title, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}, :poster=>{:from=>{:name=>:poster, :type=>Hash, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:poster, :type=>[Datory::Result, Hash], :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>Usual::Example1::Image}}, :ratings=>{:from=>{:name=>:ratings, :type=>Hash, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil}, :to=>{:name=>:ratings, :type=>[Datory::Result, Hash], :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>Usual::Example1::Ratings}}, :countries=>{:from=>{:name=>:countries, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil}, :to=>{:name=>:countries, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil, :required=>true, :include=>Usual::Example1::Country}}, :genres=>{:from=>{:name=>:genres, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil}, :to=>{:name=>:genres, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil, :required=>true, :include=>Usual::Example1::Genre}}, :seasons=>{:from=>{:name=>:seasons, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil}, :to=>{:name=>:seasons, :type=>Array, :min=>nil, :max=>nil, :consists_of=>[Datory::Result, Hash], :format=>nil, :required=>true, :include=>Usual::Example1::Season}}, :premieredOn=>{:from=>{:name=>:premieredOn, :type=>String, :min=>nil, :max=>nil, :consists_of=>false, :format=>:date}, :to=>{:name=>:premiered_on, :type=>Date, :min=>nil, :max=>nil, :consists_of=>false, :format=>nil, :required=>true, :include=>nil}}}>
183
185
  ```
184
186
 
185
187
  ### Describe
186
188
 
187
189
  ```ruby
188
- UserDto.describe
190
+ SerialDto.describe
189
191
  ```
190
192
 
191
193
  ```
192
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
193
- | UserDto |
194
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195
- | Attribute | From | To | As | Include |
196
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197
- | id | String | id | String | |
198
- | firstname | String | first_name | String | |
199
- | lastname | String | last_name | String | |
200
- | email | String | email | String | |
201
- | phone | String | phone | String | |
202
- | website | String | website | String | |
203
- | birthDate | String | birth_date | Date | |
204
- | login | Hash | login | [Datory::Result, Hash] | Usual::Example1::UserLogin |
205
- | company | Hash | company | [Datory::Result, Hash] | Usual::Example1::UserCompany |
206
- | addresses | Array | addresses | Array | Usual::Example1::UserAddress |
207
- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
194
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
195
+ | SerialDto |
196
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
197
+ | Attribute | From | To | As | Include |
198
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
199
+ | id | String | id | String | |
200
+ | status | String | status | String | |
201
+ | title | String | title | String | |
202
+ | poster | Hash | poster | [Datory::Result, Hash] | ImageDto |
203
+ | ratings | Hash | ratings | [Datory::Result, Hash] | RatingsDto |
204
+ | countries | Array | countries | Array | CountryDto |
205
+ | genres | Array | genres | Array | GenreDto |
206
+ | seasons | Array | seasons | Array | SeasonDto |
207
+ | premieredOn | String | premiered_on | Date | |
208
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
208
209
  ```
209
210
 
210
211
  ## Contributing
@@ -1,5 +1,5 @@
1
1
  en:
2
- servactory:
2
+ datory:
3
3
  common:
4
4
  undefined_method:
5
5
  missing_name: "[%{service_class_name}] %{error_text}"
@@ -1,5 +1,5 @@
1
1
  ru:
2
- servactory:
2
+ datory:
3
3
  common:
4
4
  undefined_method:
5
5
  missing_name: "[%{service_class_name}] %{error_text}"
@@ -3,19 +3,6 @@
3
3
  module Datory
4
4
  module Context
5
5
  module Workspace
6
- def attributes
7
- @attributes ||= Attributes.new(
8
- context: self,
9
- incoming_attributes: incoming_attributes,
10
- collection_of_attributes: collection_of_attributes
11
- )
12
- end
13
-
14
- private
15
-
16
- attr_reader :incoming_attributes,
17
- :collection_of_attributes
18
-
19
6
  def _serialize(model:, collection_of_attributes:)
20
7
  serialize(
21
8
  model: model,
@@ -26,6 +26,8 @@ module Datory
26
26
  Servactory::ToolKit::DynamicOptions::Max.use
27
27
  ]
28
28
 
29
+ i18n_root_key :datory
30
+
29
31
  predicate_methods_enabled false
30
32
  end
31
33
  end
@@ -5,7 +5,7 @@ module Datory
5
5
  MAJOR = 1
6
6
  MINOR = 0
7
7
  PATCH = 0
8
- PRE = "rc19"
8
+ PRE = "rc21"
9
9
 
10
10
  STRING = [MAJOR, MINOR, PATCH, PRE].compact.join(".")
11
11
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: datory
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.rc19
4
+ version: 1.0.0.rc21
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anton Sokolov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-06 00:00:00.000000000 Z
11
+ date: 2024-05-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -50,14 +50,14 @@ dependencies:
50
50
  requirements:
51
51
  - - ">="
52
52
  - !ruby/object:Gem::Version
53
- version: 2.5.1
53
+ version: 2.6.0
54
54
  type: :runtime
55
55
  prerelease: false
56
56
  version_requirements: !ruby/object:Gem::Requirement
57
57
  requirements:
58
58
  - - ">="
59
59
  - !ruby/object:Gem::Version
60
- version: 2.5.1
60
+ version: 2.6.0
61
61
  - !ruby/object:Gem::Dependency
62
62
  name: terminal-table
63
63
  requirement: !ruby/object:Gem::Requirement