embedded 0.1.1 → 0.2.0
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 +10 -0
- data/lib/embedded/model.rb +3 -1
- data/lib/embedded/version.rb +1 -1
- metadata +14 -34
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: dad0317dedc0a4f5a2bc155d667f6b4131ba67d3ed03c225f387deb68c3187c9
|
4
|
+
data.tar.gz: ea2b00691c5431639e3991afb3b0dc86bc87702f749f7fe695e55c6932ea6a1e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d1c1e2ff032c40c27938ae4af252ceb1d2b261f2b4d7ab01e6dd4d4421094e6fa09886a7b011a4dbe5f75898390eec0874646c0c3ba38604f54376f34944f3c7
|
7
|
+
data.tar.gz: 534cd2314130b599c428a6ef898b09624d8ca2728c10bf4d5d858b0938809eb00a9f0b9a2c11140c8cb3fd274d95ac3318b9e4af3d98b48cb011ac1d8a18cfd7
|
data/README.md
CHANGED
@@ -5,6 +5,16 @@ Embedded is a small rails engine to correctly persist Value Objects in Active Re
|
|
5
5
|
## Code Status
|
6
6
|
[](https://travis-ci.org/jvillarejo/embedded)
|
7
7
|
|
8
|
+
Embedded supports and was tested against this Ruby and Rails versions:
|
9
|
+
|
10
|
+
* Ruby 2.1.5 and Rails 3.2 (it's a shame but I have a legacy project)
|
11
|
+
* Ruby 2.4 and Rails 4.2
|
12
|
+
* Ruby 2.4 and Rails 5.1
|
13
|
+
* Ruby 2.4 and Rails 5.2
|
14
|
+
* Ruby 2.5 and Rails 4.2
|
15
|
+
* Ruby 2.5 and Rails 5.1
|
16
|
+
* Ruby 2.5 and Rails 5.2
|
17
|
+
|
8
18
|
## Motivation
|
9
19
|
|
10
20
|
There are objects in every domain that don't have an identity by themselves but in which their equality depends on the values of their attributes.
|
data/lib/embedded/model.rb
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
module Embedded
|
2
2
|
module Model
|
3
|
+
ScopeMethod = ActiveRecord::VERSION::MAJOR >= 4 ? :all.freeze : :scoped.freeze
|
4
|
+
|
3
5
|
def embedded_column_names(embeddable_attr, attributes)
|
4
6
|
attributes.inject({}) do |hash, a|
|
5
7
|
hash.merge(:"#{embeddable_attr}_#{a}" => a)
|
@@ -7,7 +9,7 @@ module Embedded
|
|
7
9
|
end
|
8
10
|
|
9
11
|
def embedded
|
10
|
-
Embedded::Scope.new(
|
12
|
+
Embedded::Scope.new(send(ScopeMethod),embedded_attributes)
|
11
13
|
end
|
12
14
|
|
13
15
|
def embedded_attributes
|
data/lib/embedded/version.rb
CHANGED
metadata
CHANGED
@@ -1,35 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embedded
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- jvillarejo
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-04-
|
11
|
+
date: 2018-04-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activerecord
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - "~>"
|
18
|
-
- !ruby/object:Gem::Version
|
19
|
-
version: '4.2'
|
20
17
|
- - ">="
|
21
18
|
- !ruby/object:Gem::Version
|
22
|
-
version:
|
19
|
+
version: '3.2'
|
23
20
|
type: :runtime
|
24
21
|
prerelease: false
|
25
22
|
version_requirements: !ruby/object:Gem::Requirement
|
26
23
|
requirements:
|
27
|
-
- - "~>"
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: '4.2'
|
30
24
|
- - ">="
|
31
25
|
- !ruby/object:Gem::Version
|
32
|
-
version:
|
26
|
+
version: '3.2'
|
33
27
|
- !ruby/object:Gem::Dependency
|
34
28
|
name: bundler
|
35
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -48,58 +42,44 @@ dependencies:
|
|
48
42
|
name: rake
|
49
43
|
requirement: !ruby/object:Gem::Requirement
|
50
44
|
requirements:
|
51
|
-
- - "
|
45
|
+
- - ">="
|
52
46
|
- !ruby/object:Gem::Version
|
53
|
-
version: '
|
47
|
+
version: '12.3'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
51
|
requirements:
|
58
|
-
- - "
|
52
|
+
- - ">="
|
59
53
|
- !ruby/object:Gem::Version
|
60
|
-
version: '
|
54
|
+
version: '12.3'
|
61
55
|
- !ruby/object:Gem::Dependency
|
62
56
|
name: minitest
|
63
57
|
requirement: !ruby/object:Gem::Requirement
|
64
58
|
requirements:
|
65
|
-
- - "
|
59
|
+
- - ">="
|
66
60
|
- !ruby/object:Gem::Version
|
67
|
-
version: '5.
|
61
|
+
version: '5.11'
|
68
62
|
type: :development
|
69
63
|
prerelease: false
|
70
64
|
version_requirements: !ruby/object:Gem::Requirement
|
71
65
|
requirements:
|
72
|
-
- - "
|
66
|
+
- - ">="
|
73
67
|
- !ruby/object:Gem::Version
|
74
|
-
version: '5.
|
68
|
+
version: '5.11'
|
75
69
|
- !ruby/object:Gem::Dependency
|
76
70
|
name: sqlite3
|
77
71
|
requirement: !ruby/object:Gem::Requirement
|
78
72
|
requirements:
|
79
|
-
- - "
|
73
|
+
- - ">="
|
80
74
|
- !ruby/object:Gem::Version
|
81
75
|
version: '1.3'
|
82
76
|
type: :development
|
83
77
|
prerelease: false
|
84
78
|
version_requirements: !ruby/object:Gem::Requirement
|
85
79
|
requirements:
|
86
|
-
- - "
|
80
|
+
- - ">="
|
87
81
|
- !ruby/object:Gem::Version
|
88
82
|
version: '1.3'
|
89
|
-
- !ruby/object:Gem::Dependency
|
90
|
-
name: byebug
|
91
|
-
requirement: !ruby/object:Gem::Requirement
|
92
|
-
requirements:
|
93
|
-
- - "~>"
|
94
|
-
- !ruby/object:Gem::Version
|
95
|
-
version: '10.0'
|
96
|
-
type: :development
|
97
|
-
prerelease: false
|
98
|
-
version_requirements: !ruby/object:Gem::Requirement
|
99
|
-
requirements:
|
100
|
-
- - "~>"
|
101
|
-
- !ruby/object:Gem::Version
|
102
|
-
version: '10.0'
|
103
83
|
description: Rails plugin that makes value objects embedded into activerecord objects
|
104
84
|
email:
|
105
85
|
- arzivian87@gmail.com
|