rom-changeset 1.0.1 → 1.0.2
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 +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]
|
7
|
+
[][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
|