adminpage_scaffold_generator 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.tar.gz.sig +0 -0
- data/History.txt +4 -0
- data/License.txt +20 -0
- data/Manifest.txt +73 -0
- data/PostInstall.txt +8 -0
- data/README.txt +48 -0
- data/Rakefile +4 -0
- data/USAGE +27 -0
- data/adminpage_scaffold_generator.rb +87 -0
- data/config/hoe.rb +73 -0
- data/config/requirements.rb +15 -0
- data/lib/adminpage.rb +6 -0
- data/lib/adminpage/version.rb +9 -0
- data/script/console +10 -0
- data/script/destroy +14 -0
- data/script/generate +14 -0
- data/script/txt2html +82 -0
- data/setup.rb +1585 -0
- data/spec/adminpage_spec.rb +11 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +10 -0
- data/tasks/deployment.rake +34 -0
- data/tasks/environment.rake +7 -0
- data/tasks/rspec.rake +21 -0
- data/tasks/website.rake +17 -0
- data/templates/adminpage.css +344 -0
- data/templates/controller.rb +85 -0
- data/templates/functional_test.rb +45 -0
- data/templates/helper.rb +2 -0
- data/templates/images/add-icon.gif +0 -0
- data/templates/images/arrow.gif +0 -0
- data/templates/images/bg-center-column.jpg +0 -0
- data/templates/images/bg-dotted.gif +0 -0
- data/templates/images/bg-footer.gif +0 -0
- data/templates/images/bg-header.gif +0 -0
- data/templates/images/bg-left-header.gif +0 -0
- data/templates/images/bg-left-link.gif +0 -0
- data/templates/images/bg-middle.gif +0 -0
- data/templates/images/bg-orange-button.gif +0 -0
- data/templates/images/bg-select.gif +0 -0
- data/templates/images/bg-th-left.gif +0 -0
- data/templates/images/bg-th-right.gif +0 -0
- data/templates/images/delete.png +0 -0
- data/templates/images/edit-icon.gif +0 -0
- data/templates/images/exclamation.png +0 -0
- data/templates/images/hr.gif +0 -0
- data/templates/images/info.png +0 -0
- data/templates/images/login-icon.gif +0 -0
- data/templates/images/logo.gif +0 -0
- data/templates/images/logo_1.gif +0 -0
- data/templates/images/magnifier.png +0 -0
- data/templates/images/msg_Info.png +0 -0
- data/templates/images/msg_error.png +0 -0
- data/templates/images/msg_success.png +0 -0
- data/templates/images/msg_validation.png +0 -0
- data/templates/images/msg_warning.png +0 -0
- data/templates/images/save-icon.gif +0 -0
- data/templates/images/tab-active-left.gif +0 -0
- data/templates/images/tab-active-right.gif +0 -0
- data/templates/images/tab-active.gif +0 -0
- data/templates/images/tab-left.gif +0 -0
- data/templates/images/tab-right.gif +0 -0
- data/templates/images/tab.gif +0 -0
- data/templates/layout.html.erb +56 -0
- data/templates/messagebox.css +34 -0
- data/templates/view_edit.html.erb +35 -0
- data/templates/view_index.html.erb +42 -0
- data/templates/view_new.html.erb +35 -0
- data/templates/view_show.html.erb +30 -0
- data/website/index.html +153 -0
- data/website/index.txt +85 -0
- data/website/javascripts/rounded_corners_lite.inc.js +285 -0
- data/website/stylesheets/screen.css +138 -0
- data/website/template.html.erb +48 -0
- metadata +170 -0
- metadata.gz.sig +0 -0
data.tar.gz.sig
ADDED
|
Binary file
|
data/History.txt
ADDED
data/License.txt
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
Copyright (c) 2008 Yusuke Ohmichi(Maimuzo)
|
|
2
|
+
|
|
3
|
+
This code is free to use under the terms of the GPL version 3 license.
|
|
4
|
+
See:
|
|
5
|
+
http://www.gnu.org/licenses/gpl.html
|
|
6
|
+
|
|
7
|
+
Small(16x16) icons are licensed under a Creative Commons Attribution 2.5 License.
|
|
8
|
+
http://creativecommons.org/licenses/by/2.5/
|
|
9
|
+
and
|
|
10
|
+
http://www.famfamfam.com/lab/icons/silk/
|
|
11
|
+
|
|
12
|
+
Middle(32x32) icons are free to use under the Free License.
|
|
13
|
+
See:
|
|
14
|
+
http://itweek.deviantart.com/art/Knob-Buttons-Toolbar-icons-73463960
|
|
15
|
+
|
|
16
|
+
This template files (layout, index, add, edit, show, CSS and more) are free to use under the Free License.
|
|
17
|
+
See:
|
|
18
|
+
http://www.webresourcesdepot.com/
|
|
19
|
+
|
|
20
|
+
|
data/Manifest.txt
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
History.txt
|
|
2
|
+
License.txt
|
|
3
|
+
Manifest.txt
|
|
4
|
+
PostInstall.txt
|
|
5
|
+
README.txt
|
|
6
|
+
Rakefile
|
|
7
|
+
USAGE
|
|
8
|
+
adminpage_scaffold_generator.rb
|
|
9
|
+
config/hoe.rb
|
|
10
|
+
config/requirements.rb
|
|
11
|
+
lib/adminpage.rb
|
|
12
|
+
lib/adminpage/version.rb
|
|
13
|
+
script/console
|
|
14
|
+
script/destroy
|
|
15
|
+
script/generate
|
|
16
|
+
script/txt2html
|
|
17
|
+
setup.rb
|
|
18
|
+
spec/adminpage_spec.rb
|
|
19
|
+
spec/spec.opts
|
|
20
|
+
spec/spec_helper.rb
|
|
21
|
+
tasks/deployment.rake
|
|
22
|
+
tasks/environment.rake
|
|
23
|
+
tasks/rspec.rake
|
|
24
|
+
tasks/website.rake
|
|
25
|
+
templates/adminpage.css
|
|
26
|
+
templates/controller.rb
|
|
27
|
+
templates/functional_test.rb
|
|
28
|
+
templates/helper.rb
|
|
29
|
+
templates/images/add-icon.gif
|
|
30
|
+
templates/images/arrow.gif
|
|
31
|
+
templates/images/bg-center-column.jpg
|
|
32
|
+
templates/images/bg-dotted.gif
|
|
33
|
+
templates/images/bg-footer.gif
|
|
34
|
+
templates/images/bg-header.gif
|
|
35
|
+
templates/images/bg-left-header.gif
|
|
36
|
+
templates/images/bg-left-link.gif
|
|
37
|
+
templates/images/bg-middle.gif
|
|
38
|
+
templates/images/bg-orange-button.gif
|
|
39
|
+
templates/images/bg-select.gif
|
|
40
|
+
templates/images/bg-th-left.gif
|
|
41
|
+
templates/images/bg-th-right.gif
|
|
42
|
+
templates/images/delete.png
|
|
43
|
+
templates/images/edit-icon.gif
|
|
44
|
+
templates/images/exclamation.png
|
|
45
|
+
templates/images/hr.gif
|
|
46
|
+
templates/images/info.png
|
|
47
|
+
templates/images/login-icon.gif
|
|
48
|
+
templates/images/logo.gif
|
|
49
|
+
templates/images/logo_1.gif
|
|
50
|
+
templates/images/magnifier.png
|
|
51
|
+
templates/images/msg_Info.png
|
|
52
|
+
templates/images/msg_error.png
|
|
53
|
+
templates/images/msg_success.png
|
|
54
|
+
templates/images/msg_validation.png
|
|
55
|
+
templates/images/msg_warning.png
|
|
56
|
+
templates/images/save-icon.gif
|
|
57
|
+
templates/images/tab-active-left.gif
|
|
58
|
+
templates/images/tab-active-right.gif
|
|
59
|
+
templates/images/tab-active.gif
|
|
60
|
+
templates/images/tab-left.gif
|
|
61
|
+
templates/images/tab-right.gif
|
|
62
|
+
templates/images/tab.gif
|
|
63
|
+
templates/layout.html.erb
|
|
64
|
+
templates/messagebox.css
|
|
65
|
+
templates/view_edit.html.erb
|
|
66
|
+
templates/view_index.html.erb
|
|
67
|
+
templates/view_new.html.erb
|
|
68
|
+
templates/view_show.html.erb
|
|
69
|
+
website/index.html
|
|
70
|
+
website/index.txt
|
|
71
|
+
website/javascripts/rounded_corners_lite.inc.js
|
|
72
|
+
website/stylesheets/screen.css
|
|
73
|
+
website/template.html.erb
|
data/PostInstall.txt
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
|
|
2
|
+
(YOUR_RAILS_ROOT)$ script/generate adminpage_scaffold model [column:type [column:type]]
|
|
3
|
+
|
|
4
|
+
See more options:
|
|
5
|
+
(YOUR_RAILS_ROOT)$ script/generate adminpage_scaffold --help
|
|
6
|
+
|
|
7
|
+
For more information on adminpage_scaffold_generator, see http://adminpage.rubyforge.org
|
|
8
|
+
|
data/README.txt
ADDED
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
= adminpage
|
|
2
|
+
|
|
3
|
+
* http://adminpage.rubyforge.org/
|
|
4
|
+
|
|
5
|
+
== DESCRIPTION:
|
|
6
|
+
|
|
7
|
+
You can generate template files easy and beautiful by this scaffold generator for Ruby on Rails.
|
|
8
|
+
These templates are based on:
|
|
9
|
+
http://www.webresourcesdepot.com/free-admin-template-for-web-applications/
|
|
10
|
+
|
|
11
|
+
== FEATURES/PROBLEMS:
|
|
12
|
+
|
|
13
|
+
* You can create admin-pages easily.
|
|
14
|
+
|
|
15
|
+
== SYNOPSIS:
|
|
16
|
+
|
|
17
|
+
$ cd (YOUR_RAILS_ROOT)
|
|
18
|
+
$ scirpt/generate adminpage_scaffold (MODEL NAME) [(COLUMN NAME):(TYPE) [(COLUMN NAME):(TYPE)]]
|
|
19
|
+
|
|
20
|
+
== REQUIREMENTS:
|
|
21
|
+
|
|
22
|
+
* rails ver 2.1.0
|
|
23
|
+
|
|
24
|
+
== INSTALL:
|
|
25
|
+
|
|
26
|
+
* sudo gem install adminpage
|
|
27
|
+
|
|
28
|
+
== LICENSE:
|
|
29
|
+
|
|
30
|
+
Copyright (c) 2008 Yusuke Ohmichi(Maimuzo)
|
|
31
|
+
|
|
32
|
+
This code is free to use under the terms of the GPL version 3 license.
|
|
33
|
+
See:
|
|
34
|
+
http://www.gnu.org/licenses/gpl.html
|
|
35
|
+
|
|
36
|
+
Small(16x16) icons are licensed under a Creative Commons Attribution 2.5 License.
|
|
37
|
+
http://creativecommons.org/licenses/by/2.5/
|
|
38
|
+
and
|
|
39
|
+
http://www.famfamfam.com/lab/icons/silk/
|
|
40
|
+
|
|
41
|
+
Middle(32x32) icons are free to use under the Free License.
|
|
42
|
+
See:
|
|
43
|
+
http://itweek.deviantart.com/art/Knob-Buttons-Toolbar-icons-73463960
|
|
44
|
+
|
|
45
|
+
This template files (layout, index, add, edit, show, CSS and more) are free to use under the Free License.
|
|
46
|
+
See:
|
|
47
|
+
http://www.webresourcesdepot.com/
|
|
48
|
+
|
data/Rakefile
ADDED
data/USAGE
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
Description:
|
|
2
|
+
This logic is same as the default scaffold generator.
|
|
3
|
+
I changed erb files only.
|
|
4
|
+
So, you can use it like default scaffold parameters.
|
|
5
|
+
|
|
6
|
+
This code is free to use under the terms of the GPL version 3 license.
|
|
7
|
+
See:
|
|
8
|
+
http://www.gnu.org/licenses/gpl.html
|
|
9
|
+
|
|
10
|
+
Small(16x16) icons are licensed under a Creative Commons Attribution 2.5 License.
|
|
11
|
+
http://creativecommons.org/licenses/by/2.5/
|
|
12
|
+
and
|
|
13
|
+
http://www.famfamfam.com/lab/icons/silk/
|
|
14
|
+
|
|
15
|
+
Middle(32x32) icons are free to use under the Free License.
|
|
16
|
+
See:
|
|
17
|
+
http://itweek.deviantart.com/art/Knob-Buttons-Toolbar-icons-73463960
|
|
18
|
+
|
|
19
|
+
This template files (layout, index, add, edit, show, CSS and more) are free to use under the Free License.
|
|
20
|
+
See:
|
|
21
|
+
http://www.webresourcesdepot.com/
|
|
22
|
+
|
|
23
|
+
Example:
|
|
24
|
+
`./script/generate adminpage_scaffold post` # no attributes, view will be anemic
|
|
25
|
+
`./script/generate adminpage_scaffold post title:string body:text published:boolean`
|
|
26
|
+
`./script/generate adminpage_scaffold purchase order_id:integer amount:decimal`
|
|
27
|
+
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
class AdminpageScaffoldGenerator < ScaffoldGenerator
|
|
2
|
+
def manifest
|
|
3
|
+
record do |m|
|
|
4
|
+
# Check for class naming collisions.
|
|
5
|
+
m.class_collisions(controller_class_path, "#{controller_class_name}Controller", "#{controller_class_name}Helper")
|
|
6
|
+
m.class_collisions(class_path, "#{class_name}")
|
|
7
|
+
|
|
8
|
+
# Controller, helper, views, test and stylesheets directories.
|
|
9
|
+
m.directory(File.join('app/models', class_path))
|
|
10
|
+
m.directory(File.join('app/controllers', controller_class_path))
|
|
11
|
+
m.directory(File.join('app/helpers', controller_class_path))
|
|
12
|
+
m.directory(File.join('app/views', controller_class_path, controller_file_name))
|
|
13
|
+
m.directory(File.join('app/views/layouts', controller_class_path))
|
|
14
|
+
m.directory(File.join('test/functional', controller_class_path))
|
|
15
|
+
m.directory(File.join('test/unit', class_path))
|
|
16
|
+
m.directory(File.join('public/stylesheets', class_path))
|
|
17
|
+
m.directory(File.join('public/stylesheets/adminpage', class_path))
|
|
18
|
+
m.directory(File.join('public/images/adminpage', class_path))
|
|
19
|
+
|
|
20
|
+
for action in scaffold_views
|
|
21
|
+
m.template(
|
|
22
|
+
"view_#{action}.html.erb",
|
|
23
|
+
File.join('app/views', controller_class_path, controller_file_name, "#{action}.html.erb")
|
|
24
|
+
)
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
# Layout and stylesheet.
|
|
28
|
+
m.template('layout.html.erb', File.join('app/views/layouts', controller_class_path, "#{controller_file_name}.html.erb"))
|
|
29
|
+
# m.template('style.css', 'public/stylesheets/scaffold.css')
|
|
30
|
+
|
|
31
|
+
# CSS for adminpage
|
|
32
|
+
m.template('adminpage.css', 'public/stylesheets/adminpage/adminpage.css')
|
|
33
|
+
m.template('messagebox.css', 'public/stylesheets/adminpage/messagebox.css')
|
|
34
|
+
|
|
35
|
+
# Images for adminpage
|
|
36
|
+
m.file('images/logo.gif', 'public/images/adminpage/logo.gif')
|
|
37
|
+
m.file('images/add-icon.gif', 'public/images/adminpage/add-icon.gif')
|
|
38
|
+
m.file('images/arrow.gif', 'public/images/adminpage/arrow.gif')
|
|
39
|
+
m.file('images/bg-center-column.jpg', 'public/images/adminpage/bg-center-column.jpg')
|
|
40
|
+
m.file('images/bg-dotted.gif', 'public/images/adminpage/bg-dotted.gif')
|
|
41
|
+
m.file('images/bg-footer.gif', 'public/images/adminpage/bg-footer.gif')
|
|
42
|
+
m.file('images/bg-header.gif', 'public/images/adminpage/bg-header.gif')
|
|
43
|
+
m.file('images/bg-left-header.gif', 'public/images/adminpage/bg-left-header.gif')
|
|
44
|
+
m.file('images/bg-left-link.gif', 'public/images/adminpage/bg-left-link.gif')
|
|
45
|
+
m.file('images/bg-middle.gif', 'public/images/adminpage/bg-middle.gif')
|
|
46
|
+
m.file('images/bg-orange-button.gif', 'public/images/adminpage/bg-orange-button.gif')
|
|
47
|
+
m.file('images/bg-select.gif', 'public/images/adminpage/bg-select.gif')
|
|
48
|
+
m.file('images/bg-th-left.gif', 'public/images/adminpage/bg-th-left.gif')
|
|
49
|
+
m.file('images/bg-th-right.gif', 'public/images/adminpage/bg-th-right.gif')
|
|
50
|
+
m.file('images/edit-icon.gif', 'public/images/adminpage/edit-icon.gif')
|
|
51
|
+
m.file('images/hr.gif', 'public/images/adminpage/hr.gif')
|
|
52
|
+
m.file('images/login-icon.gif', 'public/images/adminpage/login-icon.gif')
|
|
53
|
+
m.file('images/save-icon.gif', 'public/images/adminpage/save-icon.gif')
|
|
54
|
+
m.file('images/tab-active-left.gif', 'public/images/adminpage/tab-active-left.gif')
|
|
55
|
+
m.file('images/tab-active-right.gif', 'public/images/adminpage/tab-active-right.gif')
|
|
56
|
+
m.file('images/tab-active.gif', 'public/images/adminpage/tab-active.gif')
|
|
57
|
+
m.file('images/tab-left.gif', 'public/images/adminpage/tab-left.gif')
|
|
58
|
+
m.file('images/tab-right.gif', 'public/images/adminpage/tab-right.gif')
|
|
59
|
+
m.file('images/tab.gif', 'public/images/adminpage/tab.gif')
|
|
60
|
+
m.file('images/magnifier.png', 'public/images/adminpage/magnifier.png')
|
|
61
|
+
m.file('images/exclamation.png', 'public/images/adminpage/exclamation.png')
|
|
62
|
+
m.file('images/delete.png', 'public/images/adminpage/delete.png')
|
|
63
|
+
m.file('images/msg_error.png', 'public/images/adminpage/msg_error.png')
|
|
64
|
+
m.file('images/msg_info.png', 'public/images/adminpage/msg_info.png')
|
|
65
|
+
m.file('images/msg_success.png', 'public/images/adminpage/msg_success.png')
|
|
66
|
+
m.file('images/msg_validation.png', 'public/images/adminpage/msg_validation.png')
|
|
67
|
+
m.file('images/msg_warning.png', 'public/images/adminpage/msg_warning.png')
|
|
68
|
+
|
|
69
|
+
|
|
70
|
+
m.template(
|
|
71
|
+
'controller.rb', File.join('app/controllers', controller_class_path, "#{controller_file_name}_controller.rb")
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
m.template('functional_test.rb', File.join('test/functional', controller_class_path, "#{controller_file_name}_controller_test.rb"))
|
|
75
|
+
m.template('helper.rb', File.join('app/helpers', controller_class_path, "#{controller_file_name}_helper.rb"))
|
|
76
|
+
|
|
77
|
+
m.route_resources controller_file_name
|
|
78
|
+
|
|
79
|
+
m.dependency 'model', [name] + @args, :collision => :skip
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
protected
|
|
83
|
+
# Override with your own usage banner.
|
|
84
|
+
def banner
|
|
85
|
+
"Usage: #{$0} adminpage_scaffold ModelName [field:type, field:type]"
|
|
86
|
+
end
|
|
87
|
+
end
|
data/config/hoe.rb
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
require 'adminpage/version'
|
|
2
|
+
|
|
3
|
+
AUTHOR = 'Yusuke Ohmichi(Maimuzo)' # can also be an array of Authors
|
|
4
|
+
EMAIL = "maimuzo@gmail.com"
|
|
5
|
+
DESCRIPTION = "You can generate template files easy and beautiful by this scaffold generator for Ruby on Rails. These templates are based on http://www.webresourcesdepot.com/free-admin-template-for-web-applications/"
|
|
6
|
+
GEM_NAME = 'adminpage_scaffold_generator' # what ppl will type to install your gem
|
|
7
|
+
RUBYFORGE_PROJECT = 'adminpage' # The unix name for your project
|
|
8
|
+
HOMEPATH = "http://#{RUBYFORGE_PROJECT}.rubyforge.org"
|
|
9
|
+
DOWNLOAD_PATH = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
|
10
|
+
EXTRA_DEPENDENCIES = [
|
|
11
|
+
['rails', '>= 2.1.0']
|
|
12
|
+
] # An array of rubygem dependencies [name, version]
|
|
13
|
+
|
|
14
|
+
@config_file = "~/.rubyforge/user-config.yml"
|
|
15
|
+
@config = nil
|
|
16
|
+
RUBYFORGE_USERNAME = "maimuzo"
|
|
17
|
+
def rubyforge_username
|
|
18
|
+
unless @config
|
|
19
|
+
begin
|
|
20
|
+
@config = YAML.load(File.read(File.expand_path(@config_file)))
|
|
21
|
+
rescue
|
|
22
|
+
puts <<-EOS
|
|
23
|
+
ERROR: No rubyforge config file found: #{@config_file}
|
|
24
|
+
Run 'rubyforge setup' to prepare your env for access to Rubyforge
|
|
25
|
+
- See http://newgem.rubyforge.org/rubyforge.html for more details
|
|
26
|
+
EOS
|
|
27
|
+
exit
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
RUBYFORGE_USERNAME.replace @config["username"]
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
|
|
34
|
+
REV = nil
|
|
35
|
+
# UNCOMMENT IF REQUIRED:
|
|
36
|
+
# REV = YAML.load(`svn info`)['Revision']
|
|
37
|
+
VERS = Adminpage::VERSION::STRING + (REV ? ".#{REV}" : "")
|
|
38
|
+
RDOC_OPTS = ['--quiet', '--title', 'adminpage documentation',
|
|
39
|
+
"--opname", "index.html",
|
|
40
|
+
"--line-numbers",
|
|
41
|
+
"--main", "README",
|
|
42
|
+
"--inline-source"]
|
|
43
|
+
|
|
44
|
+
class Hoe
|
|
45
|
+
def extra_deps
|
|
46
|
+
@extra_deps.reject! { |x| Array(x).first == 'hoe' }
|
|
47
|
+
@extra_deps
|
|
48
|
+
end
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
# Generate all the Rake tasks
|
|
52
|
+
# Run 'rake -T' to see list of generated tasks (from gem root directory)
|
|
53
|
+
$hoe = Hoe.new(GEM_NAME, VERS) do |p|
|
|
54
|
+
p.developer(AUTHOR, EMAIL)
|
|
55
|
+
p.description = DESCRIPTION
|
|
56
|
+
p.summary = DESCRIPTION
|
|
57
|
+
p.url = HOMEPATH
|
|
58
|
+
p.rubyforge_name = RUBYFORGE_PROJECT if RUBYFORGE_PROJECT
|
|
59
|
+
p.test_globs = ["test/**/test_*.rb"]
|
|
60
|
+
p.clean_globs |= ['**/.*.sw?', '*.gem', '.config', '**/.DS_Store'] #An array of file patterns to delete on clean.
|
|
61
|
+
|
|
62
|
+
# == Optional
|
|
63
|
+
p.changes = p.paragraphs_of("History.txt", 0..1).join("\n\n")
|
|
64
|
+
#p.extra_deps = EXTRA_DEPENDENCIES
|
|
65
|
+
|
|
66
|
+
#p.spec_extras = {} # A hash of extra values to set in the gemspec.
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
CHANGES = $hoe.paragraphs_of('History.txt', 0..1).join("\\n\\n")
|
|
70
|
+
PATH = (RUBYFORGE_PROJECT == GEM_NAME) ? RUBYFORGE_PROJECT : "#{RUBYFORGE_PROJECT}/#{GEM_NAME}"
|
|
71
|
+
$hoe.remote_rdoc_dir = File.join(PATH.gsub(/^#{RUBYFORGE_PROJECT}\/?/,''), 'rdoc')
|
|
72
|
+
$hoe.rsync_args = '-av --delete --ignore-errors'
|
|
73
|
+
$hoe.spec.post_install_message = File.open(File.dirname(__FILE__) + "/../PostInstall.txt").read rescue ""
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
require 'fileutils'
|
|
2
|
+
include FileUtils
|
|
3
|
+
|
|
4
|
+
require 'rubygems'
|
|
5
|
+
%w[rake hoe newgem rubigen].each do |req_gem|
|
|
6
|
+
begin
|
|
7
|
+
require req_gem
|
|
8
|
+
rescue LoadError
|
|
9
|
+
puts "This Rakefile requires the '#{req_gem}' RubyGem."
|
|
10
|
+
puts "Installation: gem install #{req_gem} -y"
|
|
11
|
+
exit
|
|
12
|
+
end
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
$:.unshift(File.join(File.dirname(__FILE__), %w[.. lib]))
|
data/lib/adminpage.rb
ADDED
data/script/console
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
# File: script/console
|
|
3
|
+
irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
|
|
4
|
+
|
|
5
|
+
libs = " -r irb/completion"
|
|
6
|
+
# Perhaps use a console_lib to store any extra methods I may want available in the cosole
|
|
7
|
+
# libs << " -r #{File.dirname(__FILE__) + '/../lib/console_lib/console_logger.rb'}"
|
|
8
|
+
libs << " -r #{File.dirname(__FILE__) + '/../lib/adminpage.rb'}"
|
|
9
|
+
puts "Loading adminpage gem"
|
|
10
|
+
exec "#{irb} #{libs} --simple-prompt"
|
data/script/destroy
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
|
3
|
+
|
|
4
|
+
begin
|
|
5
|
+
require 'rubigen'
|
|
6
|
+
rescue LoadError
|
|
7
|
+
require 'rubygems'
|
|
8
|
+
require 'rubigen'
|
|
9
|
+
end
|
|
10
|
+
require 'rubigen/scripts/destroy'
|
|
11
|
+
|
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
|
14
|
+
RubiGen::Scripts::Destroy.new.run(ARGV)
|
data/script/generate
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
APP_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))
|
|
3
|
+
|
|
4
|
+
begin
|
|
5
|
+
require 'rubigen'
|
|
6
|
+
rescue LoadError
|
|
7
|
+
require 'rubygems'
|
|
8
|
+
require 'rubigen'
|
|
9
|
+
end
|
|
10
|
+
require 'rubigen/scripts/generate'
|
|
11
|
+
|
|
12
|
+
ARGV.shift if ['--help', '-h'].include?(ARGV[0])
|
|
13
|
+
RubiGen::Base.use_component_sources! [:rubygems, :newgem, :newgem_theme, :test_unit]
|
|
14
|
+
RubiGen::Scripts::Generate.new.run(ARGV)
|
data/script/txt2html
ADDED
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
#!/usr/bin/env ruby
|
|
2
|
+
|
|
3
|
+
GEM_NAME = 'adminpage' # what ppl will type to install your gem
|
|
4
|
+
RUBYFORGE_PROJECT = 'adminpage'
|
|
5
|
+
|
|
6
|
+
require 'rubygems'
|
|
7
|
+
begin
|
|
8
|
+
require 'newgem'
|
|
9
|
+
require 'rubyforge'
|
|
10
|
+
rescue LoadError
|
|
11
|
+
puts "\n\nGenerating the website requires the newgem RubyGem"
|
|
12
|
+
puts "Install: gem install newgem\n\n"
|
|
13
|
+
exit(1)
|
|
14
|
+
end
|
|
15
|
+
require 'redcloth'
|
|
16
|
+
require 'syntax/convertors/html'
|
|
17
|
+
require 'erb'
|
|
18
|
+
require File.dirname(__FILE__) + "/../lib/#{GEM_NAME}/version.rb"
|
|
19
|
+
|
|
20
|
+
version = Adminpage::VERSION::STRING
|
|
21
|
+
download = "http://rubyforge.org/projects/#{RUBYFORGE_PROJECT}"
|
|
22
|
+
|
|
23
|
+
def rubyforge_project_id
|
|
24
|
+
RubyForge.new.autoconfig["group_ids"][RUBYFORGE_PROJECT]
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
class Fixnum
|
|
28
|
+
def ordinal
|
|
29
|
+
# teens
|
|
30
|
+
return 'th' if (10..19).include?(self % 100)
|
|
31
|
+
# others
|
|
32
|
+
case self % 10
|
|
33
|
+
when 1: return 'st'
|
|
34
|
+
when 2: return 'nd'
|
|
35
|
+
when 3: return 'rd'
|
|
36
|
+
else return 'th'
|
|
37
|
+
end
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
class Time
|
|
42
|
+
def pretty
|
|
43
|
+
return "#{mday}#{mday.ordinal} #{strftime('%B')} #{year}"
|
|
44
|
+
end
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def convert_syntax(syntax, source)
|
|
48
|
+
return Syntax::Convertors::HTML.for_syntax(syntax).convert(source).gsub(%r!^<pre>|</pre>$!,'')
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
if ARGV.length >= 1
|
|
52
|
+
src, template = ARGV
|
|
53
|
+
template ||= File.join(File.dirname(__FILE__), '/../website/template.html.erb')
|
|
54
|
+
else
|
|
55
|
+
puts("Usage: #{File.split($0).last} source.txt [template.html.erb] > output.html")
|
|
56
|
+
exit!
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
template = ERB.new(File.open(template).read)
|
|
60
|
+
|
|
61
|
+
title = nil
|
|
62
|
+
body = nil
|
|
63
|
+
File.open(src) do |fsrc|
|
|
64
|
+
title_text = fsrc.readline
|
|
65
|
+
body_text_template = fsrc.read
|
|
66
|
+
body_text = ERB.new(body_text_template).result(binding)
|
|
67
|
+
syntax_items = []
|
|
68
|
+
body_text.gsub!(%r!<(pre|code)[^>]*?syntax=['"]([^'"]+)[^>]*>(.*?)</\1>!m){
|
|
69
|
+
ident = syntax_items.length
|
|
70
|
+
element, syntax, source = $1, $2, $3
|
|
71
|
+
syntax_items << "<#{element} class='syntax'>#{convert_syntax(syntax, source)}</#{element}>"
|
|
72
|
+
"syntax-temp-#{ident}"
|
|
73
|
+
}
|
|
74
|
+
title = RedCloth.new(title_text).to_html.gsub(%r!<.*?>!,'').strip
|
|
75
|
+
body = RedCloth.new(body_text).to_html
|
|
76
|
+
body.gsub!(%r!(?:<pre><code>)?syntax-temp-(\d+)(?:</code></pre>)?!){ syntax_items[$1.to_i] }
|
|
77
|
+
end
|
|
78
|
+
stat = File.stat(src)
|
|
79
|
+
created = stat.ctime
|
|
80
|
+
modified = stat.mtime
|
|
81
|
+
|
|
82
|
+
$stdout << template.result(binding)
|