spiderfw 0.6.20 → 0.6.21
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/CHANGELOG +13 -0
- data/README.rdoc +8 -2
- data/Rakefile +49 -24
- data/VERSION +1 -1
- data/apps/app_server/controllers/app_server_controller.rb +3 -2
- data/apps/app_server/lib/git_app.rb +11 -2
- data/apps/config_editor/_init.rb +2 -1
- data/apps/config_editor/controllers/config_editor_controller.rb +7 -1
- data/apps/drb_server/script/start_server.rb +1 -1
- data/apps/servant/bin/spider-servant.rb +1 -1
- data/blueprints/home/{spider.gemfile → Gemfile} +18 -3
- data/blueprints/install/config.ru +1 -1
- data/lib/spiderfw/app.rb +7 -0
- data/lib/spiderfw/cmd/cmd.rb +1 -1
- data/lib/spiderfw/cmd/commands/app.rb +6 -2
- data/lib/spiderfw/cmd/commands/cert.rb +1 -0
- data/lib/spiderfw/cmd/commands/console.rb +1 -1
- data/lib/spiderfw/cmd/commands/content.rb +2 -2
- data/lib/spiderfw/cmd/commands/create.rb +1 -1
- data/lib/spiderfw/cmd/commands/model.rb +2 -2
- data/lib/spiderfw/cmd/commands/setup.rb +1 -1
- data/lib/spiderfw/cmd/commands/test.rb +1 -1
- data/lib/spiderfw/config/options/spider.rb +2 -1
- data/lib/spiderfw/controller/controller.rb +15 -4
- data/lib/spiderfw/controller/mixins/visual.rb +2 -0
- data/lib/spiderfw/http/adapters/cgi.rb +3 -3
- data/lib/spiderfw/http/adapters/mongrel.rb +2 -2
- data/lib/spiderfw/http/adapters/rack.rb +2 -2
- data/lib/spiderfw/http/adapters/webrick.rb +2 -2
- data/lib/spiderfw/http/server.rb +26 -11
- data/lib/spiderfw/i18n/cldr.rb +8 -6
- data/lib/spiderfw/i18n/javascript_parser.rb +1 -0
- data/lib/spiderfw/init.rb +2 -0
- data/lib/spiderfw/model/base_model.rb +13 -3
- data/lib/spiderfw/model/condition.rb +4 -0
- data/lib/spiderfw/model/mappers/db_mapper.rb +9 -8
- data/lib/spiderfw/model/mappers/mapper.rb +18 -10
- data/lib/spiderfw/model/migrations/drop_table.rb +20 -0
- data/lib/spiderfw/model/migrations/replace.rb +18 -13
- data/lib/spiderfw/model/migrations.rb +5 -0
- data/lib/spiderfw/model/mixins/tree.rb +1 -1
- data/lib/spiderfw/model/model.rb +3 -0
- data/lib/spiderfw/model/storage/db/adapters/oracle.rb +1 -1
- data/lib/spiderfw/model/storage/db/adapters/sqlite.rb +1 -1
- data/lib/spiderfw/model/storage/db/connectors/jdbc_oracle.rb +1 -1
- data/lib/spiderfw/model/storage/db/connectors/oci8.rb +1 -1
- data/lib/spiderfw/model/storage/db/db_schema.rb +4 -1
- data/lib/spiderfw/model/storage/db/dialects/no_total_rows.rb +1 -1
- data/lib/spiderfw/setup/app_manager.rb +11 -3
- data/lib/spiderfw/setup/app_server_client.rb +13 -7
- data/lib/spiderfw/setup/setup_task.rb +43 -0
- data/lib/spiderfw/setup/spider_setup_wizard.rb +1 -1
- data/lib/spiderfw/spider.rb +16 -3
- data/lib/spiderfw/templates/blocks/html.rb +2 -0
- data/lib/spiderfw/templates/layout.rb +10 -5
- data/lib/spiderfw/templates/resources/less.rb +11 -8
- data/lib/spiderfw/templates/template_blocks.rb +1 -1
- data/lib/spiderfw/test/capybara.rb +2 -1
- data/lib/spiderfw/test.rb +2 -1
- data/lib/spiderfw.rb +1 -4
- data/spider.gemspec +5 -2
- metadata +47 -18
- data/blueprints/home/Gemfile.disabled +0 -3
@@ -74,6 +74,41 @@ module Spider
|
|
74
74
|
m.mapper.sync_schema(false, options)
|
75
75
|
end
|
76
76
|
end
|
77
|
+
|
78
|
+
def confirm(msg, default=nil)
|
79
|
+
yes = _("yes")
|
80
|
+
no = _("no")
|
81
|
+
y = yes[0].chr
|
82
|
+
n = no[0].chr
|
83
|
+
if default == true
|
84
|
+
y = y.upcase
|
85
|
+
elsif default == false
|
86
|
+
n = n.upcase
|
87
|
+
end
|
88
|
+
|
89
|
+
good = false
|
90
|
+
|
91
|
+
while !good
|
92
|
+
print "#{msg} #{y}/#{n}]: "
|
93
|
+
res = $stdin.gets.strip
|
94
|
+
|
95
|
+
good = true
|
96
|
+
if res == yes || res == y
|
97
|
+
res = true
|
98
|
+
elsif res == no || res == n
|
99
|
+
res = false
|
100
|
+
elsif res.blank? && !default.nil?
|
101
|
+
res = default
|
102
|
+
else
|
103
|
+
good = false
|
104
|
+
end
|
105
|
+
|
106
|
+
end
|
107
|
+
|
108
|
+
return res
|
109
|
+
|
110
|
+
|
111
|
+
end
|
77
112
|
|
78
113
|
# def no_sync_schema
|
79
114
|
# @no_sync = true
|
@@ -145,6 +180,14 @@ module Spider
|
|
145
180
|
@cleanup = proc if proc
|
146
181
|
@cleanup
|
147
182
|
end
|
183
|
+
|
184
|
+
def self.interactive!
|
185
|
+
@interactive = true
|
186
|
+
end
|
187
|
+
|
188
|
+
def self.interactive?
|
189
|
+
!!@interactive
|
190
|
+
end
|
148
191
|
|
149
192
|
end
|
150
193
|
|
data/lib/spiderfw/spider.rb
CHANGED
@@ -73,7 +73,9 @@ module Spider
|
|
73
73
|
end
|
74
74
|
init_file = File.join($SPIDER_RUN_PATH, 'init.rb')
|
75
75
|
ENV['BUNDLE_GEMFILE'] ||= File.join($SPIDER_RUN_PATH, 'Gemfile')
|
76
|
-
|
76
|
+
if File.exists?(ENV['BUNDLE_GEMFILE']) && File.exists?(File.join($SPIDER_RUN_PATH, 'Gemfile.lock'))
|
77
|
+
require 'bundler/setup'
|
78
|
+
end
|
77
79
|
|
78
80
|
if File.exist?(init_file)
|
79
81
|
@home.instance_eval(File.read(init_file), init_file)
|
@@ -85,8 +87,17 @@ module Spider
|
|
85
87
|
|
86
88
|
def init_apps
|
87
89
|
@apps.each do |name, mod|
|
90
|
+
repos = []
|
88
91
|
if File.directory?(File.join(mod.path, 'po'))
|
89
|
-
FastGettext.
|
92
|
+
repos << FastGettext::TranslationRepository.build(mod.short_name, :path => File.join(mod.path, 'data', 'locale'))
|
93
|
+
end
|
94
|
+
home_pot = File.join(Spider.paths[:root], 'po', "#{mod.short_name}.pot")
|
95
|
+
home_locale = File.join(Spider.paths[:root], 'data', 'locale')
|
96
|
+
if File.file?(home_pot) && File.directory?(home_locale)
|
97
|
+
repos << FastGettext::TranslationRepository.build(mod.short_name, :path => home_locale)
|
98
|
+
end
|
99
|
+
unless repos.empty?
|
100
|
+
FastGettext.add_text_domain(mod.short_name, :type => :chain, :chain => repos)
|
90
101
|
end
|
91
102
|
end
|
92
103
|
@apps.each do |name, mod|
|
@@ -99,10 +110,10 @@ module Spider
|
|
99
110
|
end
|
100
111
|
|
101
112
|
def init_base(force=false)
|
113
|
+
return if @init_base_done && !force
|
102
114
|
l = Spider.locale.to_s
|
103
115
|
l = $1 if l =~ /(\w\w)_+/
|
104
116
|
FastGettext.locale = l
|
105
|
-
return if @init_base_done && !force
|
106
117
|
|
107
118
|
@apps_to_load = []
|
108
119
|
@root = $SPIDER_RUN_PATH
|
@@ -146,6 +157,7 @@ module Spider
|
|
146
157
|
|
147
158
|
# Invoked before a long running service started. Apps may implement the app_startup method, that will be called.
|
148
159
|
def startup
|
160
|
+
init
|
149
161
|
setup_env
|
150
162
|
if Spider.conf.get('template.cache.reload_on_restart')
|
151
163
|
FileUtils.touch("#{Spider.paths[:tmp]}/templates_reload.txt")
|
@@ -314,6 +326,7 @@ module Spider
|
|
314
326
|
|
315
327
|
# Closes any open loggers, and opens new ones based on configured settings.
|
316
328
|
def start_loggers(force=false)
|
329
|
+
init_base
|
317
330
|
return if @logger_started && !force
|
318
331
|
@logger.close_all
|
319
332
|
@logger.open(STDERR, Spider.conf.get('log.console')) if Spider.conf.get('log.console')
|
@@ -30,7 +30,9 @@ module Spider; module TemplateBlocks
|
|
30
30
|
if @el.has_attribute?('id')
|
31
31
|
cl += ' ' unless cl.empty?
|
32
32
|
cl += "id-#{@el.get_attribute('id')}"
|
33
|
+
our_id = @el.get_attribute('id')
|
33
34
|
@el.remove_attribute('id')
|
35
|
+
@el.set_attribute('id', "{ @widget[:full_id] }-#{our_id}")
|
34
36
|
end
|
35
37
|
if (options[:root])
|
36
38
|
cl += " widget"
|
@@ -193,16 +193,21 @@ module Spider
|
|
193
193
|
return ass unless ass[:src]
|
194
194
|
if ass[:type] == :css
|
195
195
|
ext = File.extname(ass[:path])
|
196
|
-
|
196
|
+
compile_exts = ['.scss', '.sass', '.less']
|
197
|
+
if compile_exts.include?(ext)
|
197
198
|
dir = File.dirname(ass[:path])
|
198
199
|
base = File.basename(ass[:path], ext)
|
199
200
|
newname = "#{base}.css"
|
200
201
|
tmpdestdir = File.join(dir, 'stylesheets')
|
201
|
-
|
202
202
|
dest = File.join(tmpdestdir, newname)
|
203
|
-
|
204
|
-
|
205
|
-
|
203
|
+
compiler = if ['.scss', '.sass'].include?(ext)
|
204
|
+
require 'spiderfw/templates/resources/sass'
|
205
|
+
Spider::SassCompiler
|
206
|
+
elsif ext == '.less'
|
207
|
+
require 'spiderfw/templates/resources/less'
|
208
|
+
Spider::LessCompiler
|
209
|
+
end
|
210
|
+
compiler.compile(ass[:path], dest)
|
206
211
|
ass[:path] = dest
|
207
212
|
ass[:src] = File.join(File.dirname(ass[:src]), newname)
|
208
213
|
end
|
@@ -1,14 +1,17 @@
|
|
1
|
-
|
1
|
+
require 'less-js'
|
2
|
+
|
3
|
+
module Spider
|
2
4
|
|
3
|
-
module
|
5
|
+
module LessCompiler
|
4
6
|
|
5
|
-
def self.
|
6
|
-
|
7
|
-
|
8
|
-
|
7
|
+
def self.compile(src, dest)
|
8
|
+
output = LessJs.compile File.read(src)
|
9
|
+
File.open(dest, 'w') do |f|
|
10
|
+
f.write "/* This file is autogenerated; do not edit directly (edit #{src} instead) */\n\n"
|
11
|
+
f.write output
|
12
|
+
end
|
9
13
|
end
|
10
14
|
|
11
15
|
end
|
12
16
|
|
13
|
-
|
14
|
-
end; end
|
17
|
+
end
|
data/lib/spiderfw/test.rb
CHANGED
@@ -62,8 +62,9 @@ module Spider; module Test
|
|
62
62
|
|
63
63
|
def self.load_fixtures(app, truncate=false)
|
64
64
|
path = File.join(app.path, 'test', 'fixtures')
|
65
|
+
loaded = []
|
65
66
|
Dir.glob(File.join(path, '*.yml')).each do |yml|
|
66
|
-
Spider::Model.load_fixtures(yml, truncate)
|
67
|
+
loaded += Spider::Model.load_fixtures(yml, truncate)
|
67
68
|
end
|
68
69
|
end
|
69
70
|
|
data/lib/spiderfw.rb
CHANGED
data/spider.gemspec
CHANGED
@@ -38,9 +38,12 @@ Gem::Specification.new do |s|
|
|
38
38
|
s.add_dependency("builder", ["> 2.1"])
|
39
39
|
s.add_dependency("macaddr", [">= 1.0.0"])
|
40
40
|
s.add_dependency("bundler")
|
41
|
+
s.add_dependency("mail")
|
41
42
|
s.add_development_dependency("rake", ["> 0.7.3"])
|
42
|
-
s.add_development_dependency("
|
43
|
-
s.
|
43
|
+
s.add_development_dependency("gettext", ['>= 2.1.0'])
|
44
|
+
s.add_development_dependency("fssm")
|
45
|
+
|
46
|
+
s.requirements << "Optional dependencies: ripl, ripl-irb, ripl-multi_line, json, openssl, sqlite3, mongrel, ruby-oci8 >2.0, mysql, yui-compressor, cldr"
|
44
47
|
# optional dependencies
|
45
48
|
#
|
46
49
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spiderfw
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 45
|
5
5
|
prerelease:
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 6
|
9
|
-
-
|
10
|
-
version: 0.6.
|
9
|
+
- 21
|
10
|
+
version: 0.6.21
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Ivan Pirlik
|
@@ -15,7 +15,7 @@ autorequire:
|
|
15
15
|
bindir: bin
|
16
16
|
cert_chain: []
|
17
17
|
|
18
|
-
date: 2011-
|
18
|
+
date: 2011-11-03 00:00:00 +01:00
|
19
19
|
default_executable: spider
|
20
20
|
dependencies:
|
21
21
|
- !ruby/object:Gem::Dependency
|
@@ -186,9 +186,23 @@ dependencies:
|
|
186
186
|
type: :runtime
|
187
187
|
version_requirements: *id011
|
188
188
|
- !ruby/object:Gem::Dependency
|
189
|
-
name:
|
189
|
+
name: mail
|
190
190
|
prerelease: false
|
191
191
|
requirement: &id012 !ruby/object:Gem::Requirement
|
192
|
+
none: false
|
193
|
+
requirements:
|
194
|
+
- - ">="
|
195
|
+
- !ruby/object:Gem::Version
|
196
|
+
hash: 3
|
197
|
+
segments:
|
198
|
+
- 0
|
199
|
+
version: "0"
|
200
|
+
type: :runtime
|
201
|
+
version_requirements: *id012
|
202
|
+
- !ruby/object:Gem::Dependency
|
203
|
+
name: rake
|
204
|
+
prerelease: false
|
205
|
+
requirement: &id013 !ruby/object:Gem::Requirement
|
192
206
|
none: false
|
193
207
|
requirements:
|
194
208
|
- - ">"
|
@@ -200,23 +214,37 @@ dependencies:
|
|
200
214
|
- 3
|
201
215
|
version: 0.7.3
|
202
216
|
type: :development
|
203
|
-
version_requirements: *
|
217
|
+
version_requirements: *id013
|
204
218
|
- !ruby/object:Gem::Dependency
|
205
|
-
name:
|
219
|
+
name: gettext
|
206
220
|
prerelease: false
|
207
|
-
requirement: &
|
221
|
+
requirement: &id014 !ruby/object:Gem::Requirement
|
208
222
|
none: false
|
209
223
|
requirements:
|
210
|
-
- - "
|
224
|
+
- - ">="
|
211
225
|
- !ruby/object:Gem::Version
|
212
|
-
hash:
|
226
|
+
hash: 11
|
213
227
|
segments:
|
228
|
+
- 2
|
229
|
+
- 1
|
214
230
|
- 0
|
215
|
-
|
216
|
-
- 3
|
217
|
-
version: 0.9.3
|
231
|
+
version: 2.1.0
|
218
232
|
type: :development
|
219
|
-
version_requirements: *
|
233
|
+
version_requirements: *id014
|
234
|
+
- !ruby/object:Gem::Dependency
|
235
|
+
name: fssm
|
236
|
+
prerelease: false
|
237
|
+
requirement: &id015 !ruby/object:Gem::Requirement
|
238
|
+
none: false
|
239
|
+
requirements:
|
240
|
+
- - ">="
|
241
|
+
- !ruby/object:Gem::Version
|
242
|
+
hash: 3
|
243
|
+
segments:
|
244
|
+
- 0
|
245
|
+
version: "0"
|
246
|
+
type: :development
|
247
|
+
version_requirements: *id015
|
220
248
|
description: Spider is yet another Ruby framework.
|
221
249
|
email: abmajor7@gmail.com
|
222
250
|
executables:
|
@@ -984,10 +1012,9 @@ files:
|
|
984
1012
|
- blueprints/home/.gitignore
|
985
1013
|
- blueprints/home/apps/.gitignore
|
986
1014
|
- blueprints/home/config/config.yml
|
987
|
-
- blueprints/home/Gemfile
|
1015
|
+
- blueprints/home/Gemfile
|
988
1016
|
- blueprints/home/init.rb
|
989
1017
|
- blueprints/home/public/.gitignore
|
990
|
-
- blueprints/home/spider.gemfile
|
991
1018
|
- blueprints/home/tmp/.gitignore
|
992
1019
|
- blueprints/home/var/.gitignore
|
993
1020
|
- blueprints/home/var/cache/.gitignore
|
@@ -1065,6 +1092,7 @@ files:
|
|
1065
1092
|
- lib/spiderfw/i18n/provider.rb
|
1066
1093
|
- lib/spiderfw/i18n/rails.rb
|
1067
1094
|
- lib/spiderfw/i18n/shtml_parser.rb
|
1095
|
+
- lib/spiderfw/init.rb
|
1068
1096
|
- lib/spiderfw/model/active_record.rb
|
1069
1097
|
- lib/spiderfw/model/base_model.rb
|
1070
1098
|
- lib/spiderfw/model/condition.rb
|
@@ -1095,6 +1123,7 @@ files:
|
|
1095
1123
|
- lib/spiderfw/model/mappers/proxy_mapper.rb
|
1096
1124
|
- lib/spiderfw/model/mappers/vfs/flat_file.rb
|
1097
1125
|
- lib/spiderfw/model/migrations/drop_element.rb
|
1126
|
+
- lib/spiderfw/model/migrations/drop_table.rb
|
1098
1127
|
- lib/spiderfw/model/migrations/irreversible_migration.rb
|
1099
1128
|
- lib/spiderfw/model/migrations/migration.rb
|
1100
1129
|
- lib/spiderfw/model/migrations/replace.rb
|
@@ -1256,9 +1285,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
1256
1285
|
- 0
|
1257
1286
|
version: "0"
|
1258
1287
|
requirements:
|
1259
|
-
- "Optional dependencies: ripl, ripl-irb, ripl-multi_line, json, openssl, sqlite3,
|
1288
|
+
- "Optional dependencies: ripl, ripl-irb, ripl-multi_line, json, openssl, sqlite3, mongrel, ruby-oci8 >2.0, mysql, yui-compressor, cldr"
|
1260
1289
|
rubyforge_project:
|
1261
|
-
rubygems_version: 1.
|
1290
|
+
rubygems_version: 1.6.2
|
1262
1291
|
signing_key:
|
1263
1292
|
specification_version: 3
|
1264
1293
|
summary: A (web) framework
|