tanuki 0.3.1 → 0.4.0
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 -4
- data/app/tanuki/controller/{link.thtml → controller.link.thtml} +0 -0
- data/app/tanuki/controller/controller.page.thtml +14 -0
- data/app/tanuki/controller/controller.rb +1 -2
- data/app/tanuki/controller/controller.title.ttxt +1 -0
- data/app/tanuki/controller/controller.view.thtml +3 -0
- data/app/tanuki/fetcher/sequel/sequel.rb +34 -0
- data/app/tanuki/manager/controller/controller.rb +1 -1
- data/app/tanuki/manager/page/page.rb +1 -1
- data/app/tanuki/meta_model/{manager.ttxt → meta_model.manager.ttxt} +0 -0
- data/app/tanuki/meta_model/{manager_base.ttxt → meta_model.manager_base.ttxt} +0 -0
- data/app/tanuki/meta_model/{model.ttxt → meta_model.model.ttxt} +0 -0
- data/app/tanuki/meta_model/{model_base.ttxt → meta_model.model_base.ttxt} +0 -0
- data/app/tanuki/meta_model/meta_model.rb +1 -2
- data/app/tanuki/model/controller/controller.rb +1 -1
- data/app/tanuki/model/page/page.rb +1 -1
- data/app/tanuki/page/missing/{default.thtml → missing.page.thtml} +1 -1
- data/app/tanuki/page/missing/missing.rb +3 -2
- data/app/user/page/home/home.rb +2 -0
- data/app/user/page/home/home.title.thtml +1 -0
- data/app/user/page/home/home.view.css +88 -0
- data/app/user/page/home/home.view.thtml +22 -0
- data/bin/tanuki +2 -1
- data/config/common.rb +1 -0
- data/config/common_application.rb +3 -6
- data/config/development_application.rb +0 -3
- data/lib/tanuki.rb +8 -7
- data/lib/tanuki/application.rb +108 -81
- data/lib/tanuki/argument.rb +10 -5
- data/lib/tanuki/argument/integer_range.rb +4 -2
- data/lib/tanuki/{behavior/object_behavior.rb → base_behavior.rb} +21 -4
- data/lib/tanuki/configurator.rb +20 -8
- data/lib/tanuki/const.rb +32 -0
- data/lib/tanuki/context.rb +18 -7
- data/lib/tanuki/controller.rb +517 -0
- data/lib/tanuki/css_compressor.rb +50 -0
- data/lib/tanuki/extensions/module.rb +21 -5
- data/lib/tanuki/extensions/rack/frozen_route.rb +35 -0
- data/lib/tanuki/extensions/rack/static_dir.rb +1 -1
- data/lib/tanuki/extensions/sequel/model.rb +7 -0
- data/lib/tanuki/i18n.rb +8 -6
- data/lib/tanuki/loader.rb +166 -33
- data/lib/tanuki/meta_model.rb +176 -0
- data/lib/tanuki/{behavior/model_behavior.rb → model_behavior.rb} +7 -3
- data/lib/tanuki/model_generator.rb +49 -29
- data/lib/tanuki/template_compiler.rb +72 -41
- data/lib/tanuki/utility.rb +11 -4
- data/lib/tanuki/utility/create.rb +52 -11
- data/lib/tanuki/utility/generate.rb +16 -10
- data/lib/tanuki/utility/version.rb +1 -1
- data/lib/tanuki/version.rb +7 -2
- metadata +50 -66
- data/app/tanuki/controller/default.thtml +0 -5
- data/app/tanuki/controller/index.thtml +0 -1
- data/app/user/page/index/default.thtml +0 -121
- data/app/user/page/index/index.rb +0 -2
- data/config/test_application.rb +0 -2
- data/lib/tanuki/behavior/controller_behavior.rb +0 -366
- data/lib/tanuki/behavior/meta_model_behavior.rb +0 -160
- data/lib/tanuki/extensions/rack/builder.rb +0 -26
- data/lib/tanuki/extensions/rack/server.rb +0 -18
- data/lib/tanuki/launcher.rb +0 -21
- data/lib/tanuki/utility/server.rb +0 -23
data/lib/tanuki/utility.rb
CHANGED
@@ -8,7 +8,8 @@ module Tanuki
|
|
8
8
|
class << self
|
9
9
|
|
10
10
|
# Executes given +args+.
|
11
|
-
# The first item in +args+ is the name of a command,
|
11
|
+
# The first item in +args+ is the name of a command,
|
12
|
+
# and the rest are arguments for the command.
|
12
13
|
def execute(args)
|
13
14
|
case args[0]
|
14
15
|
when 'exit' then @in_repl ? (puts 'Bye bye!'; return false) : help
|
@@ -33,7 +34,7 @@ module Tanuki
|
|
33
34
|
@in_repl = false
|
34
35
|
@commands = []
|
35
36
|
@help = {}
|
36
|
-
Dir.glob(File.expand_path(
|
37
|
+
Dir.glob(File.expand_path('../utility/*.rb', __FILE__)) do |file|
|
37
38
|
if match = file.match(/\/([^\/]+).rb/)
|
38
39
|
require file
|
39
40
|
command = match[1].to_sym
|
@@ -44,15 +45,21 @@ module Tanuki
|
|
44
45
|
execute ARGV
|
45
46
|
end
|
46
47
|
|
48
|
+
# Splits a given string +s+ to an argument list.
|
49
|
+
def split_args(s)
|
50
|
+
s.chomp.scan(/(?<=")[^"]*(?=")|[^\s]+/)
|
51
|
+
end
|
52
|
+
|
47
53
|
# Starts a REPL (framework console).
|
48
|
-
# In this console +command [args]+ call is equivalent to
|
54
|
+
# In this console +command [args]+ call is equivalent to
|
55
|
+
# +tanuki command [args]+ in the terminal.
|
49
56
|
def start_repl
|
50
57
|
@in_repl = true
|
51
58
|
@help[:exit] = 'exit this utility'
|
52
59
|
version
|
53
60
|
print 'tanuki>'
|
54
61
|
begin
|
55
|
-
print "\ntanuki>" while gets && execute($_
|
62
|
+
print "\ntanuki>" while gets && execute(split_args($_))
|
56
63
|
rescue Interrupt
|
57
64
|
puts "\nBye bye!"
|
58
65
|
end
|
@@ -17,19 +17,60 @@ module Tanuki
|
|
17
17
|
return
|
18
18
|
end
|
19
19
|
version unless @in_repl
|
20
|
-
puts "
|
20
|
+
puts "Creating `#{name}'\n"
|
21
21
|
FileUtils.mkdir project_dir
|
22
|
-
file_source = File.expand_path(
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
puts
|
27
|
-
FileUtils.mkdir
|
22
|
+
file_source = File.expand_path('../../../..', __FILE__)
|
23
|
+
name_pos = ((file_source.length + 1)..-1)
|
24
|
+
|
25
|
+
# ./app/
|
26
|
+
puts ' app/'
|
27
|
+
FileUtils.mkdir "#{project_dir}/app"
|
28
|
+
puts ' app/user/'
|
29
|
+
FileUtils.mkdir "#{project_dir}/app/user"
|
30
|
+
Dir.glob("#{file_source}/app/user/**/*") do |file|
|
31
|
+
is_dir = File.directory? file
|
32
|
+
puts " #{file[name_pos]}#{'/' if is_dir}"
|
33
|
+
if is_dir
|
34
|
+
FileUtils.mkdir("#{project_dir}/#{file[name_pos]}")
|
35
|
+
else
|
36
|
+
FileUtils.cp(file, "#{project_dir}/#{file[name_pos]}")
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# ./gen/
|
41
|
+
puts ' gen/'
|
42
|
+
FileUtils.mkdir(gen_dir = "#{project_dir}/gen")
|
28
43
|
FileUtils.chmod(0777, gen_dir)
|
29
|
-
|
30
|
-
|
31
|
-
puts
|
32
|
-
FileUtils.mkdir(
|
44
|
+
|
45
|
+
# ./public/
|
46
|
+
puts ' public/'
|
47
|
+
FileUtils.mkdir("#{project_dir}/public")
|
48
|
+
|
49
|
+
# ./schema/
|
50
|
+
puts ' schema/'
|
51
|
+
FileUtils.mkdir("#{project_dir}/schema")
|
52
|
+
|
53
|
+
# ./config.ru
|
54
|
+
puts ' config.ru'
|
55
|
+
File.open("#{project_dir}/config.ru", 'w') do |f|
|
56
|
+
f << "require 'bundler'\nBundler.require\n" <<
|
57
|
+
"run Tanuki::Application.build(self)\n"
|
58
|
+
end
|
59
|
+
|
60
|
+
# ./Gemfile
|
61
|
+
puts ' Gemfile'
|
62
|
+
File.open("#{project_dir}/Gemfile", 'w') do |f|
|
63
|
+
f << "source :rubygems\ngem 'tanuki', '~> #{Tanuki.version}'\n"
|
64
|
+
end
|
65
|
+
|
66
|
+
# ./README.rdoc
|
67
|
+
puts ' README.rdoc'
|
68
|
+
File.open("#{project_dir}/README.rdoc", 'w') do |f|
|
69
|
+
f << "= #{title = name.titleize}\n\n" <<
|
70
|
+
"#{title} is a " <<
|
71
|
+
"{Tanuki}[https://assistunion.com/sharing] application.\n"
|
72
|
+
end
|
73
|
+
|
33
74
|
Dir.chdir(project_dir) if @in_repl
|
34
75
|
end
|
35
76
|
|
@@ -4,26 +4,28 @@ module Tanuki
|
|
4
4
|
|
5
5
|
@help[:generate] = 'generate models for application schema'
|
6
6
|
|
7
|
-
# Generates models for application schema
|
7
|
+
# Generates models for application schema
|
8
|
+
# in the current directory or +cwd+.
|
8
9
|
def self.generate(cwd=nil)
|
9
10
|
version unless @in_repl
|
10
11
|
cwd = cwd ? File.expand_path(cwd) : Dir.pwd
|
11
|
-
puts "Working directory is: #{cwd}
|
12
|
+
puts "Working directory is: #{cwd}",
|
13
|
+
"To specify another: `generate <path>'"
|
12
14
|
require 'active_support/inflector'
|
13
15
|
require 'yaml'
|
14
16
|
require 'fileutils'
|
15
|
-
require 'tanuki/
|
16
|
-
require 'tanuki/behavior/meta_model_behavior'
|
17
|
-
require 'tanuki/behavior/model_behavior'
|
18
|
-
require 'tanuki/behavior/object_behavior'
|
17
|
+
require 'tanuki/base_behavior'
|
19
18
|
require 'tanuki/configurator'
|
20
19
|
require 'tanuki/context'
|
21
20
|
require 'tanuki/loader'
|
22
21
|
require 'tanuki/template_compiler'
|
22
|
+
require 'tanuki/meta_model'
|
23
|
+
require 'tanuki/model_behavior'
|
23
24
|
require 'tanuki/model_generator'
|
24
25
|
|
25
26
|
ctx = Loader.context = Context
|
26
|
-
|
27
|
+
ctx.resources = {}
|
28
|
+
default_root = File.expand_path('../../../..', __FILE__)
|
27
29
|
cfg = Configurator.new(ctx, cwd)
|
28
30
|
|
29
31
|
# Load defaults
|
@@ -37,13 +39,17 @@ module Tanuki
|
|
37
39
|
end
|
38
40
|
|
39
41
|
puts "\n looking for models"
|
40
|
-
local_schema_root = File.expand_path(
|
42
|
+
local_schema_root = File.expand_path('../../../../schema', __FILE__)
|
41
43
|
mg = ModelGenerator.new(ctx)
|
42
44
|
mg.generate ctx.schema_root
|
43
|
-
|
45
|
+
unless ctx.schema_root == local_schema_root
|
46
|
+
mg.generate local_schema_root
|
47
|
+
end
|
44
48
|
mg.tried.each_pair do |name, arys|
|
45
49
|
puts "\n found: #{name}"
|
46
|
-
arys.each_pair
|
50
|
+
arys.each_pair do |ary_name, ary|
|
51
|
+
puts %{ #{ary_name}:\n - #{ary.join "\n - "}} unless ary.empty?
|
52
|
+
end
|
47
53
|
end
|
48
54
|
end
|
49
55
|
|
data/lib/tanuki/version.rb
CHANGED
@@ -1,6 +1,11 @@
|
|
1
1
|
module Tanuki
|
2
2
|
|
3
|
-
# Tanuki framework version.
|
4
|
-
VERSION =
|
3
|
+
# Tanuki framework version as an Array.
|
4
|
+
VERSION = [0, 4, 0].freeze
|
5
|
+
|
6
|
+
# Returns Tanuki framework version as a dotted string.
|
7
|
+
def self.version
|
8
|
+
VERSION.join '.'
|
9
|
+
end
|
5
10
|
|
6
11
|
end # Tanuki
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: tanuki
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 3
|
8
|
-
- 1
|
9
|
-
version: 0.3.1
|
4
|
+
prerelease:
|
5
|
+
version: 0.4.0
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Anatoly Ressin
|
@@ -15,93 +11,86 @@ autorequire:
|
|
15
11
|
bindir: bin
|
16
12
|
cert_chain: []
|
17
13
|
|
18
|
-
date: 2011-
|
14
|
+
date: 2011-03-16 00:00:00 +01:00
|
19
15
|
default_executable:
|
20
16
|
dependencies:
|
21
17
|
- !ruby/object:Gem::Dependency
|
22
|
-
name:
|
18
|
+
name: bundler
|
23
19
|
prerelease: false
|
24
20
|
requirement: &id001 !ruby/object:Gem::Requirement
|
25
21
|
none: false
|
26
22
|
requirements:
|
27
23
|
- - ~>
|
28
24
|
- !ruby/object:Gem::Version
|
29
|
-
|
30
|
-
- 1
|
31
|
-
- 0
|
32
|
-
version: "1.0"
|
25
|
+
version: 1.0.10
|
33
26
|
type: :runtime
|
34
27
|
version_requirements: *id001
|
35
28
|
- !ruby/object:Gem::Dependency
|
36
|
-
name:
|
29
|
+
name: rack
|
37
30
|
prerelease: false
|
38
31
|
requirement: &id002 !ruby/object:Gem::Requirement
|
39
32
|
none: false
|
40
33
|
requirements:
|
41
34
|
- - ~>
|
42
35
|
- !ruby/object:Gem::Version
|
43
|
-
|
44
|
-
- 3
|
45
|
-
- 14
|
46
|
-
version: "3.14"
|
36
|
+
version: "1.0"
|
47
37
|
type: :runtime
|
48
38
|
version_requirements: *id002
|
49
39
|
- !ruby/object:Gem::Dependency
|
50
|
-
name:
|
40
|
+
name: sequel
|
51
41
|
prerelease: false
|
52
42
|
requirement: &id003 !ruby/object:Gem::Requirement
|
53
43
|
none: false
|
54
44
|
requirements:
|
55
45
|
- - ~>
|
56
46
|
- !ruby/object:Gem::Version
|
57
|
-
|
58
|
-
- 0
|
59
|
-
- 1
|
60
|
-
version: "0.1"
|
47
|
+
version: "3.14"
|
61
48
|
type: :runtime
|
62
49
|
version_requirements: *id003
|
63
50
|
- !ruby/object:Gem::Dependency
|
64
|
-
name:
|
51
|
+
name: escape_utils
|
65
52
|
prerelease: false
|
66
53
|
requirement: &id004 !ruby/object:Gem::Requirement
|
67
54
|
none: false
|
68
55
|
requirements:
|
69
56
|
- - ~>
|
70
57
|
- !ruby/object:Gem::Version
|
71
|
-
|
72
|
-
- 3
|
73
|
-
- 0
|
74
|
-
version: "3.0"
|
58
|
+
version: "0.1"
|
75
59
|
type: :runtime
|
76
60
|
version_requirements: *id004
|
77
61
|
- !ruby/object:Gem::Dependency
|
78
|
-
name:
|
62
|
+
name: activesupport
|
79
63
|
prerelease: false
|
80
64
|
requirement: &id005 !ruby/object:Gem::Requirement
|
81
65
|
none: false
|
82
66
|
requirements:
|
83
67
|
- - ~>
|
84
68
|
- !ruby/object:Gem::Version
|
85
|
-
|
86
|
-
- 0
|
87
|
-
- 4
|
88
|
-
version: "0.4"
|
69
|
+
version: "3.0"
|
89
70
|
type: :runtime
|
90
71
|
version_requirements: *id005
|
91
72
|
- !ruby/object:Gem::Dependency
|
92
|
-
name:
|
73
|
+
name: i18n
|
93
74
|
prerelease: false
|
94
75
|
requirement: &id006 !ruby/object:Gem::Requirement
|
95
76
|
none: false
|
96
77
|
requirements:
|
97
78
|
- - ~>
|
98
79
|
- !ruby/object:Gem::Version
|
99
|
-
|
100
|
-
|
101
|
-
- 3
|
102
|
-
version: "1.3"
|
103
|
-
type: :development
|
80
|
+
version: "0.4"
|
81
|
+
type: :runtime
|
104
82
|
version_requirements: *id006
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: rspec
|
85
|
+
prerelease: false
|
86
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
87
|
+
none: false
|
88
|
+
requirements:
|
89
|
+
- - ~>
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: "2.5"
|
92
|
+
type: :development
|
93
|
+
version_requirements: *id007
|
105
94
|
description: Tanuki is an MVVM-inspired web framework that fancies idiomatic Ruby, DRY and extensibility by its design.
|
106
95
|
email: tanuki@withballs.org
|
107
96
|
executables:
|
@@ -113,55 +102,58 @@ extra_rdoc_files: []
|
|
113
102
|
files:
|
114
103
|
- app/tanuki/attribute/attribute.rb
|
115
104
|
- app/tanuki/base/base.rb
|
105
|
+
- app/tanuki/controller/controller.link.thtml
|
106
|
+
- app/tanuki/controller/controller.page.thtml
|
116
107
|
- app/tanuki/controller/controller.rb
|
117
|
-
- app/tanuki/controller/
|
118
|
-
- app/tanuki/controller/
|
119
|
-
- app/tanuki/
|
108
|
+
- app/tanuki/controller/controller.title.ttxt
|
109
|
+
- app/tanuki/controller/controller.view.thtml
|
110
|
+
- app/tanuki/fetcher/sequel/sequel.rb
|
120
111
|
- app/tanuki/manager/controller/controller.rb
|
121
112
|
- app/tanuki/manager/page/page.rb
|
122
|
-
- app/tanuki/meta_model/manager.ttxt
|
123
|
-
- app/tanuki/meta_model/manager_base.ttxt
|
113
|
+
- app/tanuki/meta_model/meta_model.manager.ttxt
|
114
|
+
- app/tanuki/meta_model/meta_model.manager_base.ttxt
|
115
|
+
- app/tanuki/meta_model/meta_model.model.ttxt
|
116
|
+
- app/tanuki/meta_model/meta_model.model_base.ttxt
|
124
117
|
- app/tanuki/meta_model/meta_model.rb
|
125
|
-
- app/tanuki/meta_model/model.ttxt
|
126
|
-
- app/tanuki/meta_model/model_base.ttxt
|
127
118
|
- app/tanuki/model/controller/controller.rb
|
128
119
|
- app/tanuki/model/model.rb
|
129
120
|
- app/tanuki/model/page/page.rb
|
130
|
-
- app/tanuki/page/missing/
|
121
|
+
- app/tanuki/page/missing/missing.page.thtml
|
131
122
|
- app/tanuki/page/missing/missing.rb
|
132
|
-
- app/user/page/
|
133
|
-
- app/user/page/
|
123
|
+
- app/user/page/home/home.rb
|
124
|
+
- app/user/page/home/home.title.thtml
|
125
|
+
- app/user/page/home/home.view.css
|
126
|
+
- app/user/page/home/home.view.thtml
|
134
127
|
- bin/tanuki
|
135
128
|
- config/common.rb
|
136
129
|
- config/common_application.rb
|
137
130
|
- config/development_application.rb
|
138
131
|
- config/production_application.rb
|
139
|
-
- config/test_application.rb
|
140
132
|
- lib/tanuki/application.rb
|
141
133
|
- lib/tanuki/argument/base.rb
|
142
134
|
- lib/tanuki/argument/integer.rb
|
143
135
|
- lib/tanuki/argument/integer_range.rb
|
144
136
|
- lib/tanuki/argument/string.rb
|
145
137
|
- lib/tanuki/argument.rb
|
146
|
-
- lib/tanuki/
|
147
|
-
- lib/tanuki/behavior/meta_model_behavior.rb
|
148
|
-
- lib/tanuki/behavior/model_behavior.rb
|
149
|
-
- lib/tanuki/behavior/object_behavior.rb
|
138
|
+
- lib/tanuki/base_behavior.rb
|
150
139
|
- lib/tanuki/configurator.rb
|
140
|
+
- lib/tanuki/const.rb
|
151
141
|
- lib/tanuki/context.rb
|
142
|
+
- lib/tanuki/controller.rb
|
143
|
+
- lib/tanuki/css_compressor.rb
|
152
144
|
- lib/tanuki/extensions/module.rb
|
153
|
-
- lib/tanuki/extensions/rack/
|
154
|
-
- lib/tanuki/extensions/rack/server.rb
|
145
|
+
- lib/tanuki/extensions/rack/frozen_route.rb
|
155
146
|
- lib/tanuki/extensions/rack/static_dir.rb
|
147
|
+
- lib/tanuki/extensions/sequel/model.rb
|
156
148
|
- lib/tanuki/i18n.rb
|
157
|
-
- lib/tanuki/launcher.rb
|
158
149
|
- lib/tanuki/loader.rb
|
150
|
+
- lib/tanuki/meta_model.rb
|
151
|
+
- lib/tanuki/model_behavior.rb
|
159
152
|
- lib/tanuki/model_generator.rb
|
160
153
|
- lib/tanuki/template_compiler.rb
|
161
154
|
- lib/tanuki/utility/create.rb
|
162
155
|
- lib/tanuki/utility/generate.rb
|
163
156
|
- lib/tanuki/utility/help.rb
|
164
|
-
- lib/tanuki/utility/server.rb
|
165
157
|
- lib/tanuki/utility/version.rb
|
166
158
|
- lib/tanuki/utility.rb
|
167
159
|
- lib/tanuki/version.rb
|
@@ -188,25 +180,17 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
188
180
|
requirements:
|
189
181
|
- - ~>
|
190
182
|
- !ruby/object:Gem::Version
|
191
|
-
segments:
|
192
|
-
- 1
|
193
|
-
- 9
|
194
|
-
- 2
|
195
183
|
version: 1.9.2
|
196
184
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
197
185
|
none: false
|
198
186
|
requirements:
|
199
187
|
- - ">="
|
200
188
|
- !ruby/object:Gem::Version
|
201
|
-
segments:
|
202
|
-
- 1
|
203
|
-
- 3
|
204
|
-
- 6
|
205
189
|
version: 1.3.6
|
206
190
|
requirements: []
|
207
191
|
|
208
192
|
rubyforge_project:
|
209
|
-
rubygems_version: 1.
|
193
|
+
rubygems_version: 1.5.2
|
210
194
|
signing_key:
|
211
195
|
specification_version: 3
|
212
196
|
summary: Web framework with balls!
|
@@ -1 +0,0 @@
|
|
1
|
-
<%= self.class %> is under construction
|
@@ -1,121 +0,0 @@
|
|
1
|
-
<!DOCTYPE html>
|
2
|
-
<html lang="en">
|
3
|
-
<head>
|
4
|
-
<meta charset="utf-8" />
|
5
|
-
<title>Welcome to Tanuki</title>
|
6
|
-
<style type="text/css" media="screen">
|
7
|
-
body {
|
8
|
-
margin: 0;
|
9
|
-
padding: 0;
|
10
|
-
font-family: 'Trebuchet MS', Helvetica, sans-serif;
|
11
|
-
font-size: 11pt;
|
12
|
-
background-color: #f5f4ef;
|
13
|
-
color: #000305;
|
14
|
-
}
|
15
|
-
|
16
|
-
#header {
|
17
|
-
margin: 0 auto;
|
18
|
-
width: 540px;
|
19
|
-
}
|
20
|
-
|
21
|
-
div.top {
|
22
|
-
background-color: #fff;
|
23
|
-
margin: 0 auto 20px auto;
|
24
|
-
padding: 15px 20px 0 20px;
|
25
|
-
width: 540px;
|
26
|
-
border-radius: 10px;
|
27
|
-
-moz-border-radius: 10px;
|
28
|
-
-webkit-border-radius: 10px;
|
29
|
-
}
|
30
|
-
|
31
|
-
h1 {
|
32
|
-
margin: 20px 0;
|
33
|
-
padding: 0;
|
34
|
-
font-size: 22pt;
|
35
|
-
}
|
36
|
-
|
37
|
-
h1 em {
|
38
|
-
display: block;
|
39
|
-
font-style: normal;
|
40
|
-
font-size: 12pt;
|
41
|
-
color: #777a7c;
|
42
|
-
}
|
43
|
-
|
44
|
-
h2 {
|
45
|
-
margin: 0 0 15px 0;
|
46
|
-
padding: 0;
|
47
|
-
font-size: 16pt;
|
48
|
-
}
|
49
|
-
|
50
|
-
#next ol {
|
51
|
-
margin: 0;
|
52
|
-
padding-bottom: 25px;
|
53
|
-
}
|
54
|
-
|
55
|
-
#next li {
|
56
|
-
margin: 0;
|
57
|
-
padding: 0;
|
58
|
-
font-size: 16pt;
|
59
|
-
font-weight: bold;
|
60
|
-
color: #c74451;
|
61
|
-
}
|
62
|
-
|
63
|
-
#next li span {
|
64
|
-
font-size: 11pt;
|
65
|
-
font-weight: normal;
|
66
|
-
color: #000305;
|
67
|
-
}
|
68
|
-
|
69
|
-
code {
|
70
|
-
font-family: 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', Menlo, Monaco, Consolas, 'Courier New', monospace;
|
71
|
-
font-size: 10pt;
|
72
|
-
background-color: #fffccc;
|
73
|
-
padding: 1px 3px;
|
74
|
-
}
|
75
|
-
|
76
|
-
#env div {
|
77
|
-
padding-bottom: 25px;
|
78
|
-
}
|
79
|
-
|
80
|
-
#env table {
|
81
|
-
margin: 0;
|
82
|
-
padding: 0;
|
83
|
-
border-collapse: collapse;
|
84
|
-
color: #444;
|
85
|
-
}
|
86
|
-
|
87
|
-
#env table th {
|
88
|
-
text-align: left;
|
89
|
-
}
|
90
|
-
|
91
|
-
#env table td {
|
92
|
-
padding-left: 20px;
|
93
|
-
font-size: 10pt;
|
94
|
-
}
|
95
|
-
</style>
|
96
|
-
</head>
|
97
|
-
<body>
|
98
|
-
<div id="header">
|
99
|
-
<h1>It Works! <em>You have been granted one Tanuki.</em></h1>
|
100
|
-
</div>
|
101
|
-
<div class="top" id="next">
|
102
|
-
<h2>What to do next</h2>
|
103
|
-
<div>
|
104
|
-
<p>Here's a few suggestions to get things going:</p>
|
105
|
-
<ol>
|
106
|
-
<li><span>To use a database, describe its contents in <code>schema/user</code>.</span></li>
|
107
|
-
<li><span>To generate models from your schema, run <code>tanuki generate</code>.</span></li>
|
108
|
-
<li><span>To add or edit controllers, navigate to <code>app/user</code>.</span></li>
|
109
|
-
</ol>
|
110
|
-
</div>
|
111
|
-
</div>
|
112
|
-
<div class="top" id="env">
|
113
|
-
<h2>Your setup</h2>
|
114
|
-
<div><table>
|
115
|
-
<tr><th>Ruby</th><td><%= RUBY_VERSION %> (<%= RUBY_RELEASE_DATE %>) [<%= RUBY_PLATFORM %>]</td></tr>
|
116
|
-
<tr><th>Rack</th><td><%= Rack.version %> (on <%= ctx.env['SERVER_SOFTWARE'] %>)</td></tr>
|
117
|
-
<tr><th>Tanuki</th><td><%= Tanuki::VERSION %></td></tr>
|
118
|
-
</table></div>
|
119
|
-
</div>
|
120
|
-
</body>
|
121
|
-
</html>
|