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.
Files changed (2) hide show
  1. data/lib/act_as_menu.rb +87 -0
  2. metadata +46 -0
@@ -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: