medea 0.2.12 → 0.2.13
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.
- data/VERSION +1 -1
- data/lib/medea.rb +1 -0
- data/lib/medea/jasonobject.rb +1 -24
- data/lib/medea/list_properties.rb +31 -0
- metadata +4 -3
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.13
|
data/lib/medea.rb
CHANGED
data/lib/medea/jasonobject.rb
CHANGED
@@ -14,30 +14,7 @@ module Medea
|
|
14
14
|
inheritable_attributes :owned
|
15
15
|
@owned = false
|
16
16
|
|
17
|
-
|
18
|
-
list = {}
|
19
|
-
list = self.class_variable_get :@@lists if self.class_variable_defined? :@@lists
|
20
|
-
list[list_name] = [list_class, list_type]
|
21
|
-
self.send(:class_variable_set, "@@lists", list)
|
22
|
-
|
23
|
-
|
24
|
-
define_method(list_name) do
|
25
|
-
#puts "Looking at the #{list_name.to_s} list, which is full of #{list_type.name}s"
|
26
|
-
JasonListProperty.new self, list_name, list_class, list_type
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
def has_many list_name, list_class
|
31
|
-
create_member_list list_name, list_class, :reference
|
32
|
-
end
|
33
|
-
|
34
|
-
def owns_many list_name, list_class
|
35
|
-
create_member_list list_name, list_class, :value
|
36
|
-
|
37
|
-
#also modify the items in the list so that they know that they're owned
|
38
|
-
#list_type.class_variable_set :@@owner, self
|
39
|
-
list_class.owned = true
|
40
|
-
end
|
17
|
+
include JasonObjectListProperties
|
41
18
|
|
42
19
|
#end meta
|
43
20
|
|
@@ -0,0 +1,31 @@
|
|
1
|
+
module JasonObjectListProperties
|
2
|
+
def self.included(base)
|
3
|
+
base.extend(MetaListProperties)
|
4
|
+
end
|
5
|
+
|
6
|
+
module MetaListProperties
|
7
|
+
def create_member_list list_name, list_class, list_type
|
8
|
+
list = {}
|
9
|
+
list = self.class_variable_get :@@lists if self.class_variable_defined? :@@lists
|
10
|
+
list[list_name] = [list_class, list_type]
|
11
|
+
self.send(:class_variable_set, "@@lists", list)
|
12
|
+
|
13
|
+
define_method(list_name) do
|
14
|
+
#puts "Looking at the #{list_name.to_s} list, which is full of #{list_type.name}s"
|
15
|
+
Medea::JasonListProperty.new self, list_name, list_class, list_type
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
def has_many list_name, list_class
|
20
|
+
create_member_list list_name, list_class, :reference
|
21
|
+
end
|
22
|
+
|
23
|
+
def owns_many list_name, list_class
|
24
|
+
create_member_list list_name, list_class, :value
|
25
|
+
|
26
|
+
#also modify the items in the list so that they know that they're owned
|
27
|
+
#list_type.class_variable_set :@@owner, self
|
28
|
+
list_class.owned = true
|
29
|
+
end
|
30
|
+
end
|
31
|
+
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: medea
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 13
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 13
|
10
|
+
version: 0.2.13
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Michael Jensen
|
@@ -78,6 +78,7 @@ files:
|
|
78
78
|
- lib/medea/jasondeferredquery.rb
|
79
79
|
- lib/medea/jasonlistproperty.rb
|
80
80
|
- lib/medea/jasonobject.rb
|
81
|
+
- lib/medea/list_properties.rb
|
81
82
|
has_rdoc: true
|
82
83
|
homepage: https://github.com/rob-linton/Medea
|
83
84
|
licenses: []
|