easy_data 0.0.2 → 0.0.4

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.
Files changed (45) hide show
  1. data/README +7 -0
  2. data/Rakefile +4 -0
  3. data/easy_data.gemspec +4 -1
  4. data/lib/controllers/easy_datas_controller.rb +122 -21
  5. data/lib/data_models/data_models.rb +25 -19
  6. data/lib/data_models/model_rdf.rb +156 -0
  7. data/lib/data_models/namespaces/cc.rb +36 -0
  8. data/lib/data_models/namespaces/cert.rb +33 -0
  9. data/lib/data_models/namespaces/dc.rb +87 -0
  10. data/lib/data_models/namespaces/dc11.rb +47 -0
  11. data/lib/data_models/namespaces/doap.rb +68 -0
  12. data/lib/data_models/namespaces/exif.rb +192 -0
  13. data/lib/data_models/namespaces/foaf.rb +93 -0
  14. data/lib/data_models/namespaces/geo.rb +35 -0
  15. data/lib/data_models/namespaces/http.rb +50 -0
  16. data/lib/data_models/namespaces/owl.rb +83 -0
  17. data/lib/data_models/namespaces/rdfs.rb +41 -0
  18. data/lib/data_models/namespaces/rsa.rb +35 -0
  19. data/lib/data_models/namespaces/rss.rb +38 -0
  20. data/lib/data_models/namespaces/sioc.rb +110 -0
  21. data/lib/data_models/namespaces/skos.rb +61 -0
  22. data/lib/data_models/namespaces/wot.rb +45 -0
  23. data/lib/data_models/namespaces/xhtml.rb +32 -0
  24. data/lib/data_models/namespaces/xsd.rb +77 -0
  25. data/lib/data_models/namespaces.rb +28 -0
  26. data/lib/data_models/parser_rdf.rb +22 -0
  27. data/lib/easy_data/tasks.rb +86 -0
  28. data/lib/easy_data/templates/easy_datas/_list_properties.html.erb +24 -0
  29. data/lib/easy_data/templates/easy_datas/_list_properties_edit.html.erb +34 -0
  30. data/lib/easy_data/templates/easy_datas/_model_attributes.html.erb +27 -0
  31. data/lib/easy_data/templates/easy_datas/_model_attributes_edit.html.erb +13 -0
  32. data/lib/easy_data/templates/easy_datas/custom_rdf.html.erb +23 -0
  33. data/lib/easy_data/templates/easy_datas/show.html.erb +1 -0
  34. data/lib/easy_data/templates/easy_datas/show.xml.builder +16 -0
  35. data/lib/easy_data/templates/layouts/easy_data_layout.html.erb +15 -0
  36. data/lib/easy_data/templates/rdf/request.xml.builder +1 -0
  37. data/lib/easy_data/templates/rdf/show.builder +1 -0
  38. data/lib/easy_data/templates/stylesheets/.easy_data_style.css.swp +0 -0
  39. data/lib/easy_data/templates/stylesheets/easy_data_style.css +10 -0
  40. data/lib/easy_data/version.rb +1 -1
  41. data/lib/easy_data.rb +51 -2
  42. data/lib/routes.rb +38 -6
  43. data/lib/tasks/.rakes.rb.swp +0 -0
  44. data/lib/tasks/testing_installation.rb +2 -2
  45. metadata +72 -6
@@ -0,0 +1,110 @@
1
+ module EasyData
2
+ module RDF
3
+ class SIOC < Namespaces
4
+
5
+ @@uri = "http://rdfs.org/sioc/ns#"
6
+
7
+ @@properties= {"about" => "",
8
+ "account_of" => "",
9
+ "administrator_of" => "",
10
+ "attachment" => "",
11
+ "avatar" => "",
12
+ "container_of" => "",
13
+ "content" => "",
14
+ "content_encoded" => "", # @deprecated
15
+ "created_at" => "", # @deprecated
16
+ "creator_of" => "",
17
+ "description" => "", # @deprecated
18
+ "earlier_version" => "",
19
+ "email" => "",
20
+ "email_sha1" => "",
21
+ "feed" => "",
22
+ "first_name" => "", # @deprecated
23
+ "follows" => "",
24
+ "function_of" => "",
25
+ "group_of" => "", # @deprecated
26
+ "has_administrator" => "",
27
+ "has_container" => "",
28
+ "has_creator" => "",
29
+ "has_discussion" => "",
30
+ "has_function" => "",
31
+ "has_group" => "", # @deprecated
32
+ "has_host" => "",
33
+ "has_member" => "",
34
+ "has_moderator" => "",
35
+ "has_modifier" => "",
36
+ "has_owner" => "",
37
+ "has_parent" => "",
38
+ "has_part" => "", # @deprecated
39
+ "has_reply" => "",
40
+ "has_scope" => "",
41
+ "has_space" => "",
42
+ "has_subscriber" => "",
43
+ "has_usergroup" => "",
44
+ "host_of" => "",
45
+ "id" => "",
46
+ "ip_address" => "",
47
+ "last_activity_date" => "",
48
+ "last_item_date" => "",
49
+ "last_name" => "", # @deprecated
50
+ "last_reply_date" => "",
51
+ "later_version" => "",
52
+ "latest_version" => "",
53
+ "link" => "",
54
+ "links_to" => "",
55
+ "member_of" => "",
56
+ "moderator_of" => "",
57
+ "modified_at" => "", # @deprecated
58
+ "modifier_of" => "",
59
+ "name" => "",
60
+ "next_by_date" => "",
61
+ "next_version" => "",
62
+ "note" => "",
63
+ "num_authors" => "",
64
+ "num_items" => "",
65
+ "num_replies" => "",
66
+ "num_threads" => "",
67
+ "num_views" => "",
68
+ "owner_of" => "",
69
+ "parent_of" => "",
70
+ "part_of" => "", # @deprecated
71
+ "previous_by_date" => "",
72
+ "previous_version" => "",
73
+ "reference" => "", # @deprecated
74
+ "related_to" => "",
75
+ "reply_of" => "",
76
+ "scope_of" => "",
77
+ "sibling" => "",
78
+ "space_of" => "",
79
+ "subject" => "", # @deprecated
80
+ "subscriber_of" => "",
81
+ "title" => "", # @deprecated
82
+ "topic" => "",
83
+ "usergroup_of" => ""
84
+ }
85
+
86
+ # Return Namespace URI
87
+ def self.get_uri
88
+ @@uri
89
+ end
90
+
91
+ # Return tag to rdf doc
92
+ def self.to_s(property,uri,value)
93
+ @@properties[property].gsub("%uri%",uri).gsub('%value%',value)
94
+ end
95
+
96
+ #Return a list of Namespace's properties
97
+ def self.properties
98
+ @@properties.keys
99
+ end
100
+
101
+ def self.properties_form
102
+ list = {}
103
+ @@properties.keys.each do |property|
104
+ list[property] = property
105
+ end
106
+ list
107
+ end
108
+ end
109
+ end
110
+ end
@@ -0,0 +1,61 @@
1
+ module EasyData
2
+ module RDF
3
+ class SKOS < Namespaces
4
+
5
+ @@uri = "http://www.w3.org/2004/02/skos/core#"
6
+
7
+ @@properties= {"altLabel" => "",
8
+ "broadMatch" => "",
9
+ "broader" => "",
10
+ "broaderTransitive" => "",
11
+ "changeNote" => "",
12
+ "closeMatch" => "",
13
+ "definition" => "",
14
+ "editorialNote" => "",
15
+ "exactMatch" => "",
16
+ "example" => "",
17
+ "hasTopConcept" => "",
18
+ "hiddenLabel" => "",
19
+ "historyNote" => "",
20
+ "inScheme" => "",
21
+ "mappingRelation" => "",
22
+ "member" => "",
23
+ "memberList" => "",
24
+ "narrowMatch" => "",
25
+ "narrower" => "",
26
+ "narrowerTransitive" => "",
27
+ "notation" => "",
28
+ "note" => "",
29
+ "prefLabel" => "",
30
+ "related" => "",
31
+ "relatedMatch" => "",
32
+ "scopeNote" => "",
33
+ "semanticRelation" => "",
34
+ "topConceptOf" => ""
35
+ }
36
+
37
+ # Return Namespace URI
38
+ def self.get_uri
39
+ @@uri
40
+ end
41
+
42
+ # Return tag to rdf doc
43
+ def self.to_s(property,uri,value)
44
+ @@properties[property].gsub("%uri%",uri).gsub('%value%',value)
45
+ end
46
+
47
+ #Return a list of Namespace's properties
48
+ def self.properties
49
+ @@properties.keys
50
+ end
51
+
52
+ def self.properties_form
53
+ list = {}
54
+ @@properties.keys.each do |property|
55
+ list[property] = property
56
+ end
57
+ list
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,45 @@
1
+ module EasyData
2
+ module RDF
3
+ class WOT < Namespaces
4
+
5
+ @@uri = "http://www.xmlns.com/wot/0.1/"
6
+ @@properties= {"assurance" => "",
7
+ "encryptedTo" => "",
8
+ "encrypter" => "",
9
+ "fingerprint" => "",
10
+ "hasKey" => "",
11
+ "hex_id" => "",
12
+ "identity" => "",
13
+ "length" => "",
14
+ "pubkeyAddress" => "",
15
+ "sigdate" => "",
16
+ "signed" => "",
17
+ "signer" => "",
18
+ "sigtime" => ""
19
+ }
20
+
21
+ # Return Namespace URI
22
+ def self.get_uri
23
+ @@uri
24
+ end
25
+
26
+ # Return tag to rdf doc
27
+ def self.to_s(property,uri,value)
28
+ @@properties[property].gsub("%uri%",uri).gsub('%value%',value)
29
+ end
30
+
31
+ #Return a list of Namespace's properties
32
+ def self.properties
33
+ @@properties.keys
34
+ end
35
+
36
+ def self.properties_form
37
+ list = {}
38
+ @@properties.keys.each do |property|
39
+ list[property] = property
40
+ end
41
+ list
42
+ end
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,32 @@
1
+ module EasyData
2
+ module RDF
3
+ class XHTML < Namespaces
4
+ @@uri = "http://www.w3.org/1999/xhtml/vocab#"
5
+ @@properties= {
6
+ }
7
+
8
+ # Return Namespace URI
9
+ def self.get_uri
10
+ @@uri
11
+ end
12
+
13
+ # Return tag to rdf doc
14
+ def self.to_s(property,uri,value)
15
+ @@properties[property].gsub("%uri%",uri).gsub('%value%',value)
16
+ end
17
+
18
+ #Return a list of Namespace's properties
19
+ def self.properties
20
+ @@properties.keys
21
+ end
22
+
23
+ def self.properties_form
24
+ list = {}
25
+ @@properties.keys.each do |property|
26
+ list[property] = property
27
+ end
28
+ list
29
+ end
30
+ end
31
+ end
32
+ end
@@ -0,0 +1,77 @@
1
+ module EasyData
2
+ module RDF
3
+ class XSD < Namespaces
4
+
5
+ @@uri = "http://www.w3.org/2001/XMLSchema#"
6
+
7
+ @@properties= {"NOTATION" => "",
8
+ "QName" => "",
9
+ "anyURI" => "",
10
+ "base64Binary" => "",
11
+ "boolean" => "",
12
+ "date" => "",
13
+ "dateTime" => "",
14
+ "decimal" => "",
15
+ "double" => "",
16
+ "duration" => "",
17
+ "float" => "",
18
+ "gDay" => "",
19
+ "gMonth" => "",
20
+ "gMonthDay" => "",
21
+ "gYear" => "",
22
+ "gYearMonth" => "",
23
+ "hexBinary" => "",
24
+ "string" => "",
25
+ "time" => "",
26
+ "ENTITIES" => "", # XML Schema built-in derived types
27
+ "ENTITY" => "", # @see http://www.w3.org/TR/xmlschema-2/#built-in-derived
28
+ "ID" => "",
29
+ "IDREF" => "",
30
+ "IDREFS" => "",
31
+ "NCName" => "",
32
+ "NMTOKEN" => "",
33
+ "NMTOKENS" => "",
34
+ "Name" => "",
35
+ "byte" => "",
36
+ "int" => "",
37
+ "integer" => "",
38
+ "language" => "",
39
+ "long" => "",
40
+ "negativeInteger" => "",
41
+ "nonNegativeInteger" => "",
42
+ "nonPositiveInteger" => "",
43
+ "normalizedString" => "",
44
+ "positiveInteger" => "",
45
+ "short" => "",
46
+ "token" => "",
47
+ "unsignedByte" => "",
48
+ "unsignedInt" => "",
49
+ "unsignedLong" => "",
50
+ "unsignedShort" => ""
51
+ }
52
+
53
+ # Return Namespace URI
54
+ def self.get_uri
55
+ @@uri
56
+ end
57
+
58
+ # Return tag to rdf doc
59
+ def self.to_s(property,uri,value)
60
+ @@properties[property].gsub("%uri%",uri).gsub('%value%',value)
61
+ end
62
+
63
+ #Return a list of Namespace's properties
64
+ def self.properties
65
+ @@properties.keys
66
+ end
67
+
68
+ def self.properties_form
69
+ list = {}
70
+ @@properties.keys.each do |property|
71
+ list[property] = property
72
+ end
73
+ list
74
+ end
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,28 @@
1
+ module EasyData
2
+ module RDF
3
+ class Namespaces
4
+
5
+
6
+ @@namespaces=['cc','cert','dc','dc11','doap','exif','foaf','geo','http','owl','rdfs','rsa','rss','sioc','skos','wot','xhtml','xsd']
7
+
8
+ def self.list
9
+ @@namespaces
10
+ end
11
+
12
+ def self.list_form
13
+ list = {}
14
+
15
+ @@namespaces.each do |namespace|
16
+ list[namespace] = namespace
17
+ end
18
+
19
+ list
20
+ end
21
+
22
+ def self.get_tag(attribute,namespace,property,value)
23
+
24
+ end
25
+
26
+ end
27
+ end
28
+ end
@@ -0,0 +1,22 @@
1
+ class ParserRdf
2
+
3
+ def to_rdf(model)
4
+ rdf_info = ModelRdf.new
5
+
6
+ model_rdf = {}
7
+
8
+ rdf_info.get_attributes_model(model).each do |att|
9
+ model_rdf << parser_attribute(att)
10
+ end
11
+
12
+ model_rdf
13
+
14
+ end
15
+
16
+
17
+ private
18
+
19
+ def parser_attribute(att,info_rdf)
20
+ {info_rdf => att}
21
+ end
22
+ end
@@ -0,0 +1,86 @@
1
+ require "ftools"
2
+ require 'rake'
3
+ require 'easy_data'
4
+ require 'active_record'
5
+
6
+
7
+ namespace :easy_data do
8
+
9
+ desc <<-END_DESC
10
+ "This tasks install and initialize parameters for run gem."
11
+ END_DESC
12
+ task :install => [:generate_info_initialize,:generate_info_rdf,:copy_style_interface] do
13
+ puts "*** Finish install Easy Data gem in this proyect ***"
14
+ end
15
+
16
+ desc <<-END_DESC
17
+ "Generate info initialize gem"
18
+ END_DESC
19
+ task :generate_info_initialize => :environment do
20
+
21
+ easy_data_initialize_dir = "#{RAILS_ROOT}/config/initializers"
22
+
23
+ file = File.open("#{easy_data_initialize_dir}/load_easy_data.rb","w")
24
+
25
+ puts "Generating info initialize gem"
26
+
27
+ file.puts "#Load templates paths:"
28
+ file.puts "ActionController::Base.view_paths << EasyData.get_view_path"
29
+
30
+
31
+ file.close
32
+ end
33
+
34
+ desc <<-END_DESC
35
+ "Generating yml file with asociate info rdf to model's attributes"
36
+ END_DESC
37
+ task :generate_info_rdf => :environment do
38
+
39
+ puts "Generating RDF informations "
40
+
41
+ models = DataModels.load_models
42
+
43
+ easy_data_dir = "#{RAILS_ROOT}/config/easy_data"
44
+
45
+ unless File.exist? easy_data_dir
46
+ File.makedirs easy_data_dir
47
+ end
48
+
49
+ file = File.open("#{easy_data_dir}/rdf_info.yaml","w")
50
+ rdf_info = {}
51
+
52
+ file.puts "#This is a document about RDF descriptions"
53
+
54
+ models.each do |model|
55
+
56
+ model_data = DataModels.get_model_data(model)
57
+
58
+ if model_data.respond_to?:columns
59
+
60
+ rdf_info[model] = EasyData.yaml_description_model(model_data)
61
+
62
+ end
63
+
64
+ end
65
+
66
+ file.puts rdf_info.to_yaml
67
+
68
+
69
+ file.close
70
+
71
+ puts "Rdf Information Model, was generated in #{easy_data_dir}/rdf_info.yaml"
72
+
73
+ end
74
+
75
+ desc <<-END_DESC
76
+ "Copy style for custom rdf interface"
77
+ END_DESC
78
+ task :copy_style_interface => :environment do
79
+
80
+ file_style = EasyData.get_style_path
81
+ #Copy file to public/stylesheets:
82
+ puts "Copy Style File to this proyect"
83
+ File.copy(File.join(File.dirname(__FILE__), 'templates/stylesheets/easy_data_style.css'),"#{RAILS_ROOT}/public/stylesheets/easy_data_style.css")
84
+ end
85
+
86
+ end
@@ -0,0 +1,24 @@
1
+ <div class="attributes_info">
2
+ <%attributes.each do |att,properties|%>
3
+ <div class="property">
4
+ <span class="attribute"><%=att%></span>
5
+ <% unless properties[:namespace].nil?%>
6
+ <div id="privacy">
7
+ <span>Access privacy: </span>
8
+ <span><%= properties[:privacy] %></span>
9
+ </div>
10
+ <div id="<%="namespace"%>">
11
+ <span>Rdf Namespace: </span>
12
+ <span><%= properties[:namespace] -%></span>
13
+ </div>
14
+ <div id="<%= "property"%>">
15
+ <span>Property:</span>
16
+ <span><%=properties[:property] %></span>
17
+ </div>
18
+ <%else%>
19
+ <span>This attribute can't be publicate</span>
20
+ <%end%>
21
+ </div>
22
+ <br />
23
+ <%end%>
24
+ </div>
@@ -0,0 +1,34 @@
1
+ <div class="attributes_info">
2
+ <%attributes.each do |att,properties|%>
3
+ <div class="property">
4
+ <span class="attribute"><%=att%></span>
5
+ <br />
6
+ <% unless properties[:privacy].nil?%>
7
+ <div id="select_privacy">
8
+ <span>Access privacy: </span>
9
+ <%= select "privacy",att, {"Hidden" => 0,"Public" => 1,"Authenticated" => 2}%>
10
+ <span class="rdf_info"><%= "(Current value: #{properties[:privacy]})"%></span>
11
+ </div>
12
+ <br />
13
+
14
+ <div id="<%="select_#{model}_#{att}"%>">
15
+ <span>Rdf Type: </span>
16
+ <%= select "rdf_type_#{type}",att,namespaces,{:prompt => "Select a namespaces..."} -%>
17
+ <span class="rdf_info"><%= "(Current value: #{properties[:namespace]})" %></span>
18
+ </div>
19
+ <%= observe_field "rdf_type_#{type}_#{att}",{:url => {:controller => "easy_datas",:action => "load_properties",
20
+ :block=>"properties_#{att}",:attribute => att,:model => model,:type => type},
21
+ :with => '"id="+value',
22
+ :on => :selected,
23
+ :update => "properties_#{model}_#{att}"}
24
+ %>
25
+ <br/>
26
+ <div id="<%= "properties_#{model}_#{att}"%>">&nbsp;</div>
27
+ <% else %>
28
+ <span> This attribute can't be publicate</span>
29
+ <% end%>
30
+ </div>
31
+ <br/>
32
+ <%end%>
33
+ </div>
34
+
@@ -0,0 +1,27 @@
1
+ <div id="list_attributes" class="model_attributes">
2
+
3
+ <%if @model_attributes.respond_to?:each%>
4
+ <!-- ATTRIBUTES -->
5
+ <span>Resource Attributes</span>
6
+ <%= render :partial => "list_properties",:locals => {:attributes => @model_attributes["attributes"]} %>
7
+ <span>Associations whit others Resources</span>
8
+ <!--ASSOCIATIONS-->
9
+ <%= render :partial => "list_properties",:locals => {:attributes => @model_attributes["associations"]} %>
10
+ <%else%>
11
+ <span>Model no found</span>
12
+ <%end%>
13
+ <span>
14
+ <%= link_to_remote "Edit",:url => {:controller => 'easy_datas',
15
+ :action => :model_attributes_edit,
16
+ :model => @model},
17
+ :update => "#{@model}_attributes",
18
+ :success => "Effect.Appear('#{@model}_attributes', { duration: 0.4 })",
19
+ :failure => "alert('Ooops! An error occurred.')"
20
+ %>
21
+ </span>
22
+
23
+ <%= link_to_function "[Close]","Effect.Fade('#{@model}_attributes',{duration: .3})",:class=>"close_list"%>
24
+
25
+ </div>
26
+
27
+
@@ -0,0 +1,13 @@
1
+ <% form_remote_tag :url => {:controller => 'easy_datas',:action => "custom_attributes",:model => @model},
2
+ :update => "#{@model}_attributes" do -%>
3
+ <div id="list_attributes" class="model_attributes">
4
+ <!-- Attributes -->
5
+ <span>Attributes</span>
6
+ <%= render :partial => "list_properties_edit",:locals => {:attributes => @model_attributes["attributes"],:model => @model,:namespaces => @namespaces,:type => "attributes"}%>
7
+ <!--Associations-->
8
+ <span>Associations</span>
9
+ <%= render :partial => "list_properties_edit",:locals => {:attributes => @model_attributes["associations"],:model => @model,:namespaces => @namespaces,:type => "associations"}%>
10
+ <%= submit_tag "Send" %>
11
+ <%= link_to_function "[Close]","Effect.Fade('#{@model}_attributes',{duration: .3})",:class=>"close_list"%>
12
+ <%end -%>
13
+ </div>
@@ -0,0 +1,23 @@
1
+ <h2>Model List</h2>
2
+ <hr/>
3
+ <%if @models.respond_to?:each%>
4
+ <ul>
5
+ <%@models.each do |model|%>
6
+ <li class="list_model">
7
+ <h2><%= model %></h2>
8
+ <span><%= link_to_remote "Abrir",:url => {:controller => 'easy_datas',
9
+ :action => :model_attributes,
10
+ :model => model},
11
+ :update => "#{model}_attributes",
12
+ :success => "Effect.Appear('#{model}_attributes', { duration: 0.4 })",
13
+ :failure => "alert('Ooops! An error occurred.')"
14
+ %>
15
+ </span>
16
+
17
+ <div id="<%=model%>_attributes" class="list_attributes" style="display:none"></div>
18
+ </li>
19
+ <%end%>
20
+ </ul>
21
+ <%else%>
22
+ <h3> Not list model </h3>
23
+ <%end%>
@@ -0,0 +1 @@
1
+ <h1>Show template</h1>
@@ -0,0 +1,16 @@
1
+ xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
2
+
3
+ xml.rdf :RDF, @rdf_model[:header] do
4
+ @rdf_model[:body].each do |element,prop|
5
+ xml.rdf :Description, {:about => prop["description"]} do
6
+ prop["attributes"].each do |att,value|
7
+ xml.tag!(att,value)
8
+ end
9
+ prop["associations"].each do |assoc,value|
10
+ value[:id].each do |id|
11
+ xml.tag!(assoc,nil,{"rdf:resource"=>"#{@host}/#{value[:model]}/id:#{id}"})
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,15 @@
1
+ <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
+ <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
3
+ <head>
4
+ <meta http-equiv="content-type" content="text/html; charset=utf-8" />
5
+ <title></title>
6
+ <%= javascript_include_tag(:defaults)%>
7
+ <%= stylesheet_link_tag "easy_data_style" %>
8
+
9
+ </head>
10
+ <body>
11
+ <div id="content">
12
+ <%= yield %>
13
+ </div>
14
+ </body>
15
+ </html>
@@ -0,0 +1 @@
1
+ xml.instruct!
@@ -0,0 +1 @@
1
+ xml.instruct! :xml, :version => "1.0", :encoding => "UTF-8"
@@ -0,0 +1,10 @@
1
+ body{width:90%;padding: 2% 5%}
2
+ h1{color:red;text-decoration:underline}
3
+ ul{list-style:none;width:90%;float:left;}
4
+ ul li.list_model{color:white;background:grey}
5
+ ul div.list_attributes{overflow:hidden;background-color:white;color:black;padding:0 5%;}
6
+ ul.attributes_info{width:100%;clear:left;padding:0}
7
+ div.attributes_info{padding: 1% 3%;overflow:hidden}
8
+ div.attributes_info div.property{border-bottom:1px black solid;padding:1em}
9
+ div.attributes_info div.property span.attribute{font-size:1.15em;font-weight:bold;}
10
+ div.attributes_info div.property span.rdf_info{color:grey;font-size:12px}
@@ -1,3 +1,3 @@
1
1
  module EasyData
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.4"
3
3
  end