act_as_menu 1.0.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/lib/act_as_menu.rb +87 -0
- metadata +46 -0
data/lib/act_as_menu.rb
ADDED
@@ -0,0 +1,87 @@
|
|
1
|
+
# -*- encoding : utf-8 -*-
|
2
|
+
require "rails/generators"
|
3
|
+
require "rails/generators/migration"
|
4
|
+
|
5
|
+
#继承rails的generator,为menu定义自己的genertor
|
6
|
+
class CreateMenuAll < Rails::Generators::Base
|
7
|
+
include Rails::Generators::Migration
|
8
|
+
def self.source_root
|
9
|
+
@source_root ||= File.join(File.dirname(__FILE__),"templates")
|
10
|
+
end
|
11
|
+
|
12
|
+
def self.next_migration_number(path)
|
13
|
+
unless ActiveRecord::Base.timestamped_migrations
|
14
|
+
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
15
|
+
else
|
16
|
+
"%.3d" % (current_migration_number(dirname) + 1)
|
17
|
+
end
|
18
|
+
end
|
19
|
+
|
20
|
+
def create_menu_model_file
|
21
|
+
template "act_as_menu_models/config_menu.rb","app/models/config_menu.rb"
|
22
|
+
template "act_as_menu_models/first_menu.rb","app/models/first_menu.rb"
|
23
|
+
template "act_as_menu_models/second_menu.rb","app/models/second_menu.rb"
|
24
|
+
template "act_as_menu_models/third_menu.rb","app/models/third_menu.rb"
|
25
|
+
end
|
26
|
+
|
27
|
+
def create_menu_migration_file
|
28
|
+
migration_template "act_as_menu_migrations/create_config_menus.rb","db/migrate/create_config_menus.rb"
|
29
|
+
migration_template "act_as_menu_migrations/create_first_menus.rb","db/migrate/create_first_menus.rb"
|
30
|
+
migration_template "act_as_menu_migrations/create_second_menus.rb","db/migrate/create_second_menus.rb"
|
31
|
+
migration_template "act_as_menu_migrations/create_third_menus.rb","db/migrate/create_third_menus.rb"
|
32
|
+
end
|
33
|
+
|
34
|
+
def create_widget_file
|
35
|
+
directory "act_as_menu_css","vendor/assets/stylesheets/act_as_menu_css"
|
36
|
+
directory "act_as_menu_images","vendor/assets/images/act_as_menu_images"
|
37
|
+
directory "act_as_menu_js","vendor/assets/javascripts/act_as_menu_js"
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
class CreateMenuModel < Rails::Generators::Base
|
42
|
+
def self.source_root
|
43
|
+
@source_root ||= File.join(File.dirname(__FILE__),"templates")
|
44
|
+
end
|
45
|
+
|
46
|
+
def create_menu_model_file
|
47
|
+
template "act_as_menu_models/config_menu.rb","app/models/config_menu.rb"
|
48
|
+
template "act_as_menu_models/first_menu.rb","app/models/first_menu.rb"
|
49
|
+
template "act_as_menu_models/second_menu.rb","app/models/second_menu.rb"
|
50
|
+
template "act_as_menu_models/third_menu.rb","app/models/third_menu.rb"
|
51
|
+
end
|
52
|
+
end
|
53
|
+
|
54
|
+
class CreateMenuMigrate < Rails::Generators::Base
|
55
|
+
include Rails::Generators::Migration
|
56
|
+
def self.source_root
|
57
|
+
@source_root ||= File.join(File.dirname(__FILE__),"templates")
|
58
|
+
end
|
59
|
+
|
60
|
+
def self.next_migration_number(path)
|
61
|
+
unless ActiveRecord::Base.timestamped_migrations
|
62
|
+
Time.now.utc.strftime("%Y%m%d%H%M%S")
|
63
|
+
else
|
64
|
+
"%.3d" % (current_migration_number(path) + 1)
|
65
|
+
end
|
66
|
+
end
|
67
|
+
|
68
|
+
def create_menu_migration_file
|
69
|
+
migration_template "act_as_menu_migrations/create_config_menus.rb","db/migrate/create_config_menus.rb"
|
70
|
+
migration_template "act_as_menu_migrations/create_first_menus.rb","db/migrate/create_first_menus.rb"
|
71
|
+
migration_template "act_as_menu_migrations/create_second_menus.rb","db/migrate/create_second_menus.rb"
|
72
|
+
migration_template "act_as_menu_migrations/create_third_menus.rb","db/migrate/create_third_menus.rb"
|
73
|
+
end
|
74
|
+
end
|
75
|
+
|
76
|
+
class CreateWidget < Rails::Generators::Base
|
77
|
+
def self.source_root
|
78
|
+
@source_root ||= File.join(File.dirname(__FILE__),"templates")
|
79
|
+
end
|
80
|
+
|
81
|
+
def create_widget_file
|
82
|
+
directory "act_as_menu_css","vendor/assets/stylesheets/act_as_menu_css"
|
83
|
+
directory "act_as_menu_images","vendor/assets/images/act_as_menu_images"
|
84
|
+
directory "act_as_menu_js","vendor/assets/javascripts/act_as_menu_js"
|
85
|
+
end
|
86
|
+
end
|
87
|
+
|
metadata
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: act_as_menu
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
prerelease:
|
6
|
+
platform: ruby
|
7
|
+
authors:
|
8
|
+
- Aaron
|
9
|
+
autorequire:
|
10
|
+
bindir: bin
|
11
|
+
cert_chain: []
|
12
|
+
date: 2013-10-31 00:00:00.000000000 Z
|
13
|
+
dependencies: []
|
14
|
+
description:
|
15
|
+
email:
|
16
|
+
executables: []
|
17
|
+
extensions: []
|
18
|
+
extra_rdoc_files: []
|
19
|
+
files:
|
20
|
+
- lib/act_as_menu.rb
|
21
|
+
homepage:
|
22
|
+
licenses: []
|
23
|
+
post_install_message:
|
24
|
+
rdoc_options: []
|
25
|
+
require_paths:
|
26
|
+
- lib
|
27
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
28
|
+
none: false
|
29
|
+
requirements:
|
30
|
+
- - ! '>='
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: '0'
|
33
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
34
|
+
none: false
|
35
|
+
requirements:
|
36
|
+
- - ! '>='
|
37
|
+
- !ruby/object:Gem::Version
|
38
|
+
version: '0'
|
39
|
+
requirements: []
|
40
|
+
rubyforge_project:
|
41
|
+
rubygems_version: 1.8.25
|
42
|
+
signing_key:
|
43
|
+
specification_version: 3
|
44
|
+
summary: act_as_menu is ths first version
|
45
|
+
test_files: []
|
46
|
+
has_rdoc:
|