ubiquo 0.2.7 → 0.2.8
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +1 -0
- data/VERSION +1 -1
- data/lib/ubiquo/options.rb +7 -0
- data/lib/ubiquo/template.erb +11 -1
- data/test/fixtures/template.erb +40 -32
- data/test/ubiquo/generator_test.rb +7 -0
- data/test/ubiquo/options_test.rb +6 -0
- data/ubiquo.gemspec +5 -2
- metadata +21 -7
data/Rakefile
CHANGED
@@ -21,6 +21,7 @@ begin
|
|
21
21
|
]
|
22
22
|
gem.add_dependency(%q<rails>, '= 2.3.5')
|
23
23
|
|
24
|
+
gem.add_development_dependency(%q<mocha>, '>= 0.9.8')
|
24
25
|
gem.add_development_dependency(%q<highline>, '>= 1.5.2')
|
25
26
|
gem.add_development_dependency(%q<ya2yaml>, '>= 0.26')
|
26
27
|
# gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.
|
1
|
+
0.2.8
|
data/lib/ubiquo/options.rb
CHANGED
@@ -37,6 +37,13 @@ module Ubiquo
|
|
37
37
|
suported_profiles.each do |profile, msg|
|
38
38
|
o.on("--#{profile.to_s}", msg) { self[:profile] = profile }
|
39
39
|
end
|
40
|
+
o.on(
|
41
|
+
"--custom [PLUGINS]",
|
42
|
+
"Includes minimal template, but you can add extra plugins"
|
43
|
+
) do |plugins|
|
44
|
+
self[:profile] = :custom
|
45
|
+
self[:plugins] = plugins.split(",")
|
46
|
+
end
|
40
47
|
|
41
48
|
o.separator "\nSelects ubiquo default locale (defaults to english): "
|
42
49
|
|
data/lib/ubiquo/template.erb
CHANGED
@@ -19,6 +19,8 @@ choosen_plugin_set = "<%= @opts[:profile].to_s %>"
|
|
19
19
|
|
20
20
|
case choosen_plugin_set
|
21
21
|
when "minimal" then selected_plugins = minimal_plugins
|
22
|
+
when "custom"
|
23
|
+
selected_plugins = (minimal_plugins + <%= @opts[:plugins].inspect %>).uniq
|
22
24
|
else selected_plugins = minimal_plugins + rest_plugins
|
23
25
|
end
|
24
26
|
|
@@ -197,7 +199,12 @@ ActionController::Routing::Routes.draw do |map|
|
|
197
199
|
|
198
200
|
# Ubiquo plugins routes. See routes.rb from each plugin path.
|
199
201
|
#{ubiquo_routes}
|
200
|
-
|
202
|
+
<% if opts[:gnuine] %>
|
203
|
+
<% if @opts[:template] == :edge %>
|
204
|
+
<%= "map.from_plugin :ubiquo_categories" %>
|
205
|
+
<% end %>
|
206
|
+
<%= "map.from_plugin :ubiquo_design" %>
|
207
|
+
<% end %>
|
201
208
|
############# default routes
|
202
209
|
#map.connect ':controller/:action/:id'
|
203
210
|
#map.connect ':controller/:action/:id.:format'
|
@@ -253,6 +260,9 @@ ubiquo_branch = <%= @opts[:template] == :edge ? 'nil' : "'0.7-stable'" %>
|
|
253
260
|
add_plugins(selected_plugins + external_plugins, :branch => ubiquo_branch, :devel => <%= @opts[:devel] ? true : false %>)
|
254
261
|
|
255
262
|
<% if @opts[:gnuine] && opts[:profile] == :complete %>
|
263
|
+
<% if @opts[:template] == :edge %>
|
264
|
+
plugin 'ubiquo_categories', :git => 'gitosis@gandalf.gnuine.com:ubiquo_categories.git', :submodule => true, :branch => nil
|
265
|
+
<% end %>
|
256
266
|
plugin 'ubiquo_design', :git => 'gitosis@gandalf.gnuine.com:ubiquo_design.git', :submodule => true, :branch => ubiquo_branch
|
257
267
|
<% end %>
|
258
268
|
|
data/test/fixtures/template.erb
CHANGED
@@ -5,23 +5,22 @@ external_plugins = %w[
|
|
5
5
|
tiny_mce
|
6
6
|
paperclip
|
7
7
|
]
|
8
|
-
minimal_plugins = %w[ ubiquo_core ubiquo_authentication ]
|
8
|
+
minimal_plugins = %w[ ubiquo_core ubiquo_authentication ubiquo_access_control ubiquo_scaffold ]
|
9
9
|
rest_plugins = %w[
|
10
|
-
ubiquo_access_control
|
11
10
|
ubiquo_media
|
12
|
-
ubiquo_scaffold
|
13
11
|
ubiquo_jobs
|
14
12
|
ubiquo_i18n
|
15
13
|
ubiquo_activity
|
16
14
|
ubiquo_versions
|
17
15
|
ubiquo_guides
|
18
|
-
<%= "ubiquo_design" if @opts[:gnuine] %>
|
19
16
|
]
|
20
17
|
|
21
18
|
choosen_plugin_set = "<%= @opts[:profile].to_s %>"
|
22
19
|
|
23
20
|
case choosen_plugin_set
|
24
21
|
when "minimal" then selected_plugins = minimal_plugins
|
22
|
+
when "custom"
|
23
|
+
selected_plugins = (minimal_plugins + <%= @opts[:plugins].inspect %>).uniq
|
25
24
|
else selected_plugins = minimal_plugins + rest_plugins
|
26
25
|
end
|
27
26
|
|
@@ -49,8 +48,8 @@ def add_plugins(plugin_names, options={})
|
|
49
48
|
end
|
50
49
|
# To ask needed settings when boostraping the app
|
51
50
|
appname = "<%= @opts[:app_name] %>"
|
52
|
-
exception_recipient = "
|
53
|
-
sender_address = "
|
51
|
+
exception_recipient = "<%= @opts[:exception_recipient] %>"
|
52
|
+
sender_address = "<%= @opts[:sender_address] %>"
|
54
53
|
# Remove rails temporary directories
|
55
54
|
["./tmp/pids", "./tmp/sessions", "./tmp/sockets", "./tmp/cache"].each do |f|
|
56
55
|
run("rmdir ./#{f}")
|
@@ -112,11 +111,13 @@ base_config: &base_config
|
|
112
111
|
encoding: unicode
|
113
112
|
adapter: postgresql
|
114
113
|
host: localhost
|
114
|
+
username: #{%x{id -u -n}.strip}
|
115
|
+
password:
|
115
116
|
|
116
117
|
development:
|
117
|
-
<<: *base_config
|
118
|
+
<<: *base_config
|
118
119
|
database: #{appname}_development
|
119
|
-
|
120
|
+
|
120
121
|
test:
|
121
122
|
<<: *base_config
|
122
123
|
database: #{appname}_test
|
@@ -140,9 +141,9 @@ base_config: &base_config
|
|
140
141
|
socket: /var/run/mysqld/mysqld.sock
|
141
142
|
|
142
143
|
development:
|
143
|
-
<<: *base_config
|
144
|
+
<<: *base_config
|
144
145
|
database: #{appname}_development
|
145
|
-
|
146
|
+
|
146
147
|
test:
|
147
148
|
<<: *base_config
|
148
149
|
database: #{appname}_test
|
@@ -164,20 +165,20 @@ base_config: &base_config
|
|
164
165
|
timeout: 5000
|
165
166
|
|
166
167
|
development:
|
167
|
-
<<: *base_config
|
168
|
-
|
169
|
-
|
168
|
+
<<: *base_config
|
169
|
+
database: db/#{appname}_development.db
|
170
|
+
|
170
171
|
test:
|
171
172
|
<<: *base_config
|
172
|
-
|
173
|
+
database: db/#{appname}_test.db
|
173
174
|
|
174
175
|
preproduction:
|
175
176
|
<<: *base_config
|
176
|
-
|
177
|
+
database: db/#{appname}_preproduction.db
|
177
178
|
|
178
179
|
production:
|
179
180
|
<<: *base_config
|
180
|
-
|
181
|
+
database: db/#{appname}_production.db
|
181
182
|
CODE
|
182
183
|
|
183
184
|
choosen_adapter = "<%= @opts[:database] %>"
|
@@ -198,12 +199,17 @@ ActionController::Routing::Routes.draw do |map|
|
|
198
199
|
|
199
200
|
# Ubiquo plugins routes. See routes.rb from each plugin path.
|
200
201
|
#{ubiquo_routes}
|
202
|
+
<% if opts[:gnuine] %>
|
203
|
+
<% if @opts[:template] == :edge %>
|
204
|
+
<%= "map.from_plugin :ubiquo_categories" %>
|
205
|
+
<% end %>
|
206
|
+
<%= "map.from_plugin :ubiquo_design" %>
|
207
|
+
<% end %>
|
201
208
|
############# default routes
|
202
209
|
#map.connect ':controller/:action/:id'
|
203
210
|
#map.connect ':controller/:action/:id.:format'
|
204
211
|
end
|
205
212
|
CODE
|
206
|
-
puts "here we go"
|
207
213
|
# default rails environment.rb
|
208
214
|
file 'config/environment.rb', <<-CODE
|
209
215
|
# Be sure to restart your server when you modify this file
|
@@ -220,14 +226,14 @@ Rails::Initializer.run do |config|
|
|
220
226
|
# -- all .rb files in that directory are automatically loaded.
|
221
227
|
|
222
228
|
# Add additional load paths for your own custom dirs
|
223
|
-
|
224
|
-
# Specify gems that this application depends on.
|
229
|
+
|
230
|
+
# Specify gems that this application depends on.
|
225
231
|
# They can then be installed with "rake gems:install" on new installations.
|
226
232
|
# config.gem "bj"
|
227
233
|
# config.gem "hpricot", :version => '0.6', :source => "http://code.whytheluckystiff.net"
|
228
234
|
# config.gem "aws-s3", :lib => "aws/s3"
|
229
|
-
config.gem "rmagick", :lib => 'RMagick'
|
230
|
-
|
235
|
+
# config.gem "rmagick", :lib => 'RMagick'
|
236
|
+
|
231
237
|
# Only load the plugins named here, in the order given (default is alphabetical).
|
232
238
|
# :all can be used as a placeholder for all plugins not explicitly named
|
233
239
|
config.plugins = [ :ubiquo_core, :all ]
|
@@ -245,22 +251,28 @@ Rails::Initializer.run do |config|
|
|
245
251
|
|
246
252
|
# The default locale is :en and all translations from config/locales/*.rb,yml are auto loaded.
|
247
253
|
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}')]
|
248
|
-
# config.i18n.default_locale = :de
|
254
|
+
# config.i18n.default_locale = :de
|
249
255
|
config.i18n.load_path += Dir.glob(File.join("config", "locales", "**","*.{rb,yml}"))
|
250
|
-
config.i18n.default_locale = :
|
256
|
+
config.i18n.default_locale = :<%= @opts[:locale] %>
|
251
257
|
end
|
252
258
|
CODE
|
253
|
-
puts "out of here"
|
254
259
|
ubiquo_branch = <%= @opts[:template] == :edge ? 'nil' : "'0.7-stable'" %>
|
255
|
-
add_plugins(selected_plugins + external_plugins, :branch => ubiquo_branch, :devel => <%= @opts[:
|
260
|
+
add_plugins(selected_plugins + external_plugins, :branch => ubiquo_branch, :devel => <%= @opts[:devel] ? true : false %>)
|
256
261
|
|
257
|
-
<% if @opts[:gnuine] %>
|
262
|
+
<% if @opts[:gnuine] && opts[:profile] == :complete %>
|
263
|
+
<% if @opts[:template] == :edge %>
|
264
|
+
plugin 'ubiquo_categories', :git => 'gitosis@gandalf.gnuine.com:ubiquo_categories.git', :submodule => true, :branch => nil
|
265
|
+
<% end %>
|
258
266
|
plugin 'ubiquo_design', :git => 'gitosis@gandalf.gnuine.com:ubiquo_design.git', :submodule => true, :branch => ubiquo_branch
|
259
267
|
<% end %>
|
260
268
|
|
261
269
|
rake("rails:update")
|
262
270
|
rake("calendardateselect:install")
|
263
|
-
rake("ubiquo:install")
|
271
|
+
rake("ubiquo:install OVERWRITE=yes")
|
272
|
+
|
273
|
+
<% if RUBY_PLATFORM =~ /java/ %>
|
274
|
+
generate(:jdbc)
|
275
|
+
<% end %>
|
264
276
|
|
265
277
|
<% if @opts[:gnuine] %>
|
266
278
|
rake("db:create:all")
|
@@ -271,9 +283,5 @@ git :add => "."
|
|
271
283
|
git :commit => "-a -m 'Initial #{appname} commit'"
|
272
284
|
|
273
285
|
<% unless @opts[:gnuine] %>
|
274
|
-
puts "
|
275
|
-
puts "2.- You must create your databases. rake db:create:all"
|
276
|
-
puts "3.- You must initialize your database. rake ubiquo:db:init"
|
277
|
-
puts "4.- You must create the admin user. rake ubiquo:create_user"
|
278
|
-
puts "5.- scrip/server and point your browser to http://localhost:3000/ubiquo"
|
286
|
+
puts "Run script/server and go to http://localhost:3000/ and follow the instructions there."
|
279
287
|
<% end %>
|
@@ -13,4 +13,11 @@ class TestGenerator < Test::Unit::TestCase
|
|
13
13
|
assert_match 'ubiquo_branch = nil', rails_template
|
14
14
|
end
|
15
15
|
|
16
|
+
def test_should_generate_expected_template_from_custom_profile
|
17
|
+
skeleton = File.join(File.dirname(__FILE__), "../fixtures", "template.erb")
|
18
|
+
opts = Options.new(%w[ --custom ubiquo_media myapp ])
|
19
|
+
rails_template = Generator.build_template(opts, skeleton)
|
20
|
+
assert_kind_of String, rails_template
|
21
|
+
assert_match 'choosen_plugin_set = "custom"', rails_template
|
22
|
+
end
|
16
23
|
end
|
data/test/ubiquo/options_test.rb
CHANGED
@@ -59,4 +59,10 @@ class TestOptions < Test::Unit::TestCase
|
|
59
59
|
assert_equal "s@s.com", opts[:sender_address]
|
60
60
|
end
|
61
61
|
|
62
|
+
def test_should_be_able_to_add_custom_plugins
|
63
|
+
opts = Options.new(%w[ --custom ubiquo_media myapp ])
|
64
|
+
assert_equal :custom, opts[:profile]
|
65
|
+
assert_equal ["ubiquo_media"].inspect, opts[:plugins].inspect
|
66
|
+
end
|
67
|
+
|
62
68
|
end
|
data/ubiquo.gemspec
CHANGED
@@ -5,11 +5,11 @@
|
|
5
5
|
|
6
6
|
Gem::Specification.new do |s|
|
7
7
|
s.name = %q{ubiquo}
|
8
|
-
s.version = "0.2.
|
8
|
+
s.version = "0.2.8"
|
9
9
|
|
10
10
|
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
11
|
s.authors = ["Albert Callarisa", "Bernat Foj", "Eric Garc\303\255a", "Felip Ladr\303\263n", "Antoni Reina", "Ramon Salvad\303\263", "Arnau S\303\241nchez"]
|
12
|
-
s.date = %q{2010-
|
12
|
+
s.date = %q{2010-05-08}
|
13
13
|
s.default_executable = %q{ubiquo}
|
14
14
|
s.description = %q{This gem provides a command-line application to make the creation of ubiquo based applications fast and easy.}
|
15
15
|
s.email = %q{rsalvado@gnuine.com}
|
@@ -53,15 +53,18 @@ Gem::Specification.new do |s|
|
|
53
53
|
|
54
54
|
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
55
55
|
s.add_runtime_dependency(%q<rails>, ["= 2.3.5"])
|
56
|
+
s.add_development_dependency(%q<mocha>, [">= 0.9.8"])
|
56
57
|
s.add_development_dependency(%q<highline>, [">= 1.5.2"])
|
57
58
|
s.add_development_dependency(%q<ya2yaml>, [">= 0.26"])
|
58
59
|
else
|
59
60
|
s.add_dependency(%q<rails>, ["= 2.3.5"])
|
61
|
+
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
60
62
|
s.add_dependency(%q<highline>, [">= 1.5.2"])
|
61
63
|
s.add_dependency(%q<ya2yaml>, [">= 0.26"])
|
62
64
|
end
|
63
65
|
else
|
64
66
|
s.add_dependency(%q<rails>, ["= 2.3.5"])
|
67
|
+
s.add_dependency(%q<mocha>, [">= 0.9.8"])
|
65
68
|
s.add_dependency(%q<highline>, [">= 1.5.2"])
|
66
69
|
s.add_dependency(%q<ya2yaml>, [">= 0.26"])
|
67
70
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 2
|
8
|
-
-
|
9
|
-
version: 0.2.
|
8
|
+
- 8
|
9
|
+
version: 0.2.8
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Albert Callarisa
|
@@ -20,7 +20,7 @@ autorequire:
|
|
20
20
|
bindir: bin
|
21
21
|
cert_chain: []
|
22
22
|
|
23
|
-
date: 2010-
|
23
|
+
date: 2010-05-08 00:00:00 +02:00
|
24
24
|
default_executable: ubiquo
|
25
25
|
dependencies:
|
26
26
|
- !ruby/object:Gem::Dependency
|
@@ -38,9 +38,23 @@ dependencies:
|
|
38
38
|
type: :runtime
|
39
39
|
version_requirements: *id001
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
|
-
name:
|
41
|
+
name: mocha
|
42
42
|
prerelease: false
|
43
43
|
requirement: &id002 !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
segments:
|
48
|
+
- 0
|
49
|
+
- 9
|
50
|
+
- 8
|
51
|
+
version: 0.9.8
|
52
|
+
type: :development
|
53
|
+
version_requirements: *id002
|
54
|
+
- !ruby/object:Gem::Dependency
|
55
|
+
name: highline
|
56
|
+
prerelease: false
|
57
|
+
requirement: &id003 !ruby/object:Gem::Requirement
|
44
58
|
requirements:
|
45
59
|
- - ">="
|
46
60
|
- !ruby/object:Gem::Version
|
@@ -50,11 +64,11 @@ dependencies:
|
|
50
64
|
- 2
|
51
65
|
version: 1.5.2
|
52
66
|
type: :development
|
53
|
-
version_requirements: *
|
67
|
+
version_requirements: *id003
|
54
68
|
- !ruby/object:Gem::Dependency
|
55
69
|
name: ya2yaml
|
56
70
|
prerelease: false
|
57
|
-
requirement: &
|
71
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
58
72
|
requirements:
|
59
73
|
- - ">="
|
60
74
|
- !ruby/object:Gem::Version
|
@@ -63,7 +77,7 @@ dependencies:
|
|
63
77
|
- 26
|
64
78
|
version: "0.26"
|
65
79
|
type: :development
|
66
|
-
version_requirements: *
|
80
|
+
version_requirements: *id004
|
67
81
|
description: This gem provides a command-line application to make the creation of ubiquo based applications fast and easy.
|
68
82
|
email: rsalvado@gnuine.com
|
69
83
|
executables:
|