typus 0.9.32 → 0.9.33

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/VERSION CHANGED
@@ -1 +1 @@
1
- 0.9.32
1
+ 0.9.33
@@ -6,6 +6,6 @@
6
6
 
7
7
  <!-- Content -->
8
8
 
9
- <h2>Resource#index</h2>
9
+ <h2><%= params[:controller].split('/').last.titleize.capitalize %></h2>
10
10
 
11
- <p>Find me in app/views/<%= params[:controller] %>/index.html.erb</p>
11
+ <p>Find me in app/views/<%= params[:controller] %>/index.html.erb</p>
@@ -1,5 +1,6 @@
1
1
  require 'test_helper'
2
2
 
3
+ # ControllerTest generated by Typus, use it to test the extended admin functionality.
3
4
  class Admin::<%= model.pluralize %>ControllerTest < ActionController::TestCase
4
5
 
5
6
  # Replace this with your real tests.
@@ -1,3 +1,5 @@
1
+ require 'ftools'
2
+
1
3
  class TypusGenerator < Rails::Generator::Base
2
4
 
3
5
  def manifest
@@ -10,14 +12,14 @@ class TypusGenerator < Rails::Generator::Base
10
12
  # To create <tt>application.yml</tt> and <tt>application_roles.yml</tt>
11
13
  # detect available AR models on the application.
12
14
  models = Dir['app/models/*.rb'].collect { |x| File.basename(x).sub(/\.rb$/,'').camelize }
13
- ar_models = []
15
+ @ar_models = []
14
16
 
15
17
  models.each do |model|
16
18
  begin
17
19
  klass = model.constantize
18
20
  active_record_model = klass.superclass.equal?(ActiveRecord::Base) && !klass.abstract_class?
19
21
  active_record_model_with_sti = klass.superclass.superclass.equal?(ActiveRecord::Base)
20
- ar_models << klass if active_record_model || active_record_model_with_sti
22
+ @ar_models << klass if active_record_model || active_record_model_with_sti
21
23
  rescue Exception => error
22
24
  puts "=> [typus] #{error.message} on '#{model.class.name}'."
23
25
  exit
@@ -30,7 +32,7 @@ class TypusGenerator < Rails::Generator::Base
30
32
 
31
33
  configuration = { :base => '', :roles => '' }
32
34
 
33
- ar_models.sort{ |x,y| x.class_name <=> y.class_name }.each do |model|
35
+ @ar_models.sort{ |x,y| x.class_name <=> y.class_name }.each do |model|
34
36
 
35
37
  # Detect all relationships except polymorphic belongs_to using reflection.
36
38
  relationships = [ :belongs_to, :has_and_belongs_to_many, :has_many, :has_one ].map do |relationship|
@@ -118,6 +120,42 @@ class TypusGenerator < Rails::Generator::Base
118
120
  m.file file, file
119
121
  end
120
122
 
123
+ %w( app/views/admin app/controllers/admin test/functional/admin ).each do |folder|
124
+ FileUtils.mkdir_p(folder) unless File.directory?(folder)
125
+ end
126
+
127
+ ##
128
+ # Generate:
129
+ # `app/controllers/admin/#{resource}_controller.rb`
130
+ # `test/functional/admin/#{resource}_controller_test.rb`
131
+ #
132
+ Typus.models.each do |model|
133
+
134
+ m.template "auto/resources_controller.rb.erb",
135
+ "app/controllers/admin/#{model.tableize}_controller.rb",
136
+ :assigns => { :model => model }
137
+
138
+ m.template "auto/resource_controller_test.rb.erb",
139
+ "test/functional/admin/#{model.tableize}_controller_test.rb",
140
+ :assigns => { :model => model }
141
+
142
+ end
143
+
144
+ ##
145
+ # Generate controllers for tableless models.
146
+ #
147
+ Typus.resources.each do |resource|
148
+
149
+ m.template "auto/resource_controller.rb.erb",
150
+ "app/controllers/admin/#{resource.underscore}_controller.rb",
151
+ :assigns => { :resource => resource }
152
+
153
+ views_folder = "app/views/admin/#{resource.underscore}"
154
+ FileUtils.mkdir_p(views_folder) unless File.directory?(views_folder)
155
+ m.file "auto/index.html.erb", "#{views_folder}/index.html.erb"
156
+
157
+ end
158
+
121
159
  # Migration file
122
160
 
123
161
  m.migration_template 'db/create_typus_users.rb', 'db/migrate',
@@ -70,11 +70,6 @@ module Typus
70
70
 
71
71
  def boot!
72
72
 
73
- commands = [ 'script/generate',
74
- 'script/destroy' ]
75
-
76
- return if commands.include?($0)
77
-
78
73
  if testing?
79
74
  Typus::Configuration.options[:config_folder] = 'vendor/plugins/typus/test/config/working'
80
75
  end
@@ -110,11 +105,6 @@ module Typus
110
105
  require 'vendor/paginator'
111
106
  require 'vendor/rss_parser'
112
107
 
113
- commands = [ '/usr/local/bin/thin',
114
- 'script/server' ]
115
-
116
- generator if commands.include?($0)
117
-
118
108
  end
119
109
 
120
110
  end
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{typus}
8
- s.version = "0.9.32"
8
+ s.version = "0.9.33"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = ["Francesc Esplugas"]
@@ -64,6 +64,10 @@ Gem::Specification.new do |s|
64
64
  "config/locales/pt-BR.yml",
65
65
  "config/locales/ru.yml",
66
66
  "config/routes.rb",
67
+ "generators/typus/templates/auto/index.html.erb",
68
+ "generators/typus/templates/auto/resource_controller.rb.erb",
69
+ "generators/typus/templates/auto/resource_controller_test.rb.erb",
70
+ "generators/typus/templates/auto/resources_controller.rb.erb",
67
71
  "generators/typus/templates/config/initializers/typus.rb",
68
72
  "generators/typus/templates/config/typus/README",
69
73
  "generators/typus/templates/config/typus/application.yml",
@@ -106,7 +110,6 @@ Gem::Specification.new do |s|
106
110
  "lib/typus/extensions/routes.rb",
107
111
  "lib/typus/extensions/routes_hack.rb",
108
112
  "lib/typus/format.rb",
109
- "lib/typus/generator.rb",
110
113
  "lib/typus/hash.rb",
111
114
  "lib/typus/object.rb",
112
115
  "lib/typus/preferences.rb",
@@ -114,10 +117,6 @@ Gem::Specification.new do |s|
114
117
  "lib/typus/quick_edit.rb",
115
118
  "lib/typus/reloader.rb",
116
119
  "lib/typus/string.rb",
117
- "lib/typus/templates/index.html.erb",
118
- "lib/typus/templates/resource_controller.rb.erb",
119
- "lib/typus/templates/resource_controller_test.rb.erb",
120
- "lib/typus/templates/resources_controller.rb.erb",
121
120
  "lib/typus/user.rb",
122
121
  "lib/vendor/active_record.rb",
123
122
  "lib/vendor/paginator.rb",
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: typus
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.9.32
4
+ version: 0.9.33
5
5
  platform: ruby
6
6
  authors:
7
7
  - Francesc Esplugas
@@ -70,6 +70,10 @@ files:
70
70
  - config/locales/pt-BR.yml
71
71
  - config/locales/ru.yml
72
72
  - config/routes.rb
73
+ - generators/typus/templates/auto/index.html.erb
74
+ - generators/typus/templates/auto/resource_controller.rb.erb
75
+ - generators/typus/templates/auto/resource_controller_test.rb.erb
76
+ - generators/typus/templates/auto/resources_controller.rb.erb
73
77
  - generators/typus/templates/config/initializers/typus.rb
74
78
  - generators/typus/templates/config/typus/README
75
79
  - generators/typus/templates/config/typus/application.yml
@@ -112,7 +116,6 @@ files:
112
116
  - lib/typus/extensions/routes.rb
113
117
  - lib/typus/extensions/routes_hack.rb
114
118
  - lib/typus/format.rb
115
- - lib/typus/generator.rb
116
119
  - lib/typus/hash.rb
117
120
  - lib/typus/object.rb
118
121
  - lib/typus/preferences.rb
@@ -120,10 +123,6 @@ files:
120
123
  - lib/typus/quick_edit.rb
121
124
  - lib/typus/reloader.rb
122
125
  - lib/typus/string.rb
123
- - lib/typus/templates/index.html.erb
124
- - lib/typus/templates/resource_controller.rb.erb
125
- - lib/typus/templates/resource_controller_test.rb.erb
126
- - lib/typus/templates/resources_controller.rb.erb
127
126
  - lib/typus/user.rb
128
127
  - lib/vendor/active_record.rb
129
128
  - lib/vendor/paginator.rb
@@ -1,81 +0,0 @@
1
- require 'ftools'
2
-
3
- module Typus
4
-
5
- def self.generator
6
-
7
- # Create needed folders if doesn't exist.
8
- admin_controllers_folder = "#{Rails.root}/app/controllers/admin"
9
- admin_views_folder = "#{Rails.root}/app/views/admin"
10
-
11
- [ admin_controllers_folder, admin_views_folder ].each do |folder|
12
- Dir.mkdir(folder) unless File.directory?(folder)
13
- end
14
-
15
- # Create test/functional/admin if doesn't exist.
16
- admin_controller_tests_folder = "#{Rails.root}/test/functional/admin"
17
- if File.directory?("#{Rails.root}/test")
18
- Dir.mkdir(admin_controller_tests_folder) unless File.directory?(admin_controller_tests_folder)
19
- end
20
-
21
- # Get a list of controllers under `app/controllers/admin`.
22
- admin_controllers = Dir["#{Rails.root}/vendor/plugins/*/app/controllers/admin/*.rb", "#{admin_controllers_folder}/*.rb"]
23
- admin_controllers = admin_controllers.map { |i| File.basename(i) }
24
-
25
- # Get a list of functional tests under `test/functional/admin`.
26
- admin_controller_tests = Dir["#{admin_controller_tests_folder}/*.rb"]
27
- admin_controller_tests = admin_controller_tests.map { |i| File.basename(i) }
28
-
29
- # Generate controllers for tableless models.
30
- resources.each do |resource|
31
-
32
- controller_filename = "#{resource.underscore}_controller.rb"
33
- controller_location = "#{admin_controllers_folder}/#{controller_filename}"
34
-
35
- if !admin_controllers.include?(controller_filename)
36
- template = File.read("#{File.dirname(__FILE__)}/templates/resource_controller.rb.erb")
37
- content = ERB.new(template).result(binding)
38
- File.open(controller_location, "w+") { |f| f << content }
39
- end
40
-
41
- # And now we create the view.
42
- view_folder = "#{admin_views_folder}/#{resource.underscore}"
43
- view_filename = "index.html.erb"
44
-
45
- if !File.exist?("#{view_folder}/#{view_filename}")
46
- Dir.mkdir(view_folder) unless File.directory?(view_folder)
47
- origin = "#{File.dirname(__FILE__)}/templates/index.html.erb"
48
- destination = "#{view_folder}/#{view_filename}"
49
- File.copy(origin, destination)
50
- end
51
-
52
- end
53
-
54
- # Generate:
55
- # `app/controllers/admin/#{resource}_controller.rb`
56
- # `test/functional/admin/#{resource}_controller_test.rb`
57
- models.each do |model|
58
-
59
- controller_filename = "#{model.tableize}_controller.rb"
60
- controller_location = "#{admin_controllers_folder}/#{controller_filename}"
61
-
62
- if !admin_controllers.include?(controller_filename)
63
- template = File.read("#{File.dirname(__FILE__)}/templates/resources_controller.rb.erb")
64
- content = ERB.new(template).result(binding)
65
- File.open(controller_location, "w+") { |f| f << content }
66
- end
67
-
68
- test_filename = "#{model.tableize}_controller_test.rb"
69
- test_location = "#{admin_controller_tests_folder}/#{test_filename}"
70
-
71
- if !admin_controller_tests.include?(test_filename) && File.directory?("#{Rails.root}/test")
72
- template = File.read("#{File.dirname(__FILE__)}/templates/resource_controller_test.rb.erb")
73
- content = ERB.new(template).result(binding)
74
- File.open(test_location, "w+") { |f| f << content }
75
- end
76
-
77
- end
78
-
79
- end
80
-
81
- end