utopia_data 0.0.1 → 1.0.0.beta
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/README.rdoc +5 -3
- data/Rakefile +0 -15
- data/lib/utopia_data/resource/models.rb +26 -10
- data/lib/utopia_data/resource/representer.rb +8 -0
- data/lib/utopia_data/version.rb +1 -1
- metadata +11 -14
data/README.rdoc
CHANGED
@@ -5,8 +5,10 @@ Quando minha Utopia de Abertura de Dados por parte do governo for realidade,
|
|
5
5
|
ainda então, estaremos caminhando para um pais mais democratico
|
6
6
|
|
7
7
|
== Install
|
8
|
-
UtopiaData run on top of Rails application
|
9
|
-
gem 'utopia_data'
|
8
|
+
UtopiaData run on top of Rails application, on your Gemfile
|
9
|
+
gem 'utopia_data'
|
10
|
+
gem "inherited_resources"
|
11
|
+
gem "roar-rails"
|
10
12
|
|
11
13
|
bundle install
|
12
14
|
bundle exec rails g utopia:resource law
|
@@ -22,7 +24,7 @@ In the example _law_ is my resource, the should be a word in singular
|
|
22
24
|
bundle exec rails g utopia:resource law
|
23
25
|
|
24
26
|
It will create app/resource/law.rb, like it
|
25
|
-
UtopiaData.register :
|
27
|
+
UtopiaData.register :law do
|
26
28
|
end
|
27
29
|
|
28
30
|
=== Changing default
|
data/Rakefile
CHANGED
@@ -23,19 +23,4 @@ end
|
|
23
23
|
APP_RAKEFILE = File.expand_path("../spec/dummy/Rakefile", __FILE__)
|
24
24
|
load 'rails/tasks/engine.rake'
|
25
25
|
|
26
|
-
|
27
|
-
desc "update documentation"
|
28
|
-
task :update_documentation => :rdoc do
|
29
|
-
|
30
|
-
system 'mv rdoc /tmp/rdoc'
|
31
|
-
system 'git checkout gh-pages'
|
32
|
-
system 'rm -Rf doc/code'
|
33
|
-
system 'mv /tmp/rdoc doc/code'
|
34
|
-
system 'git add doc/'
|
35
|
-
system 'git commit -m "updated code documentation"'
|
36
|
-
system 'git push origin gh-pages'
|
37
|
-
system 'git checkout master'
|
38
|
-
|
39
|
-
end
|
40
|
-
|
41
26
|
Bundler::GemHelper.install_tasks
|
@@ -22,10 +22,12 @@
|
|
22
22
|
module UtopiaData
|
23
23
|
class Resource
|
24
24
|
module Models
|
25
|
+
# @return [String] the model class name
|
25
26
|
def model_name
|
26
27
|
resource_class_name
|
27
28
|
end
|
28
29
|
|
30
|
+
# @return [ActiveRecord] the model to current resource
|
29
31
|
def model
|
30
32
|
@model ||= resource_class
|
31
33
|
end
|
@@ -36,24 +38,38 @@ module UtopiaData
|
|
36
38
|
end
|
37
39
|
|
38
40
|
def set(attribute, options = {})
|
39
|
-
@columns << attribute
|
41
|
+
@columns << attribute.to_s
|
40
42
|
end
|
41
43
|
|
42
44
|
def columns
|
43
|
-
@columns ||=
|
45
|
+
@columns ||= model.column_names
|
44
46
|
end
|
45
47
|
|
46
48
|
# Create the resource model
|
47
49
|
def create_resource_model
|
48
|
-
|
49
|
-
|
50
|
-
class ::#{model_name} < ActiveRecord::Base
|
51
|
-
#{table_name}
|
52
|
-
attr_accessor #{columns.join(", ")}
|
53
|
-
end
|
54
|
-
MODEL
|
55
|
-
eval model_class
|
50
|
+
initialize_model
|
51
|
+
configure_model
|
56
52
|
end
|
53
|
+
|
54
|
+
private
|
55
|
+
def initialize_model
|
56
|
+
model_class = <<-MODEL
|
57
|
+
class ::#{model_name} < ActiveRecord::Base
|
58
|
+
attr_accessible nil
|
59
|
+
end
|
60
|
+
MODEL
|
61
|
+
eval model_class
|
62
|
+
end
|
63
|
+
|
64
|
+
def configure_model
|
65
|
+
model_class = <<-MODEL
|
66
|
+
class ::#{model_name}
|
67
|
+
attr_accessible #{columns.map{|c| ":#{c}"}.join(", ")}
|
68
|
+
end
|
69
|
+
MODEL
|
70
|
+
@model.table_name = @config[:table_name] unless @config[:table_name].nil?
|
71
|
+
eval model_class
|
72
|
+
end
|
57
73
|
end
|
58
74
|
end
|
59
75
|
end
|
@@ -32,6 +32,14 @@ module UtopiaData
|
|
32
32
|
include Roar::Representer::Feature::Hypermedia
|
33
33
|
|
34
34
|
#{columns.map{|c| "property :#{c}" }.join("\n")}
|
35
|
+
|
36
|
+
link :self do
|
37
|
+
#{resource_name.singular}_url(self)
|
38
|
+
end
|
39
|
+
|
40
|
+
link :#{resource_name.plural} do
|
41
|
+
#{resource_name.plural}_url
|
42
|
+
end
|
35
43
|
end
|
36
44
|
MODEL
|
37
45
|
eval representer_module
|
data/lib/utopia_data/version.rb
CHANGED
metadata
CHANGED
@@ -1,8 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: utopia_data
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
5
|
-
prerelease:
|
4
|
+
version: 1.0.0.beta
|
5
|
+
prerelease: 6
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
8
8
|
- Duke
|
@@ -13,7 +13,7 @@ date: 2012-04-14 00:00:00.000000000 Z
|
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
16
|
-
requirement: &
|
16
|
+
requirement: &70233330418020 !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ~>
|
@@ -21,10 +21,10 @@ dependencies:
|
|
21
21
|
version: 3.2.2
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements: *
|
24
|
+
version_requirements: *70233330418020
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: inherited_resources
|
27
|
-
requirement: &
|
27
|
+
requirement: &70233330417500 !ruby/object:Gem::Requirement
|
28
28
|
none: false
|
29
29
|
requirements:
|
30
30
|
- - ! '>='
|
@@ -32,10 +32,10 @@ dependencies:
|
|
32
32
|
version: '0'
|
33
33
|
type: :runtime
|
34
34
|
prerelease: false
|
35
|
-
version_requirements: *
|
35
|
+
version_requirements: *70233330417500
|
36
36
|
- !ruby/object:Gem::Dependency
|
37
37
|
name: roar-rails
|
38
|
-
requirement: &
|
38
|
+
requirement: &70233330416780 !ruby/object:Gem::Requirement
|
39
39
|
none: false
|
40
40
|
requirements:
|
41
41
|
- - ! '>='
|
@@ -43,7 +43,7 @@ dependencies:
|
|
43
43
|
version: '0'
|
44
44
|
type: :runtime
|
45
45
|
prerelease: false
|
46
|
-
version_requirements: *
|
46
|
+
version_requirements: *70233330416780
|
47
47
|
description: Gem to open data.
|
48
48
|
email:
|
49
49
|
- duke@vertigem.xxx
|
@@ -93,16 +93,13 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
93
93
|
version: '0'
|
94
94
|
segments:
|
95
95
|
- 0
|
96
|
-
hash:
|
96
|
+
hash: 1815176515712391208
|
97
97
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
98
98
|
none: false
|
99
99
|
requirements:
|
100
|
-
- - ! '
|
100
|
+
- - ! '>'
|
101
101
|
- !ruby/object:Gem::Version
|
102
|
-
version:
|
103
|
-
segments:
|
104
|
-
- 0
|
105
|
-
hash: 2849814793115095415
|
102
|
+
version: 1.3.1
|
106
103
|
requirements: []
|
107
104
|
rubyforge_project:
|
108
105
|
rubygems_version: 1.8.15
|