rom-changeset 1.0.1 → 1.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +5 -5
- data/CHANGELOG.md +6 -0
- data/README.md +11 -0
- data/lib/rom/changeset.rb +2 -2
- data/lib/rom/changeset/associated.rb +8 -8
- data/lib/rom/changeset/pipe.rb +2 -2
- data/lib/rom/changeset/stateful.rb +4 -4
- data/lib/rom/changeset/version.rb +1 -1
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 30ed7d02ec34d5ed40439c6caf8dd758f3080b384d4e9cc7fa7cee78dbe45a6b
|
4
|
+
data.tar.gz: 48225c328364fc8e6198bac68330c74a6e0347c2f6a8e62c4438f782fdb99925
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cf765d50103881d83fff151dfd82c6b4870db4045ba189caea5a4a0ea48f9e055fa24a7838be32615d4e06ae764f6f42168794ad0a33291d1414ac31c4d93e6e
|
7
|
+
data.tar.gz: eaa9b7c5fb038b4bed268358db08d48abb1175e882c6121519b20aa37a04121426cce7a98e5a3e400fe492ef9f1c601d4143d677859546ab5fce4a71f147e22f
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
@@ -1,7 +1,18 @@
|
|
1
|
+
[gem]: https://rubygems.org/gems/rom-changeset
|
2
|
+
[gemnasium]: https://gemnasium.com/rom-rb/rom-changeset
|
3
|
+
|
1
4
|
# rom-changeset
|
2
5
|
|
6
|
+
[![Gem Version](https://badge.fury.io/rb/rom-changeset.svg)][gem]
|
7
|
+
[![Dependency Status](https://gemnasium.com/rom-rb/rom-changeset.svg)][gemnasium]
|
8
|
+
|
9
|
+
Changesets for [rom-rb](https://github.com/rom-rb/rom) integrated with relations.
|
10
|
+
|
3
11
|
Resources:
|
4
12
|
|
13
|
+
* [User documentation](http://rom-rb.org/4.0/learn/core/changesets/)
|
14
|
+
* [API documentation](http://api.rom-rb.org/rom/)
|
15
|
+
|
5
16
|
## License
|
6
17
|
|
7
18
|
See `LICENSE` file.
|
data/lib/rom/changeset.rb
CHANGED
@@ -62,7 +62,7 @@ module ROM
|
|
62
62
|
# class NewUserChangeset < ROM::Changeset::Create[:users]
|
63
63
|
# end
|
64
64
|
#
|
65
|
-
#
|
65
|
+
# users.changeset(NewUserChangeset).data(name: 'Jane')
|
66
66
|
#
|
67
67
|
# @api public
|
68
68
|
def self.[](relation_name)
|
@@ -88,7 +88,7 @@ module ROM
|
|
88
88
|
# Persist changeset
|
89
89
|
#
|
90
90
|
# @example
|
91
|
-
# changeset =
|
91
|
+
# changeset = users.changeset(name: 'Jane')
|
92
92
|
# changeset.commit
|
93
93
|
# # => { id: 1, name: 'Jane' }
|
94
94
|
#
|
@@ -40,7 +40,7 @@ module ROM
|
|
40
40
|
# Commit changeset's composite command
|
41
41
|
#
|
42
42
|
# @example
|
43
|
-
# task_changeset =
|
43
|
+
# task_changeset = tasks.
|
44
44
|
# changeset(title: 'Task One').
|
45
45
|
# associate(user, :user).
|
46
46
|
# commit
|
@@ -67,17 +67,17 @@ module ROM
|
|
67
67
|
# Create a composed command
|
68
68
|
#
|
69
69
|
# @example using existing parent data
|
70
|
-
# user_changeset =
|
71
|
-
# task_changeset =
|
70
|
+
# user_changeset = users.changeset(name: 'Jane')
|
71
|
+
# task_changeset = tasks.changeset(title: 'Task One')
|
72
72
|
#
|
73
|
-
# user =
|
74
|
-
# task =
|
73
|
+
# user = users.create(user_changeset)
|
74
|
+
# task = tasks.create(task_changeset.associate(user, :user))
|
75
75
|
#
|
76
76
|
# @example saving both parent and child in one go
|
77
|
-
# user_changeset =
|
78
|
-
# task_changeset =
|
77
|
+
# user_changeset = users.changeset(name: 'Jane')
|
78
|
+
# task_changeset = tasks.changeset(title: 'Task One')
|
79
79
|
#
|
80
|
-
# task =
|
80
|
+
# task = tasks.create(task_changeset.associate(user, :user))
|
81
81
|
#
|
82
82
|
# This works *only* with parent => child(ren) changeset hierarchy
|
83
83
|
#
|
data/lib/rom/changeset/pipe.rb
CHANGED
@@ -14,11 +14,11 @@ module ROM
|
|
14
14
|
|
15
15
|
def self.add_timestamps(data)
|
16
16
|
now = Time.now
|
17
|
-
|
17
|
+
Hash(created_at: now, updated_at: now).merge(data)
|
18
18
|
end
|
19
19
|
|
20
20
|
def self.touch(data)
|
21
|
-
|
21
|
+
Hash(updated_at: Time.now).merge(data)
|
22
22
|
end
|
23
23
|
end
|
24
24
|
|
@@ -204,14 +204,14 @@ module ROM
|
|
204
204
|
# Associate a changeset with another changeset or hash-like object
|
205
205
|
#
|
206
206
|
# @example with another changeset
|
207
|
-
# new_user =
|
208
|
-
# new_task =
|
207
|
+
# new_user = users.changeset(name: 'Jane')
|
208
|
+
# new_task = users.changeset(:tasks, title: 'A task')
|
209
209
|
#
|
210
210
|
# new_task.associate(new_user, :users)
|
211
211
|
#
|
212
212
|
# @example with a hash-like object
|
213
|
-
# user =
|
214
|
-
# new_task =
|
213
|
+
# user = users.users.by_pk(1).one
|
214
|
+
# new_task = users.changeset(:tasks, title: 'A task')
|
215
215
|
#
|
216
216
|
# new_task.associate(user, :users)
|
217
217
|
#
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rom-changeset
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Piotr Solnica
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2018-03-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: dry-core
|
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
125
125
|
version: '0'
|
126
126
|
requirements: []
|
127
127
|
rubyforge_project:
|
128
|
-
rubygems_version: 2.
|
128
|
+
rubygems_version: 2.7.4
|
129
129
|
signing_key:
|
130
130
|
specification_version: 4
|
131
131
|
summary: Changeset abstraction for rom-rb
|