joerivandervelde-molgenis-gem 0.0.4 → 0.0.6
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/molgenis_dot.rb +3 -3
- data/lib/molgenis_model.rb +20 -1
- data/lib/molgenis_parser.rb +2 -2
- metadata +1 -1
data/lib/molgenis_dot.rb
CHANGED
@@ -88,11 +88,11 @@ module MOLGENIS
|
|
88
88
|
fontcolor = "black"
|
89
89
|
color = "black"
|
90
90
|
<% end %>
|
91
|
-
label = "{<% if entity.abstract %>Interface:<% end %><%= entity.name %><% entity.implements.each do |interface| %>\nimplements <%=interface%><% end %>|<% entity.fields.each do |f| %><% if !f.system %><%=f.name%> : <%=f.type %><% if (f.type=="xref" || f.type=="mref") %>(<%= f.xref_entity %>.<%=f.xref_field %>)<%end%>\l<%end%><%end%>}"
|
91
|
+
label = "{<% if (entity.abstract) %>Interface:<% end %><%= entity.name %><% entity.implements.each do |interface| %>\nimplements <%=interface%><% end %>|<% entity.fields.each do |f| %><% if !f.system %><%=f.name%> : <%=f.type %><% if (f.type=="xref" || f.type=="mref") %>(<%= f.xref_entity %>.<%=f.xref_field %>)<%end%>\l<%end%><%end%>}"
|
92
92
|
]
|
93
93
|
<% } %>
|
94
94
|
|
95
|
-
/*interface relationships
|
95
|
+
/*interface relationships
|
96
96
|
edge [
|
97
97
|
arrowhead = "empty"
|
98
98
|
color = "grey"
|
@@ -103,7 +103,7 @@ module MOLGENIS
|
|
103
103
|
"<%= entity.name %>" -> "<%= interface %>"
|
104
104
|
<%end%>
|
105
105
|
<%end %>
|
106
|
-
<% end %>
|
106
|
+
<% end %> */
|
107
107
|
|
108
108
|
/*extends relationships*/
|
109
109
|
edge [
|
data/lib/molgenis_model.rb
CHANGED
@@ -23,7 +23,7 @@ module MOLGENIS # :nodoc:
|
|
23
23
|
}
|
24
24
|
|
25
25
|
}
|
26
|
-
#
|
26
|
+
# all_entities.size
|
27
27
|
#puts @modules.size
|
28
28
|
all_entities
|
29
29
|
end
|
@@ -62,6 +62,25 @@ module MOLGENIS # :nodoc:
|
|
62
62
|
@implements = []
|
63
63
|
end
|
64
64
|
|
65
|
+
def get_implemented_fields(model)
|
66
|
+
implemented_fields = []
|
67
|
+
|
68
|
+
@implements.each do |interface_name|
|
69
|
+
#find interface
|
70
|
+
entity = nil
|
71
|
+
model.all_entities.each do |e|
|
72
|
+
if(e.name == interface_name)
|
73
|
+
entity = e
|
74
|
+
end
|
75
|
+
end
|
76
|
+
entity.fields.each do |e|
|
77
|
+
implemented_fields << e
|
78
|
+
end
|
79
|
+
end
|
80
|
+
|
81
|
+
implemented_fields
|
82
|
+
end
|
83
|
+
|
65
84
|
end
|
66
85
|
|
67
86
|
class FieldModel
|
data/lib/molgenis_parser.rb
CHANGED
@@ -9,7 +9,6 @@ module MOLGENIS
|
|
9
9
|
# foo = ... # stuff to initialize foo here
|
10
10
|
# bar = MOLGENIS_MODEL:Parser.new.parse(foo)
|
11
11
|
def parse(molgenis_src)
|
12
|
-
puts "tests"
|
13
12
|
case molgenis_src.class.to_s
|
14
13
|
when /^string$/i
|
15
14
|
document = LibXML::XML::Parser.string(molgenis_src,:encoding => LibXML::XML::Encoding::UTF_8).parse
|
@@ -32,7 +31,6 @@ module MOLGENIS
|
|
32
31
|
def create_model(element, version) # :nodoc:
|
33
32
|
model = MolgenisModel.new
|
34
33
|
model.name = element.attributes['name']
|
35
|
-
puts element.attributes['name'] + model.name
|
36
34
|
model.version = version
|
37
35
|
model.description = ""
|
38
36
|
element.find("description").each { |desc|
|
@@ -68,6 +66,7 @@ module MOLGENIS
|
|
68
66
|
entity.module_name = module_obj.name
|
69
67
|
entity_attributes = entity_xml.attributes
|
70
68
|
entity.name = entity_attributes["name"]
|
69
|
+
entity.abstract = entity_attributes["abstract"]
|
71
70
|
entity.color = colorno
|
72
71
|
|
73
72
|
entity.description =""
|
@@ -87,6 +86,7 @@ module MOLGENIS
|
|
87
86
|
field_attributes = field_xml.attributes
|
88
87
|
field.name = field_attributes["name"]
|
89
88
|
field.type = field_attributes["type"]
|
89
|
+
field.type = "string" if field.type.nil?
|
90
90
|
field.label = field_attributes["label"]
|
91
91
|
field.description = field_attributes["description"]
|
92
92
|
if(field_attributes["xref_field"])
|