semantic-administrate 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +7 -0
  2. data/Rakefile +32 -0
  3. data/app/assets/fonts/administrate/semantic-ui/icons.eot +0 -0
  4. data/app/assets/fonts/administrate/semantic-ui/icons.otf +0 -0
  5. data/app/assets/fonts/administrate/semantic-ui/icons.svg +2671 -0
  6. data/app/assets/fonts/administrate/semantic-ui/icons.ttf +0 -0
  7. data/app/assets/fonts/administrate/semantic-ui/icons.woff +0 -0
  8. data/app/assets/fonts/administrate/semantic-ui/icons.woff2 +0 -0
  9. data/app/assets/images/administrate/semantic-ui/flags.png +0 -0
  10. data/app/assets/javascripts/administrate/application.js +7 -0
  11. data/app/assets/javascripts/administrate/components/date_time_picker.js +6 -0
  12. data/app/assets/javascripts/administrate/components/has_many_form.js +3 -0
  13. data/app/assets/javascripts/administrate/components/table.js +23 -0
  14. data/app/assets/javascripts/administrate/vendor/semantic-ui.js +22943 -0
  15. data/app/assets/stylesheets/administrate/application.scss +27 -0
  16. data/app/assets/stylesheets/administrate/base/_forms.scss +106 -0
  17. data/app/assets/stylesheets/administrate/base/_layout.scss +10 -0
  18. data/app/assets/stylesheets/administrate/base/_lists.scss +19 -0
  19. data/app/assets/stylesheets/administrate/base/_typography.scss +48 -0
  20. data/app/assets/stylesheets/administrate/components/_app-container.scss +27 -0
  21. data/app/assets/stylesheets/administrate/components/_attributes.scss +34 -0
  22. data/app/assets/stylesheets/administrate/components/_buttons.scss +43 -0
  23. data/app/assets/stylesheets/administrate/components/_cells.scss +59 -0
  24. data/app/assets/stylesheets/administrate/components/_field-unit.scss +36 -0
  25. data/app/assets/stylesheets/administrate/components/_flashes.scss +28 -0
  26. data/app/assets/stylesheets/administrate/components/_form-actions.scss +3 -0
  27. data/app/assets/stylesheets/administrate/components/_main-content.scss +42 -0
  28. data/app/assets/stylesheets/administrate/components/_pagination.scss +18 -0
  29. data/app/assets/stylesheets/administrate/components/_search.scss +45 -0
  30. data/app/assets/stylesheets/administrate/components/nav-drawer.scss +156 -0
  31. data/app/assets/stylesheets/administrate/library/_clearfix.scss +7 -0
  32. data/app/assets/stylesheets/administrate/library/_data-label.scss +8 -0
  33. data/app/assets/stylesheets/administrate/library/_variables.scss +65 -0
  34. data/app/assets/stylesheets/administrate/vendor/semantic-ui.scss +37123 -0
  35. data/app/assets/stylesheets/docs.scss +93 -0
  36. data/app/controllers/administrate/application_controller.rb +162 -0
  37. data/app/helpers/administrate/application_helper.rb +51 -0
  38. data/app/views/administrate/application/_collection.html.erb +92 -0
  39. data/app/views/administrate/application/_flashes.html.erb +20 -0
  40. data/app/views/administrate/application/_form.html.erb +42 -0
  41. data/app/views/administrate/application/_icons.erb +13 -0
  42. data/app/views/administrate/application/_javascript.html.erb +21 -0
  43. data/app/views/administrate/application/_navigation.html.erb +19 -0
  44. data/app/views/administrate/application/_navigation_extra_links.html.erb +13 -0
  45. data/app/views/administrate/application/_navigation_footer.html.erb +44 -0
  46. data/app/views/administrate/application/_navigation_links.html.erb +16 -0
  47. data/app/views/administrate/application/_search.html.erb +25 -0
  48. data/app/views/administrate/application/_stylesheet.html.erb +14 -0
  49. data/app/views/administrate/application/edit.html.erb +36 -0
  50. data/app/views/administrate/application/index.html.erb +63 -0
  51. data/app/views/administrate/application/new.html.erb +32 -0
  52. data/app/views/administrate/application/show.html.erb +49 -0
  53. data/app/views/fields/belongs_to/_form.html.erb +26 -0
  54. data/app/views/fields/belongs_to/_index.html.erb +27 -0
  55. data/app/views/fields/belongs_to/_show.html.erb +27 -0
  56. data/app/views/fields/boolean/_form.html.erb +23 -0
  57. data/app/views/fields/boolean/_index.html.erb +19 -0
  58. data/app/views/fields/boolean/_show.html.erb +19 -0
  59. data/app/views/fields/date_time/_form.html.erb +24 -0
  60. data/app/views/fields/date_time/_index.html.erb +21 -0
  61. data/app/views/fields/date_time/_show.html.erb +21 -0
  62. data/app/views/fields/email/_form.html.erb +23 -0
  63. data/app/views/fields/email/_index.html.erb +18 -0
  64. data/app/views/fields/email/_show.html.erb +18 -0
  65. data/app/views/fields/has_many/_form.html.erb +29 -0
  66. data/app/views/fields/has_many/_index.html.erb +19 -0
  67. data/app/views/fields/has_many/_show.html.erb +35 -0
  68. data/app/views/fields/has_one/_form.html.erb +28 -0
  69. data/app/views/fields/has_one/_index.html.erb +23 -0
  70. data/app/views/fields/has_one/_show.html.erb +40 -0
  71. data/app/views/fields/number/_form.html.erb +23 -0
  72. data/app/views/fields/number/_index.html.erb +19 -0
  73. data/app/views/fields/number/_show.html.erb +19 -0
  74. data/app/views/fields/polymorphic/_form.html.erb +32 -0
  75. data/app/views/fields/polymorphic/_index.html.erb +24 -0
  76. data/app/views/fields/polymorphic/_show.html.erb +28 -0
  77. data/app/views/fields/select/_form.html.erb +31 -0
  78. data/app/views/fields/select/_index.html.erb +16 -0
  79. data/app/views/fields/select/_show.html.erb +16 -0
  80. data/app/views/fields/string/_form.html.erb +23 -0
  81. data/app/views/fields/string/_index.html.erb +18 -0
  82. data/app/views/fields/string/_show.html.erb +18 -0
  83. data/app/views/fields/text/_form.html.erb +22 -0
  84. data/app/views/fields/text/_index.html.erb +18 -0
  85. data/app/views/fields/text/_show.html.erb +19 -0
  86. data/app/views/layouts/administrate/application.html.erb +43 -0
  87. data/config/i18n-tasks.yml +18 -0
  88. data/config/locales/administrate.ar.yml +26 -0
  89. data/config/locales/administrate.bs.yml +25 -0
  90. data/config/locales/administrate.ca.yml +26 -0
  91. data/config/locales/administrate.da.yml +26 -0
  92. data/config/locales/administrate.de.yml +26 -0
  93. data/config/locales/administrate.en.yml +26 -0
  94. data/config/locales/administrate.es.yml +26 -0
  95. data/config/locales/administrate.fr.yml +26 -0
  96. data/config/locales/administrate.it.yml +26 -0
  97. data/config/locales/administrate.ja.yml +26 -0
  98. data/config/locales/administrate.ko.yml +26 -0
  99. data/config/locales/administrate.nl.yml +26 -0
  100. data/config/locales/administrate.pl.yml +26 -0
  101. data/config/locales/administrate.pt-BR.yml +27 -0
  102. data/config/locales/administrate.pt.yml +27 -0
  103. data/config/locales/administrate.ru.yml +26 -0
  104. data/config/locales/administrate.sv.yml +26 -0
  105. data/config/locales/administrate.uk.yml +26 -0
  106. data/config/locales/administrate.vi.yml +26 -0
  107. data/config/locales/administrate.zh-CN.yml +26 -0
  108. data/config/locales/administrate.zh-TW.yml +26 -0
  109. data/config/routes.rb +2 -0
  110. data/config/unicorn.rb +30 -0
  111. data/docs/adding_custom_field_types.md +79 -0
  112. data/docs/authentication.md +61 -0
  113. data/docs/customizing_attribute_partials.md +53 -0
  114. data/docs/customizing_controller_actions.md +42 -0
  115. data/docs/customizing_dashboards.md +202 -0
  116. data/docs/customizing_page_views.md +78 -0
  117. data/docs/getting_started.md +115 -0
  118. data/lib/administrate.rb +4 -0
  119. data/lib/administrate/base_dashboard.rb +72 -0
  120. data/lib/administrate/engine.rb +44 -0
  121. data/lib/administrate/field/associative.rb +33 -0
  122. data/lib/administrate/field/base.rb +54 -0
  123. data/lib/administrate/field/belongs_to.rb +36 -0
  124. data/lib/administrate/field/boolean.rb +15 -0
  125. data/lib/administrate/field/date_time.rb +21 -0
  126. data/lib/administrate/field/deferred.rb +35 -0
  127. data/lib/administrate/field/email.rb +11 -0
  128. data/lib/administrate/field/has_many.rb +87 -0
  129. data/lib/administrate/field/has_one.rb +27 -0
  130. data/lib/administrate/field/number.rb +35 -0
  131. data/lib/administrate/field/polymorphic.rb +51 -0
  132. data/lib/administrate/field/select.rb +21 -0
  133. data/lib/administrate/field/string.rb +21 -0
  134. data/lib/administrate/field/text.rb +21 -0
  135. data/lib/administrate/generator_helpers.rb +13 -0
  136. data/lib/administrate/namespace.rb +31 -0
  137. data/lib/administrate/namespace/resource.rb +28 -0
  138. data/lib/administrate/order.rb +45 -0
  139. data/lib/administrate/page.rb +4 -0
  140. data/lib/administrate/page/base.rb +35 -0
  141. data/lib/administrate/page/collection.rb +33 -0
  142. data/lib/administrate/page/form.rb +28 -0
  143. data/lib/administrate/page/show.rb +24 -0
  144. data/lib/administrate/resource_resolver.rb +43 -0
  145. data/lib/administrate/search.rb +47 -0
  146. data/lib/administrate/version.rb +3 -0
  147. data/lib/administrate/view_generator.rb +36 -0
  148. data/lib/generators/administrate/assets/assets_generator.rb +12 -0
  149. data/lib/generators/administrate/assets/javascripts_generator.rb +17 -0
  150. data/lib/generators/administrate/assets/stylesheets_generator.rb +17 -0
  151. data/lib/generators/administrate/dashboard/USAGE +9 -0
  152. data/lib/generators/administrate/dashboard/dashboard_generator.rb +141 -0
  153. data/lib/generators/administrate/dashboard/templates/controller.rb.erb +21 -0
  154. data/lib/generators/administrate/dashboard/templates/dashboard.rb.erb +56 -0
  155. data/lib/generators/administrate/field/field_generator.rb +31 -0
  156. data/lib/generators/administrate/field/templates/_form.html.erb +6 -0
  157. data/lib/generators/administrate/field/templates/_index.html.erb +1 -0
  158. data/lib/generators/administrate/field/templates/_show.html.erb +1 -0
  159. data/lib/generators/administrate/field/templates/field_object.rb.erb +7 -0
  160. data/lib/generators/administrate/install/install_generator.rb +49 -0
  161. data/lib/generators/administrate/install/templates/application_controller.rb.erb +21 -0
  162. data/lib/generators/administrate/routes/routes_generator.rb +91 -0
  163. data/lib/generators/administrate/routes/templates/routes.rb.erb +5 -0
  164. data/lib/generators/administrate/views/edit_generator.rb +16 -0
  165. data/lib/generators/administrate/views/field_generator.rb +50 -0
  166. data/lib/generators/administrate/views/form_generator.rb +15 -0
  167. data/lib/generators/administrate/views/index_generator.rb +16 -0
  168. data/lib/generators/administrate/views/layout_generator.rb +23 -0
  169. data/lib/generators/administrate/views/navigation_generator.rb +15 -0
  170. data/lib/generators/administrate/views/new_generator.rb +16 -0
  171. data/lib/generators/administrate/views/show_generator.rb +15 -0
  172. data/lib/generators/administrate/views/views_generator.rb +14 -0
  173. data/lib/tasks/administrate_tasks.rake +4 -0
  174. metadata +388 -0
@@ -0,0 +1,21 @@
1
+ module <%= namespace.classify %>
2
+ class <%= class_name.pluralize %>Controller < <%= namespace.classify %>::ApplicationController
3
+ # To customize the behavior of this controller,
4
+ # you can overwrite any of the RESTful actions. For example:
5
+ #
6
+ # def index
7
+ # super
8
+ # @resources = <%= class_name %>.
9
+ # page(params[:page]).
10
+ # per(10)
11
+ # end
12
+
13
+ # Define a custom finder by overriding the `find_resource` method:
14
+ # def find_resource(param)
15
+ # <%= class_name %>.find_by!(slug: param)
16
+ # end
17
+
18
+ # See https://administrate-prototype.herokuapp.com/customizing_controller_actions
19
+ # for more information
20
+ end
21
+ end
@@ -0,0 +1,56 @@
1
+ require "administrate/base_dashboard"
2
+
3
+ class <%= class_name %>Dashboard < Administrate::BaseDashboard
4
+ # ATTRIBUTE_TYPES
5
+ # a hash that describes the type of each of the model's fields.
6
+ #
7
+ # Each different type represents an Administrate::Field object,
8
+ # which determines how the attribute is displayed
9
+ # on pages throughout the dashboard.
10
+ ATTRIBUTE_TYPES = {
11
+ <% attributes.each do |attr| -%>
12
+ <%= attr %>: <%= field_type(attr) %>,
13
+ <% end -%>
14
+ }.freeze
15
+
16
+ # COLLECTION_ATTRIBUTES
17
+ # an array of attributes that will be displayed on the model's index page.
18
+ #
19
+ # By default, it's limited to four items to reduce clutter on index pages.
20
+ # Feel free to add, remove, or rearrange items.
21
+ COLLECTION_ATTRIBUTES = [
22
+ <%=
23
+ attributes.first(COLLECTION_ATTRIBUTE_LIMIT).map do |attr|
24
+ " :#{attr},"
25
+ end.join("\n")
26
+ %>
27
+ ].freeze
28
+
29
+ # SHOW_PAGE_ATTRIBUTES
30
+ # an array of attributes that will be displayed on the model's show page.
31
+ SHOW_PAGE_ATTRIBUTES = [
32
+ <%=
33
+ attributes.map do |attr|
34
+ " :#{attr},"
35
+ end.join("\n")
36
+ %>
37
+ ].freeze
38
+
39
+ # FORM_ATTRIBUTES
40
+ # an array of attributes that will be displayed
41
+ # on the model's form (`new` and `edit`) pages.
42
+ FORM_ATTRIBUTES = [
43
+ <%=
44
+ form_attributes.map do |attr|
45
+ " :#{attr},"
46
+ end.join("\n")
47
+ %>
48
+ ].freeze
49
+
50
+ # Overwrite this method to customize how <%= file_name.pluralize.humanize.downcase %> are displayed
51
+ # across all pages of the admin dashboard.
52
+ #
53
+ # def display_resource(<%= file_name %>)
54
+ # "<%= class_name %> ##{<%= file_name %>.id}"
55
+ # end
56
+ end
@@ -0,0 +1,31 @@
1
+ module Administrate
2
+ module Generators
3
+ class FieldGenerator < Rails::Generators::NamedBase
4
+ source_root File.expand_path("../templates", __FILE__)
5
+
6
+ def template_field_object
7
+ template(
8
+ "field_object.rb.erb",
9
+ "app/fields/#{file_name}_field.rb",
10
+ )
11
+ end
12
+
13
+ def copy_partials
14
+ copy_partial(:show)
15
+ copy_partial(:index)
16
+ copy_partial(:form)
17
+ end
18
+
19
+ private
20
+
21
+ def copy_partial(partial_name)
22
+ partial = "_#{partial_name}.html.erb"
23
+
24
+ copy_file(
25
+ partial,
26
+ "app/views/fields/#{file_name}_field/#{partial}",
27
+ )
28
+ end
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,6 @@
1
+ <div class="field-unit__label">
2
+ <%= f.label field.attribute %>
3
+ </div>
4
+ <div class="field-unit__field">
5
+ <%= f.text_field field.attribute %>
6
+ </div>
@@ -0,0 +1 @@
1
+ <%= field.to_s %>
@@ -0,0 +1 @@
1
+ <%= field.to_s %>
@@ -0,0 +1,7 @@
1
+ require "administrate/field/base"
2
+
3
+ class <%= class_name %>Field < Administrate::Field::Base
4
+ def to_s
5
+ data
6
+ end
7
+ end
@@ -0,0 +1,49 @@
1
+ require "rails/generators/base"
2
+ require "administrate/generator_helpers"
3
+ require "administrate/namespace"
4
+
5
+ module Administrate
6
+ module Generators
7
+ class InstallGenerator < Rails::Generators::Base
8
+ include Administrate::GeneratorHelpers
9
+ source_root File.expand_path("../templates", __FILE__)
10
+
11
+ class_option :namespace, type: :string, default: "admin"
12
+
13
+ def run_routes_generator
14
+ if dashboard_resources.none?
15
+ call_generator("administrate:routes", "--namespace", namespace)
16
+ load Rails.root.join("config/routes.rb")
17
+ end
18
+ end
19
+
20
+ def create_dashboard_controller
21
+ template(
22
+ "application_controller.rb.erb",
23
+ "app/controllers/#{namespace}/application_controller.rb",
24
+ )
25
+ end
26
+
27
+ def run_dashboard_generators
28
+ singular_dashboard_resources.each do |resource|
29
+ call_generator "administrate:dashboard", resource,
30
+ "--namespace", namespace
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def namespace
37
+ options[:namespace]
38
+ end
39
+
40
+ def singular_dashboard_resources
41
+ dashboard_resources.map(&:to_s).map(&:singularize)
42
+ end
43
+
44
+ def dashboard_resources
45
+ Administrate::Namespace.new(namespace).resources
46
+ end
47
+ end
48
+ end
49
+ end
@@ -0,0 +1,21 @@
1
+ # All Administrate controllers inherit from this `Admin::ApplicationController`,
2
+ # making it the ideal place to put authentication logic or other
3
+ # before_actions.
4
+ #
5
+ # If you want to add pagination or other controller-level concerns,
6
+ # you're free to overwrite the RESTful controller actions.
7
+ module <%= namespace.classify %>
8
+ class ApplicationController < Administrate::ApplicationController
9
+ before_action :authenticate_admin
10
+
11
+ def authenticate_admin
12
+ # TODO Add authentication logic here.
13
+ end
14
+
15
+ # Override this value to specify the number of elements to display at a time
16
+ # on index pages. Defaults to 20.
17
+ # def records_per_page
18
+ # params[:per_page] || 20
19
+ # end
20
+ end
21
+ end
@@ -0,0 +1,91 @@
1
+ Rails.application.eager_load!
2
+ require "rails/generators/base"
3
+ require "administrate/namespace"
4
+
5
+ module Administrate
6
+ module Generators
7
+ class RoutesGenerator < Rails::Generators::Base
8
+ source_root File.expand_path("../templates", __FILE__)
9
+ class_option :namespace, type: :string, default: "admin"
10
+
11
+ def insert_dashboard_routes
12
+ if should_route_dashboard?
13
+ route(dashboard_routes)
14
+ end
15
+ end
16
+
17
+ def warn_about_invalid_models
18
+ namespaced_models.each do |invalid_model|
19
+ puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
20
+ puts " Administrate does not yet support namespaced models."
21
+ end
22
+
23
+ models_without_tables.each do |invalid_model|
24
+ puts "WARNING: Unable to generate a dashboard for #{invalid_model}."
25
+ puts " It is not connected to a database table."
26
+ puts " Make sure your database migrations are up to date."
27
+ end
28
+
29
+ unnamed_constants.each do |invalid_model|
30
+ puts "NOTICE: Skipping dynamically generated model #{invalid_model}."
31
+ end
32
+ end
33
+
34
+ private
35
+
36
+ def namespace
37
+ options[:namespace]
38
+ end
39
+
40
+ def dashboard_resources
41
+ valid_dashboard_models.map do |model|
42
+ model.to_s.pluralize.underscore
43
+ end
44
+ end
45
+
46
+ def valid_dashboard_models
47
+ database_models - invalid_database_models
48
+ end
49
+
50
+ def database_models
51
+ ActiveRecord::Base.descendants.reject(&:abstract_class?)
52
+ end
53
+
54
+ def invalid_database_models
55
+ models_without_tables + namespaced_models + unnamed_constants
56
+ end
57
+
58
+ def models_without_tables
59
+ database_models.reject(&:table_exists?)
60
+ end
61
+
62
+ def namespaced_models
63
+ database_models.select { |model| model.to_s.include?("::") }
64
+ end
65
+
66
+ def unnamed_constants
67
+ ActiveRecord::Base.descendants.reject { |d| d.name == d.to_s }
68
+ end
69
+
70
+ def dashboard_routes
71
+ ERB.new(File.read(routes_file_path)).result(binding)
72
+ end
73
+
74
+ def routes_includes_resources?
75
+ File.read(rails_routes_file_path).include?(dashboard_routes)
76
+ end
77
+
78
+ def rails_routes_file_path
79
+ Rails.root.join("config/routes.rb")
80
+ end
81
+
82
+ def routes_file_path
83
+ File.expand_path(find_in_source_paths("routes.rb.erb"))
84
+ end
85
+
86
+ def should_route_dashboard?
87
+ routes_includes_resources? || valid_dashboard_models.any?
88
+ end
89
+ end
90
+ end
91
+ end
@@ -0,0 +1,5 @@
1
+ namespace :<%= namespace %> do
2
+ <% dashboard_resources.each do |resource| %> resources :<%= resource %>
3
+ <%end%>
4
+ root to: "<%= dashboard_resources.first %>#index"
5
+ end
@@ -0,0 +1,16 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class EditGenerator < Administrate::ViewGenerator
7
+ source_root template_source_path
8
+
9
+ def copy_edit
10
+ copy_resource_template("edit")
11
+ copy_resource_template("_form")
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,50 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class FieldGenerator < Administrate::ViewGenerator
7
+ def self.template_source_path
8
+ File.expand_path(
9
+ "../../../../../app/views/fields/",
10
+ __FILE__,
11
+ )
12
+ end
13
+
14
+ source_root template_source_path
15
+
16
+ def copy_partials
17
+ resource_path = args.first.try(:underscore)
18
+
19
+ if resource_path == "all"
20
+ entries = Dir.entries(self.class.template_source_path)
21
+ field_types = entries.reject { |name| name[0] == "." }
22
+
23
+ field_types.each do |field_type|
24
+ copy_field_partials(field_type)
25
+ end
26
+ else
27
+ copy_field_partials(resource_path)
28
+ end
29
+ end
30
+
31
+ private
32
+
33
+ def copy_field_partials(resource_path)
34
+ copy_field_partial(resource_path, :index)
35
+ copy_field_partial(resource_path, :show)
36
+ copy_field_partial(resource_path, :form)
37
+ end
38
+
39
+ def copy_field_partial(resource_path, partial_name)
40
+ template_file = "#{resource_path}/_#{partial_name}.html.erb"
41
+
42
+ copy_file(
43
+ template_file,
44
+ "app/views/fields/#{template_file}",
45
+ )
46
+ end
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,15 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class FormGenerator < Administrate::ViewGenerator
7
+ source_root template_source_path
8
+
9
+ def copy_form
10
+ copy_resource_template("_form")
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,16 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class IndexGenerator < Administrate::ViewGenerator
7
+ source_root template_source_path
8
+
9
+ def copy_template
10
+ copy_resource_template("index")
11
+ copy_resource_template("_collection")
12
+ end
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,23 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class LayoutGenerator < Administrate::ViewGenerator
7
+ source_root template_source_path
8
+
9
+ def copy_template
10
+ copy_file(
11
+ "../../layouts/administrate/application.html.erb",
12
+ "app/views/layouts/admin/application.html.erb",
13
+ )
14
+
15
+ call_generator("administrate:views:navigation")
16
+ copy_resource_template("_stylesheet")
17
+ copy_resource_template("_javascript")
18
+ copy_resource_template("_flashes")
19
+ end
20
+ end
21
+ end
22
+ end
23
+ end
@@ -0,0 +1,15 @@
1
+ require "administrate/view_generator"
2
+
3
+ module Administrate
4
+ module Generators
5
+ module Views
6
+ class NavigationGenerator < Administrate::ViewGenerator
7
+ source_root template_source_path
8
+
9
+ def copy_navigation
10
+ copy_resource_template("_navigation")
11
+ end
12
+ end
13
+ end
14
+ end
15
+ end