easy_data 0.0.1

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/.gitignore ADDED
@@ -0,0 +1,4 @@
1
+ *.gem
2
+ .bundle
3
+ Gemfile.lock
4
+ pkg/*
data/Gemfile ADDED
@@ -0,0 +1,4 @@
1
+ source "http://rubygems.org"
2
+
3
+ # Specify your gem's dependencies in linked_data.gemspec
4
+ gemspec
data/README ADDED
@@ -0,0 +1,6 @@
1
+ This is a gem proyect.
2
+
3
+ This gem auto-generate Linked data information about models in Ruby on
4
+ Rails projects.
5
+
6
+
data/Rakefile ADDED
@@ -0,0 +1,4 @@
1
+ require 'bundler/gem_tasks'
2
+
3
+ require 'yard' #Documentation gem
4
+ require 'hpricot'
Binary file
data/bin/linked_data ADDED
@@ -0,0 +1,5 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require "lib/data_models/data_models"
4
+
5
+ puts DataModels.load_models
data/init.rb ADDED
@@ -0,0 +1,14 @@
1
+ #require 'lib/routing/route'
2
+ #require 'action_controller/routing'
3
+
4
+ #ActionController::Routing::RouteSet::Mapper.send :include,
5
+ # LinkedData::Routing::Routes::MapperExtensions
6
+
7
+ ActionController::Routing::Routes.draw do |map|
8
+ map.resource ":namespace/:model/:id.:format", :controller => "",
9
+ :action => "foaf",
10
+ :conditions => {:method => :get
11
+ :namespace => ["foaf","owl","doap"]
12
+ },
13
+ :only => [:show]
14
+ end
@@ -0,0 +1,11 @@
1
+ class LinkedDatasController < ApplicationController
2
+ def foaf
3
+ if params[:id]
4
+ @request = ActiveRecord::Base.connection.select_all()
5
+ else
6
+ @request = ActiveRecord::Base.connection.select_all()
7
+ end
8
+
9
+ render :template => "request_objects"
10
+ end
11
+ end
@@ -0,0 +1,33 @@
1
+ module DataModels
2
+
3
+ def self.load_models
4
+
5
+ models = []
6
+
7
+ #To test executable /bin/linked_data
8
+ #Dir["/home/jnillo/Documentos/Proyectos/redmine/app/models/**/*.rb"].each do |file|
9
+ # models << file.gsub('/home/jnillo/Documentos/Proyectos/redmine/app/models/',"").gsub('.rb','').gsub(":","")
10
+ #end
11
+
12
+
13
+ Dir["#{RAILS_ROOT}/app/models/**/*.rb"].each do |file|
14
+ models << file.gsub(RAILS_ROOT+'/app/models/',"").gsub('.rb','').classify.gsub(":","")
15
+ end
16
+
17
+ models
18
+
19
+ end
20
+
21
+ def self.model_attributes(model)
22
+
23
+ clase = eval model
24
+
25
+ clase.columns.map{|att| [att.name,att.type]}
26
+
27
+ end
28
+
29
+ def self.build_models_yaml_file
30
+
31
+ self.models
32
+ end
33
+ end
@@ -0,0 +1,3 @@
1
+ module LinkedData
2
+ VERSION = "0.0.1"
3
+ end
@@ -0,0 +1,35 @@
1
+ require "linked_data/version"
2
+ require "data_models/data_models"
3
+
4
+ module LinkedData
5
+
6
+ def show_linked_data
7
+ models = LinkedData.find :all
8
+ end
9
+
10
+ # Changes model's attributes with ajax call
11
+ def update_linked_data_model
12
+
13
+ model = LinkedData.find_by_model params[:model]
14
+
15
+ attributes = model["attributes"].to_hash
16
+ attributes[params[:attribute]] = !attributes[params[:attribute]]
17
+
18
+ model["query"] = generate_query(params[:model],attributes)
19
+ model["attributes"] = attributes.to_set
20
+
21
+ if model.valid?
22
+ model.save
23
+ else
24
+ false
25
+ end
26
+ end
27
+
28
+ private
29
+
30
+ def generate_query(model,params)
31
+ query = "Select #{params.key.join(", ")}
32
+ FROM #{model};"
33
+ end
34
+
35
+ end
Binary file
@@ -0,0 +1,6 @@
1
+ <rdf:RDF
2
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
3
+ <%= get_namespaces @namespaces -%>
4
+ >
5
+ <%= generate_rdf_request(@request,@namespaces) -%>
6
+ </rdf:RDF>
@@ -0,0 +1,47 @@
1
+ # -*- encoding: utf-8 -*-
2
+ $:.push File.expand_path("../lib", __FILE__)
3
+ require "linked_data/version"
4
+
5
+ Gem::Specification.new do |s|
6
+ s.name = "easy_data"
7
+ s.version = LinkedData::VERSION
8
+ s.authors = ["jnillo"]
9
+ s.email = ["juan.vazquez@betybyte.com"]
10
+ s.homepage = "http://rubygems.org/gem/easy_data"
11
+ s.summary = "This is not a summary"
12
+ s.description = "this is a gem description"
13
+
14
+ s.rubyforge_project = "easy_data"
15
+
16
+ s.files = `git ls-files`.split("\n")
17
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
18
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
19
+ s.require_paths = ["lib"]
20
+
21
+ #gem dependencies:
22
+ #All is not necesary, only is for study his methods
23
+
24
+ #s.add_dependency(%q<addressable>, ["= 2.2.4"])
25
+ #s.add_dependency(%q<rdf>, [">= 0"])
26
+ #s.add_dependency(%q<haml>, [">= 3.0.0"])
27
+ #s.add_dependency(%q<nokogiri>, [">= 1.3.3"])
28
+ # s.add_dependency(%q<open-uri-cached>, [">= 0.0.3"])
29
+ # s.add_dependency(%q<rdf-spec>, [">= 0"])
30
+ # s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
31
+ # s.add_dependency(%q<rdf-n3>, [">= 0.3.1"])
32
+ # s.add_dependency(%q<rspec>, [">= 2.1.0"])
33
+ # s.add_dependency(%q<sxp>, [">= 0"])
34
+ # s.add_dependency(%q<sparql-algebra>, [">= 0"])
35
+ # s.add_dependency(%q<sparql-grammar>, [">= 0"])
36
+ # s.add_dependency(%q<spira>, [">= 0.0.12"])
37
+ # s.add_dependency(%q<yard>, [">= 0.6.4"])
38
+ # s.add_dependency(%q<rdf>, [">= 0.3.3"])
39
+ # s.add_dependency(%q<haml>, [">= 3.0.0"])
40
+ # s.add_dependency(%q<nokogiri>, [">= 1.4.4"])
41
+ # s.add_dependency(%q<spira>, [">= 0.0.12"])
42
+ # s.add_dependency(%q<rspec>, [">= 2.5.0"])
43
+ # s.add_dependency(%q<rdf-spec>, [">= 0.3.3"])
44
+ # s.add_dependency(%q<rdf-isomorphic>, [">= 0.3.4"])
45
+ # s.add_dependency(%q<yard>, [">= 0"])
46
+
47
+ end
data/setup.rb ADDED
File without changes
metadata ADDED
@@ -0,0 +1,83 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: easy_data
3
+ version: !ruby/object:Gem::Version
4
+ hash: 29
5
+ prerelease: false
6
+ segments:
7
+ - 0
8
+ - 0
9
+ - 1
10
+ version: 0.0.1
11
+ platform: ruby
12
+ authors:
13
+ - jnillo
14
+ autorequire:
15
+ bindir: bin
16
+ cert_chain: []
17
+
18
+ date: 2011-06-26 00:00:00 +02:00
19
+ default_executable:
20
+ dependencies: []
21
+
22
+ description: this is a gem description
23
+ email:
24
+ - juan.vazquez@betybyte.com
25
+ executables:
26
+ - linked_data
27
+ extensions: []
28
+
29
+ extra_rdoc_files: []
30
+
31
+ files:
32
+ - .gitignore
33
+ - Gemfile
34
+ - README
35
+ - Rakefile
36
+ - bin/.linked_data.swp
37
+ - bin/linked_data
38
+ - init.rb
39
+ - lib/controllers/.linked_datas_controller.rb.swp
40
+ - lib/controllers/linked_datas_controller.rb
41
+ - lib/data_models/data_models.rb
42
+ - lib/linked_data.rb
43
+ - lib/linked_data/version.rb
44
+ - lib/views/.rdf.html.erb.swp
45
+ - lib/views/rdf.html.erb
46
+ - linked_data.gemspec
47
+ - setup.rb
48
+ has_rdoc: true
49
+ homepage: http://rubygems.org/gem/easy_data
50
+ licenses: []
51
+
52
+ post_install_message:
53
+ rdoc_options: []
54
+
55
+ require_paths:
56
+ - lib
57
+ required_ruby_version: !ruby/object:Gem::Requirement
58
+ none: false
59
+ requirements:
60
+ - - ">="
61
+ - !ruby/object:Gem::Version
62
+ hash: 3
63
+ segments:
64
+ - 0
65
+ version: "0"
66
+ required_rubygems_version: !ruby/object:Gem::Requirement
67
+ none: false
68
+ requirements:
69
+ - - ">="
70
+ - !ruby/object:Gem::Version
71
+ hash: 3
72
+ segments:
73
+ - 0
74
+ version: "0"
75
+ requirements: []
76
+
77
+ rubyforge_project: easy_data
78
+ rubygems_version: 1.3.7
79
+ signing_key:
80
+ specification_version: 3
81
+ summary: This is not a summary
82
+ test_files: []
83
+