Rails::Generators::Base
# File lib/generators/bootstrap/themed/themed_generator.rb, line 57 def columns retrieve_columns.reject {|c| excluded?(c.name) }.map do |c| new_attribute(c.name, c.type.to_s) end end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 33 def controller_routing_path @controller_routing_path end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 78 def excluded?(name) excluded_columns_names.include?(name) || excluded_columns_pattern.any? {|p| name =~ p } || excluded_columns.include?(name) end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 74 def excluded_columns options['excluded_columns']||[] end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 63 def excluded_columns_names ]id created_at updated_at] end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 67 def excluded_columns_pattern [ /.*_checksum/, /.*_count/, ] end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 136 def ext ::Rails.application.config.generators.options[:rails][:template_engine] || :erb end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 107 def extract_modules(name) modules = name.include?('/') ? name.split('/') : name.split('::') name = modules.pop path = modules.map { |m| m.underscore } file_path = (path + [name.underscore]).join('/') nesting = modules.map { |m| m.camelize }.join('::') [name, path, file_path, nesting, modules.size] end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 140 def form_builder defined?(::SimpleForm) ? 'simple_form/' : '' end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 130 def generate_erb(views) views.each do |template_name, output_path| template template_name, output_path end end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 116 def generate_views options.engine == generate_erb(selected_views) end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 26 def initialize_views_variables @base_name, @controller_class_path, @controller_file_path, @controller_class_nesting, @controller_class_nesting_depth = extract_modules(controller_path) @controller_routing_path = @controller_file_path.gsub(/\//, '_') @model_name = @controller_class_nesting + "::#{@base_name.singularize.camelize}" unless @model_name @model_name = @model_name.camelize end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 41 def model_name @model_name end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 96 def new_attribute(name, type) ::Rails::Generators::GeneratedAttribute.new(name, type) end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 45 def plural_model_name @model_name.pluralize end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 53 def plural_resource_name resource_name.pluralize end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 100 def rescue_block(exception=Exception) yield if block_given? rescue exception => e say e.message, :red exit end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 49 def resource_name @model_name.demodulize.underscore end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 84 def retrieve_columns if defined?(ActiveRecord) == "constant" && ActiveRecord.class == Module rescue_block ActiveRecord::StatementInvalid do @model_name.constantize.columns end else rescue_block do @model_name.constantize.fields.map {|c| c[1] } end end end
# File lib/generators/bootstrap/themed/themed_generator.rb, line 120 def selected_views { "index.html.#{ext}" => File.join('app/views', @controller_file_path, "index.html.#{ext}"), "new.html.#{ext}" => File.join('app/views', @controller_file_path, "new.html.#{ext}"), "edit.html.#{ext}" => File.join('app/views', @controller_file_path, "edit.html.#{ext}"), "#{form_builder}_form.html.#{ext}" => File.join('app/views', @controller_file_path, "_form.html.#{ext}"), "show.html.#{ext}" => File.join('app/views', @controller_file_path, "show.html.#{ext}") } end
Generated with the Darkfish Rdoc Generator 2.