rails3-generators 0.17.6 → 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/CHANGELOG.rdoc +8 -1
- data/Gemfile.lock +73 -65
- data/README.rdoc +6 -8
- data/lib/rails3-generators.rb +3 -10
- data/lib/rails3-generators/version.rb +1 -1
- data/rails3-generators.gemspec +8 -1
- data/test/test_helper.rb +0 -8
- metadata +21 -58
- data/lib/generators/authlogic.rb +0 -11
- data/lib/generators/authlogic/session/session_generator.rb +0 -19
- data/lib/generators/authlogic/session/templates/session.rb +0 -2
- data/lib/generators/erubis.rb +0 -9
- data/lib/generators/erubis/controller/controller_generator.rb +0 -10
- data/lib/generators/erubis/controller/templates/view.html.erb +0 -2
- data/lib/generators/erubis/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/erubis/scaffold/templates/_form.html.erb +0 -23
- data/lib/generators/erubis/scaffold/templates/edit.html.erb +0 -6
- data/lib/generators/erubis/scaffold/templates/index.html.erb +0 -27
- data/lib/generators/erubis/scaffold/templates/new.html.erb +0 -5
- data/lib/generators/erubis/scaffold/templates/show.html.erb +0 -12
- data/lib/generators/formtastic.rb +0 -29
- data/lib/generators/formtastic/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/formtastic/scaffold/templates/_form.html.erb.erb +0 -12
- data/lib/generators/formtastic/scaffold/templates/_form.html.haml.erb +0 -10
- data/lib/generators/mongo_mapper.rb +0 -59
- data/lib/generators/mongo_mapper/install/install_generator.rb +0 -30
- data/lib/generators/mongo_mapper/install/templates/database.mongo.yml +0 -25
- data/lib/generators/mongo_mapper/install/templates/mongo_mapper.rb +0 -9
- data/lib/generators/mongo_mapper/model/model_generator.rb +0 -84
- data/lib/generators/mongo_mapper/model/templates/model.rb +0 -36
- data/lib/generators/mongo_mapper/observer/observer_generator.rb +0 -15
- data/lib/generators/mongo_mapper/observer/templates/observer.rb +0 -3
- data/lib/generators/simple_form.rb +0 -30
- data/lib/generators/simple_form/scaffold/scaffold_generator.rb +0 -25
- data/lib/generators/simple_form/scaffold/templates/_form.html.erb.erb +0 -21
- data/lib/generators/simple_form/scaffold/templates/_form.html.haml.erb +0 -15
- data/test/lib/generators/authlogic/session_generator_test.rb +0 -14
- data/test/lib/generators/erubis/controller_generator_test.rb +0 -16
- data/test/lib/generators/erubis/scaffold_generator_test.rb +0 -30
- data/test/lib/generators/formtastic/scaffold_generators_test.rb +0 -19
- data/test/lib/generators/mongo_mapper/install_generator_test.rb +0 -17
- data/test/lib/generators/mongo_mapper/model_generator_test.rb +0 -73
- data/test/lib/generators/mongo_mapper/observer_generator_test.rb +0 -20
- data/test/lib/generators/mongo_mapper/testing_helper.rb +0 -1
- data/test/lib/generators/simple_form/scaffold_generators_test.rb +0 -19
    
        data/lib/generators/authlogic.rb
    DELETED
    
    | @@ -1,11 +0,0 @@ | |
| 1 | 
            -
            require 'rails/generators/named_base'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Authlogic
         | 
| 4 | 
            -
              module Generators
         | 
| 5 | 
            -
                class Base < Rails::Generators::NamedBase
         | 
| 6 | 
            -
                  def self.source_root
         | 
| 7 | 
            -
                    @_authlogic_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'authlogic', generator_name, 'templates'))
         | 
| 8 | 
            -
                  end
         | 
| 9 | 
            -
                end
         | 
| 10 | 
            -
              end
         | 
| 11 | 
            -
            end
         | 
| @@ -1,19 +0,0 @@ | |
| 1 | 
            -
            require 'generators/authlogic'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Authlogic
         | 
| 4 | 
            -
              module Generators
         | 
| 5 | 
            -
                class SessionGenerator < Base
         | 
| 6 | 
            -
                  desc "Builds an Authlogic session model"
         | 
| 7 | 
            -
                  
         | 
| 8 | 
            -
                  check_class_collision
         | 
| 9 | 
            -
                  
         | 
| 10 | 
            -
                  def create_session_file
         | 
| 11 | 
            -
                    template 'session.rb', File.join('app', 'models', class_path, "#{file_name}.rb")
         | 
| 12 | 
            -
                  end
         | 
| 13 | 
            -
                  
         | 
| 14 | 
            -
                  # HACK: make test_framework generator for this generator.
         | 
| 15 | 
            -
                  hook_for :test_framework, :as => :model
         | 
| 16 | 
            -
                end
         | 
| 17 | 
            -
              end
         | 
| 18 | 
            -
            end
         | 
| 19 | 
            -
             | 
    
        data/lib/generators/erubis.rb
    DELETED
    
    
| @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            require 'generators/erubis'
         | 
| 2 | 
            -
            require 'rails/generators/erb/scaffold/scaffold_generator'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module Erubis
         | 
| 5 | 
            -
              module Generators
         | 
| 6 | 
            -
                class ScaffoldGenerator < Erb::Generators::ScaffoldGenerator
         | 
| 7 | 
            -
                  extend TemplatePath
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  hook_for :form_builder, :as => :scaffold
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  def copy_form_file
         | 
| 12 | 
            -
                    if options[:form_builder].nil?
         | 
| 13 | 
            -
                      filename = filename_with_extensions("_form")
         | 
| 14 | 
            -
                      template filename, File.join("app/views", controller_file_path, filename)
         | 
| 15 | 
            -
                    end
         | 
| 16 | 
            -
                  end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                  protected
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    def available_views
         | 
| 21 | 
            -
                      %w(index edit show new)
         | 
| 22 | 
            -
                    end
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
            end
         | 
| @@ -1,23 +0,0 @@ | |
| 1 | 
            -
            <%%= form_for(@<%= singular_name %>) do |f| %>
         | 
| 2 | 
            -
              <%% if @<%= singular_name %>.errors.any? %>
         | 
| 3 | 
            -
                <div id="error_explanation">
         | 
| 4 | 
            -
                  <h2><%%= pluralize(@<%= singular_name %>.errors.count, "error") %> prohibited this <%= singular_name %> from being saved:</h2>
         | 
| 5 | 
            -
             | 
| 6 | 
            -
                  <ul>
         | 
| 7 | 
            -
                  <%% @<%= singular_name %>.errors.full_messages.each do |msg| %>
         | 
| 8 | 
            -
                    <li><%%= msg %></li>
         | 
| 9 | 
            -
                  <%% end %>
         | 
| 10 | 
            -
                  </ul>
         | 
| 11 | 
            -
                </div>
         | 
| 12 | 
            -
              <%% end %>
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            <% for attribute in attributes -%>
         | 
| 15 | 
            -
              <div class="field">
         | 
| 16 | 
            -
                <%%= f.label :<%= attribute.name %> %><br />
         | 
| 17 | 
            -
                <%%= f.<%= attribute.field_type %> :<%= attribute.name %> %>
         | 
| 18 | 
            -
              </div>
         | 
| 19 | 
            -
            <% end -%>
         | 
| 20 | 
            -
              <div class="actions">
         | 
| 21 | 
            -
                <%%= f.submit %>
         | 
| 22 | 
            -
              </div>
         | 
| 23 | 
            -
            <%% end %>
         | 
| @@ -1,27 +0,0 @@ | |
| 1 | 
            -
            <h1>Listing <%= plural_name %></h1>
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            <table>
         | 
| 4 | 
            -
              <tr>
         | 
| 5 | 
            -
            <% for attribute in attributes -%>
         | 
| 6 | 
            -
                <th><%= attribute.human_name %></th>
         | 
| 7 | 
            -
            <% end -%>
         | 
| 8 | 
            -
                <th></th>
         | 
| 9 | 
            -
                <th></th>
         | 
| 10 | 
            -
                <th></th>
         | 
| 11 | 
            -
              </tr>
         | 
| 12 | 
            -
             | 
| 13 | 
            -
            <%% @<%= plural_name %>.each do |<%= singular_name %>| %>
         | 
| 14 | 
            -
              <tr>
         | 
| 15 | 
            -
            <% for attribute in attributes -%>
         | 
| 16 | 
            -
                <td><%%= <%= singular_name %>.<%= attribute.name %> %></td>
         | 
| 17 | 
            -
            <% end -%>
         | 
| 18 | 
            -
                <td><%%= link_to 'Show', <%= singular_name %> %></td>
         | 
| 19 | 
            -
                <td><%%= link_to 'Edit', edit_<%= singular_name %>_path(<%= singular_name %>) %></td>
         | 
| 20 | 
            -
                <td><%%= link_to 'Destroy', <%= singular_name %>, :confirm => 'Are you sure?', :method => :delete %></td>
         | 
| 21 | 
            -
              </tr>
         | 
| 22 | 
            -
            <%% end %>
         | 
| 23 | 
            -
            </table>
         | 
| 24 | 
            -
             | 
| 25 | 
            -
            <br />
         | 
| 26 | 
            -
             | 
| 27 | 
            -
            <%%= link_to 'New <%= human_name %>', new_<%= singular_name %>_path %>
         | 
| @@ -1,12 +0,0 @@ | |
| 1 | 
            -
            <p id="notice"><%%= notice %></p>
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            <% for attribute in attributes -%>
         | 
| 4 | 
            -
            <p>
         | 
| 5 | 
            -
              <b><%= attribute.human_name %>:</b>
         | 
| 6 | 
            -
              <%%= @<%= singular_name %>.<%= attribute.name %> %>
         | 
| 7 | 
            -
            </p>
         | 
| 8 | 
            -
             | 
| 9 | 
            -
            <% end -%>
         | 
| 10 | 
            -
             | 
| 11 | 
            -
            <%%= link_to 'Edit', edit_<%= singular_name %>_path(@<%= singular_name %>) %> |
         | 
| 12 | 
            -
            <%%= link_to 'Back', <%= plural_name %>_path %>
         | 
| @@ -1,29 +0,0 @@ | |
| 1 | 
            -
            require 'rails/generators/named_base'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module Formtastic
         | 
| 4 | 
            -
              module Generators
         | 
| 5 | 
            -
                class Base < Rails::Generators::NamedBase #:nodoc:
         | 
| 6 | 
            -
             | 
| 7 | 
            -
                  def self.source_root
         | 
| 8 | 
            -
                    @_simple_form_source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'formtastic', generator_name, 'templates'))
         | 
| 9 | 
            -
                  end
         | 
| 10 | 
            -
                  protected
         | 
| 11 | 
            -
             | 
| 12 | 
            -
                    def format
         | 
| 13 | 
            -
                      :html
         | 
| 14 | 
            -
                    end
         | 
| 15 | 
            -
             | 
| 16 | 
            -
                    def handler
         | 
| 17 | 
            -
                      :erb
         | 
| 18 | 
            -
                    end
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    def filename_with_extensions(name)
         | 
| 21 | 
            -
                      [name, format, handler].compact.join(".")
         | 
| 22 | 
            -
                    end
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                    def template_filename_with_extensions(name)
         | 
| 25 | 
            -
                      [name, format, handler, :erb].compact.join(".")
         | 
| 26 | 
            -
                    end
         | 
| 27 | 
            -
                end
         | 
| 28 | 
            -
              end
         | 
| 29 | 
            -
            end
         | 
| @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            require 'generators/formtastic'
         | 
| 2 | 
            -
            require 'rails/generators/resource_helpers'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module Formtastic
         | 
| 5 | 
            -
              module Generators
         | 
| 6 | 
            -
                class ScaffoldGenerator < Base
         | 
| 7 | 
            -
                  include Rails::Generators::ResourceHelpers
         | 
| 8 | 
            -
             | 
| 9 | 
            -
                  argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
         | 
| 10 | 
            -
             | 
| 11 | 
            -
                  class_option :template_engine
         | 
| 12 | 
            -
             | 
| 13 | 
            -
                  def copy_form_file
         | 
| 14 | 
            -
                    filename = filename_with_extensions("_form")
         | 
| 15 | 
            -
                    template template_filename_with_extensions("_form"), File.join("app/views", controller_file_path, filename)
         | 
| 16 | 
            -
                  end
         | 
| 17 | 
            -
             | 
| 18 | 
            -
                  protected
         | 
| 19 | 
            -
             | 
| 20 | 
            -
                    def handler
         | 
| 21 | 
            -
                      options[:template_engine].to_s.gsub('erubis', 'erb')
         | 
| 22 | 
            -
                    end
         | 
| 23 | 
            -
                end
         | 
| 24 | 
            -
              end
         | 
| 25 | 
            -
            end
         | 
| @@ -1,12 +0,0 @@ | |
| 1 | 
            -
            <%%= semantic_form_for @<%= file_name %> do |form| %>
         | 
| 2 | 
            -
            <%- if attributes.empty? -%>
         | 
| 3 | 
            -
              <%% form.inputs %>
         | 
| 4 | 
            -
            <%- else -%>
         | 
| 5 | 
            -
              <%% form.inputs do %>
         | 
| 6 | 
            -
              <%- for attribute in attributes -%>
         | 
| 7 | 
            -
                <%%= form.input :<%= attribute.name %>, :label => '<%= attribute.name.titleize %>' %>
         | 
| 8 | 
            -
              <%- end -%>
         | 
| 9 | 
            -
              <%% end %>
         | 
| 10 | 
            -
            <%- end -%>
         | 
| 11 | 
            -
              <%%= form.buttons %>
         | 
| 12 | 
            -
            <%% end %>
         | 
| @@ -1,10 +0,0 @@ | |
| 1 | 
            -
            = semantic_form_for @<%= file_name %> do |form|
         | 
| 2 | 
            -
            <%- if attributes.empty? -%>
         | 
| 3 | 
            -
              = form.inputs
         | 
| 4 | 
            -
            <%- else -%>
         | 
| 5 | 
            -
              = form.inputs do
         | 
| 6 | 
            -
            <%- for attribute in attributes -%>
         | 
| 7 | 
            -
                = form.input :<%= attribute.name.gsub(/_id$/, '') %>, :label => '<%= attribute.name.titleize %>'
         | 
| 8 | 
            -
            <%- end -%>
         | 
| 9 | 
            -
            <%- end -%>
         | 
| 10 | 
            -
              = form.buttons
         | 
| @@ -1,59 +0,0 @@ | |
| 1 | 
            -
            require 'rails/generators/named_base'
         | 
| 2 | 
            -
            require 'rails/generators/active_model'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module MongoMapper
         | 
| 5 | 
            -
              module Generators
         | 
| 6 | 
            -
                class Base < Rails::Generators::NamedBase #:nodoc:
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                  def self.source_root
         | 
| 9 | 
            -
                    @_mongomapper_source_root ||= File.expand_path(File.join(File.dirname(__FILE__),
         | 
| 10 | 
            -
                                                                             'mongo_mapper', generator_name, 'templates'))
         | 
| 11 | 
            -
                  end
         | 
| 12 | 
            -
                end
         | 
| 13 | 
            -
             | 
| 14 | 
            -
                class ActiveModel < Rails::Generators::ActiveModel #:nodoc:
         | 
| 15 | 
            -
                  def self.all(klass)
         | 
| 16 | 
            -
                    "#{klass}.all"
         | 
| 17 | 
            -
                  end
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                  def self.find(klass, params=nil)
         | 
| 20 | 
            -
                    "#{klass}.find(#{params})"
         | 
| 21 | 
            -
                  end
         | 
| 22 | 
            -
             | 
| 23 | 
            -
                  def self.build(klass, params=nil)
         | 
| 24 | 
            -
                    if params
         | 
| 25 | 
            -
                      "#{klass}.new(#{params})"
         | 
| 26 | 
            -
                    else
         | 
| 27 | 
            -
                      "#{klass}.new"
         | 
| 28 | 
            -
                    end
         | 
| 29 | 
            -
                  end
         | 
| 30 | 
            -
             | 
| 31 | 
            -
                  def save
         | 
| 32 | 
            -
                    "#{name}.save"
         | 
| 33 | 
            -
                  end
         | 
| 34 | 
            -
             | 
| 35 | 
            -
                  def update_attributes(params=nil)
         | 
| 36 | 
            -
                    "#{name}.update(#{params})"
         | 
| 37 | 
            -
                  end
         | 
| 38 | 
            -
             | 
| 39 | 
            -
                  def errors
         | 
| 40 | 
            -
                    "#{name}.errors"
         | 
| 41 | 
            -
                  end
         | 
| 42 | 
            -
             | 
| 43 | 
            -
                  def destroy
         | 
| 44 | 
            -
                    "#{name}.destroy"
         | 
| 45 | 
            -
                  end
         | 
| 46 | 
            -
                end
         | 
| 47 | 
            -
              end
         | 
| 48 | 
            -
            end
         | 
| 49 | 
            -
             | 
| 50 | 
            -
            module Rails
         | 
| 51 | 
            -
              module Generators
         | 
| 52 | 
            -
                class GeneratedAttribute #:nodoc:
         | 
| 53 | 
            -
                  def type_class
         | 
| 54 | 
            -
                    return 'DateTime' if type.to_s == 'datetime'
         | 
| 55 | 
            -
                    return type.to_s.camelcase
         | 
| 56 | 
            -
                  end
         | 
| 57 | 
            -
                end
         | 
| 58 | 
            -
              end
         | 
| 59 | 
            -
            end
         | 
| @@ -1,30 +0,0 @@ | |
| 1 | 
            -
            require 'generators/mongo_mapper'
         | 
| 2 | 
            -
             | 
| 3 | 
            -
            module MongoMapper
         | 
| 4 | 
            -
              module Generators
         | 
| 5 | 
            -
                class InstallGenerator < Base
         | 
| 6 | 
            -
                  class_option  :host,      :type => :string, :default => 'localhost',        :desc => "Name of the Mongo host use"
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                  def create_files
         | 
| 9 | 
            -
                    template "mongo_mapper.rb" , "config/initializers/mongo_mapper.rb"
         | 
| 10 | 
            -
                    template "database.mongo.yml" , "config/database.mongo.yml"
         | 
| 11 | 
            -
                    say "Please ensure Gemfile contains: gem '#{orm_gem_name}', '>=0.8.2'"
         | 
| 12 | 
            -
                    say "For production enviroment DB configuration, set environment variables as indicated in config/database.mongo.yml"
         | 
| 13 | 
            -
                  end
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  protected
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                    def database
         | 
| 18 | 
            -
                      name
         | 
| 19 | 
            -
                    end
         | 
| 20 | 
            -
             | 
| 21 | 
            -
                    def orm_gem_name
         | 
| 22 | 
            -
                      "mongo_mapper"
         | 
| 23 | 
            -
                    end
         | 
| 24 | 
            -
             | 
| 25 | 
            -
                    def host
         | 
| 26 | 
            -
                      options[:host] || 'localhost'
         | 
| 27 | 
            -
                    end
         | 
| 28 | 
            -
                end
         | 
| 29 | 
            -
              end
         | 
| 30 | 
            -
            end
         | 
| @@ -1,25 +0,0 @@ | |
| 1 | 
            -
            defaults: &defaults
         | 
| 2 | 
            -
              adapter: mongodb
         | 
| 3 | 
            -
              host: <%= host %>
         | 
| 4 | 
            -
              # slaves:
         | 
| 5 | 
            -
              #   - host: slave1.local
         | 
| 6 | 
            -
              #     port: 27018
         | 
| 7 | 
            -
              #   - host: slave2.local
         | 
| 8 | 
            -
              #     port: 27019
         | 
| 9 | 
            -
             | 
| 10 | 
            -
            development:
         | 
| 11 | 
            -
              <<: *defaults
         | 
| 12 | 
            -
              database: <%= database %>_development
         | 
| 13 | 
            -
             | 
| 14 | 
            -
            test:
         | 
| 15 | 
            -
              <<: *defaults
         | 
| 16 | 
            -
              database: <%= database %>_test
         | 
| 17 | 
            -
             | 
| 18 | 
            -
            # set these environment variables on your prod server
         | 
| 19 | 
            -
            production:
         | 
| 20 | 
            -
              <<: *defaults
         | 
| 21 | 
            -
              host: <%= ENV['MONGOID_HOST'] %>
         | 
| 22 | 
            -
              port: <%= ENV['MONGOID_PORT'] %>
         | 
| 23 | 
            -
              username: <%= ENV['MONGOID_USERNAME'] %>
         | 
| 24 | 
            -
              password: <%= ENV['MONGOID_PASSWORD'] %>
         | 
| 25 | 
            -
              database: <%= ENV['MONGOID_DATABASE'] %>
         | 
| @@ -1,9 +0,0 @@ | |
| 1 | 
            -
            database_config_file = File.join(Rails.root, "/config/database.mongo.yml")
         | 
| 2 | 
            -
            yaml_content = File.read(database_config_file)
         | 
| 3 | 
            -
            db_config = YAML::load(yaml_content)
         | 
| 4 | 
            -
             | 
| 5 | 
            -
            if db_config[Rails.env] && db_config[Rails.env]['adapter'] == 'mongodb'
         | 
| 6 | 
            -
              mongo = db_config[Rails.env]
         | 
| 7 | 
            -
              MongoMapper.connection = Mongo::Connection.new(mongo['host'])
         | 
| 8 | 
            -
              MongoMapper.database = mongo['database']
         | 
| 9 | 
            -
            end
         | 
| @@ -1,84 +0,0 @@ | |
| 1 | 
            -
            require 'generators/mongo_mapper'
         | 
| 2 | 
            -
            require 'generators/helpers/model_helper'
         | 
| 3 | 
            -
             | 
| 4 | 
            -
            module MongoMapper
         | 
| 5 | 
            -
              module Generators
         | 
| 6 | 
            -
                class ModelGenerator < Base
         | 
| 7 | 
            -
             | 
| 8 | 
            -
                  argument  :attributes,  :type => :array, :default => [],      :banner => "field:type field:type#, posfixing with '#' marks attribute to be indexed"
         | 
| 9 | 
            -
             | 
| 10 | 
            -
                  class_option :timestamps,   :type => :boolean, :aliases => "-T",  :desc => "Add timestamps created_at and updated_at", :default => false
         | 
| 11 | 
            -
                  class_option :embedded,     :type => :boolean, :aliases => "-E",  :desc => "Embedded document", :default => false
         | 
| 12 | 
            -
                  class_option :version,      :type => :boolean, :aliases => "-V",  :desc => "Add versioning",    :default => false
         | 
| 13 | 
            -
                  class_option :parent,       :type => :string,  :aliases => "-P",  :desc => "Class name of parent document"
         | 
| 14 | 
            -
             | 
| 15 | 
            -
                  # check_class_collision
         | 
| 16 | 
            -
             | 
| 17 | 
            -
                  attr_accessor :model_attributes, :model_indexes
         | 
| 18 | 
            -
             | 
| 19 | 
            -
                  def initialize(*args, &block)
         | 
| 20 | 
            -
                    super
         | 
| 21 | 
            -
                    # from helpers/model_helper
         | 
| 22 | 
            -
                    # parse_model_attributes
         | 
| 23 | 
            -
             | 
| 24 | 
            -
                    @model_attributes = []
         | 
| 25 | 
            -
                    @model_indexes = {}
         | 
| 26 | 
            -
             | 
| 27 | 
            -
                    @model_attributes = attributes
         | 
| 28 | 
            -
                  end
         | 
| 29 | 
            -
             | 
| 30 | 
            -
                  def create_model_file
         | 
| 31 | 
            -
                    template 'model.rb', "app/models/#{file_name}.rb"
         | 
| 32 | 
            -
                  end
         | 
| 33 | 
            -
             | 
| 34 | 
            -
                  protected
         | 
| 35 | 
            -
             | 
| 36 | 
            -
                    def embedded_statement
         | 
| 37 | 
            -
                      "include MongoMapper::EmbeddedDocument"
         | 
| 38 | 
            -
                    end
         | 
| 39 | 
            -
             | 
| 40 | 
            -
                    def version_statement
         | 
| 41 | 
            -
                      'include Versioned # see http://github.com/nathancolgate/versioned for 0.8 compatible version'
         | 
| 42 | 
            -
                    end
         | 
| 43 | 
            -
             | 
| 44 | 
            -
                    def timestamps_statement
         | 
| 45 | 
            -
                      'timestamps!'
         | 
| 46 | 
            -
                    end
         | 
| 47 | 
            -
             | 
| 48 | 
            -
                    def statements
         | 
| 49 | 
            -
                      stm_list = []
         | 
| 50 | 
            -
                      stm_list << embedded_statement if embedded?
         | 
| 51 | 
            -
                      stm_list << version_statement if version?
         | 
| 52 | 
            -
                      stm_list << timestamps_statement if timestamps?
         | 
| 53 | 
            -
                      stm_list.join("\n")
         | 
| 54 | 
            -
                    end
         | 
| 55 | 
            -
             | 
| 56 | 
            -
             | 
| 57 | 
            -
                    def version?
         | 
| 58 | 
            -
                      options[:version]
         | 
| 59 | 
            -
                    end
         | 
| 60 | 
            -
             | 
| 61 | 
            -
                    def embedded?
         | 
| 62 | 
            -
                      options[:embedded]
         | 
| 63 | 
            -
                    end
         | 
| 64 | 
            -
             | 
| 65 | 
            -
                    def parent?
         | 
| 66 | 
            -
                      options[:parent]
         | 
| 67 | 
            -
                    end
         | 
| 68 | 
            -
             | 
| 69 | 
            -
                    def timestamps?
         | 
| 70 | 
            -
                      options[:timestamps]
         | 
| 71 | 
            -
                    end
         | 
| 72 | 
            -
             | 
| 73 | 
            -
                    def model_exists?
         | 
| 74 | 
            -
                      File.exist? destination_path("app/models/#{file_name}.rb")
         | 
| 75 | 
            -
                    end
         | 
| 76 | 
            -
             | 
| 77 | 
            -
                    def model_columns_for_attributes
         | 
| 78 | 
            -
                      class_name.constantize.columns.reject do |column|
         | 
| 79 | 
            -
                        column.name.to_s =~ /^(id|created_at|updated_at)$/
         | 
| 80 | 
            -
                      end
         | 
| 81 | 
            -
                    end
         | 
| 82 | 
            -
                end
         | 
| 83 | 
            -
              end
         | 
| 84 | 
            -
            end
         |