model_base_generators 0.3.9 → 0.4.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.gitignore +2 -0
- data/.travis.yml +8 -2
- data/Gemfile +1 -1
- data/Gemfiles/rails-5.0 +25 -0
- data/Gemfiles/rails-5.1 +25 -0
- data/README.md +2 -2
- data/Rakefile +10 -1
- data/{example → examples/rails-5.0}/.gitignore +1 -1
- data/{example → examples/rails-5.0}/.model_base/controllers +0 -0
- data/{example → examples/rails-5.0}/.rspec +0 -0
- data/{example → examples/rails-5.0}/.rubocop.yml +0 -0
- data/{example → examples/rails-5.0}/Gemfile +5 -4
- data/{example → examples/rails-5.0}/Gemfile.lock +87 -77
- data/{example → examples/rails-5.0}/Rakefile +0 -0
- data/{example → examples/rails-5.0}/app/assets/config/manifest.js +0 -0
- data/{example → examples/rails-5.0}/app/assets/images/.keep +0 -0
- data/{example → examples/rails-5.0}/app/assets/javascripts/application.js +0 -0
- data/{example → examples/rails-5.0}/app/assets/javascripts/cable.js +0 -0
- data/{example → examples/rails-5.0}/app/assets/javascripts/channels/.keep +0 -0
- data/{example → examples/rails-5.0}/app/assets/stylesheets/application.css +0 -0
- data/{example → examples/rails-5.0}/app/channels/application_cable/channel.rb +0 -0
- data/{example → examples/rails-5.0}/app/channels/application_cable/connection.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/application_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/attached_files_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/concerns/.keep +0 -0
- data/{example → examples/rails-5.0}/app/controllers/concerns/authentication.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/issue_comments_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/issues_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/phases_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/project_assignments_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/controllers/projects_controller.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/application_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/attached_files_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/issue_comments_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/issues_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/phases_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/project_assignments_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/helpers/projects_helper.rb +0 -0
- data/{example → examples/rails-5.0}/app/jobs/application_job.rb +0 -0
- data/{example → examples/rails-5.0}/app/mailers/application_mailer.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/ability.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/application_record.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/attached_file.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/concerns/.keep +0 -0
- data/{example → examples/rails-5.0}/app/models/issue.rb +1 -1
- data/{example → examples/rails-5.0}/app/models/issue_comment.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/phase.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/project.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/project_assignment.rb +0 -0
- data/{example → examples/rails-5.0}/app/models/user.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/ar_internal_metadatum_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/attached_file_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/issue_comment_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/issue_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/phase_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/project_assignment_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/project_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/validations/user_validation.rb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/_attached_file.json.jbuilder +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/_form.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/index.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/index.json.jbuilder +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/show.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/attached_files/show.json.jbuilder +0 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/_form.html.erb +0 -0
- data/examples/rails-5.0/app/views/issue_comments/_issue_comment.json.jbuilder +2 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/index.html.erb +0 -0
- data/examples/rails-5.0/app/views/issue_comments/index.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issue_comments/show.html.erb +0 -0
- data/examples/rails-5.0/app/views/issue_comments/show.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/issues/_form.html.erb +0 -0
- data/examples/rails-5.0/app/views/issues/_issue.json.jbuilder +2 -0
- data/{example → examples/rails-5.0}/app/views/issues/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issues/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issues/index.html.erb +0 -0
- data/examples/rails-5.0/app/views/issues/index.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/issues/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/issues/show.html.erb +0 -0
- data/examples/rails-5.0/app/views/issues/show.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/layouts/application.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/layouts/mailer.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/layouts/mailer.text.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/phases/_form.html.erb +0 -0
- data/examples/rails-5.0/app/views/phases/_phase.json.jbuilder +2 -0
- data/{example → examples/rails-5.0}/app/views/phases/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/phases/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/phases/index.html.erb +0 -0
- data/examples/rails-5.0/app/views/phases/index.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/phases/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/phases/show.html.erb +0 -0
- data/examples/rails-5.0/app/views/phases/show.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/_form.html.erb +0 -0
- data/examples/rails-5.0/app/views/project_assignments/_project_assignment.json.jbuilder +2 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/index.html.erb +0 -0
- data/examples/rails-5.0/app/views/project_assignments/index.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/project_assignments/show.html.erb +0 -0
- data/examples/rails-5.0/app/views/project_assignments/show.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/projects/_form.html.erb +0 -0
- data/examples/rails-5.0/app/views/projects/_project.json.jbuilder +2 -0
- data/{example → examples/rails-5.0}/app/views/projects/_table.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/projects/edit.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/projects/index.html.erb +0 -0
- data/examples/rails-5.0/app/views/projects/index.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/app/views/projects/new.html.erb +0 -0
- data/{example → examples/rails-5.0}/app/views/projects/show.html.erb +0 -0
- data/examples/rails-5.0/app/views/projects/show.json.jbuilder +1 -0
- data/{example → examples/rails-5.0}/bin/bundle +0 -0
- data/{example → examples/rails-5.0}/bin/rails +0 -0
- data/{example → examples/rails-5.0}/bin/rake +0 -0
- data/{example → examples/rails-5.0}/bin/setup +0 -0
- data/{example → examples/rails-5.0}/bin/update +0 -0
- data/{example → examples/rails-5.0}/config.ru +0 -0
- data/{example → examples/rails-5.0}/config/application.rb +1 -2
- data/{example → examples/rails-5.0}/config/boot.rb +0 -0
- data/{example → examples/rails-5.0}/config/cable.yml +0 -0
- data/{example → examples/rails-5.0}/config/database.yml +0 -0
- data/{example → examples/rails-5.0}/config/environment.rb +0 -0
- data/{example → examples/rails-5.0}/config/environments/development.rb +0 -0
- data/{example → examples/rails-5.0}/config/environments/production.rb +0 -0
- data/{example → examples/rails-5.0}/config/environments/test.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/application_controller_renderer.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/assets.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/backtrace_silencers.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/cookies_serializer.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/devise.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/filter_parameter_logging.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/inflections.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/mime_types.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/new_framework_defaults.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/pretty_validation.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/session_store.rb +0 -0
- data/{example → examples/rails-5.0}/config/initializers/wrap_parameters.rb +0 -0
- data/{example → examples/rails-5.0}/config/locales/devise.en.yml +0 -0
- data/{example → examples/rails-5.0}/config/locales/devise.ja.yml +0 -0
- data/{example → examples/rails-5.0}/config/locales/en.yml +0 -0
- data/{example → examples/rails-5.0}/config/locales/rails.ja.yml +0 -0
- data/{example → examples/rails-5.0}/config/puma.rb +0 -0
- data/{example → examples/rails-5.0}/config/routes.rb +0 -0
- data/{example → examples/rails-5.0}/config/secrets.yml +0 -0
- data/{example → examples/rails-5.0}/config/spring.rb +0 -0
- data/{example → examples/rails-5.0}/db/schema.rb +0 -0
- data/{example → examples/rails-5.0}/lib/assets/.keep +0 -0
- data/{example → examples/rails-5.0}/log/.keep +0 -0
- data/{example → examples/rails-5.0}/public/404.html +0 -0
- data/{example → examples/rails-5.0}/public/422.html +0 -0
- data/{example → examples/rails-5.0}/public/500.html +0 -0
- data/{example → examples/rails-5.0}/public/apple-touch-icon-precomposed.png +0 -0
- data/{example → examples/rails-5.0}/public/apple-touch-icon.png +0 -0
- data/{example → examples/rails-5.0}/public/favicon.ico +0 -0
- data/{example → examples/rails-5.0}/spec/controllers/attached_files_controller_spec.rb +6 -6
- data/{example → examples/rails-5.0}/spec/controllers/issue_comments_controller_spec.rb +5 -5
- data/{example → examples/rails-5.0}/spec/controllers/issues_controller_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/controllers/phases_controller_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/controllers/project_assignments_controller_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/controllers/projects_controller_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/factories/attached_files.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/issue_comments.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/issues.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/phases.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/project_assignments.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/projects.rb +1 -1
- data/{example → examples/rails-5.0}/spec/factories/users.rb +1 -1
- data/{example → examples/rails-5.0}/spec/helpers/attached_files_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/helpers/issue_comments_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/helpers/issues_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/helpers/phases_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/helpers/project_assignments_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/helpers/projects_helper_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/rails_helper.rb +0 -0
- data/{example → examples/rails-5.0}/spec/requests/attached_files_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/requests/issue_comments_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/requests/issues_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/requests/phases_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/requests/project_assignments_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/requests/projects_spec.rb +1 -1
- data/{example → examples/rails-5.0}/spec/routing/attached_files_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/routing/issue_comments_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/routing/issues_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/routing/phases_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/routing/project_assignments_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/routing/projects_routing_spec.rb +0 -0
- data/{example → examples/rails-5.0}/spec/spec_helper.rb +0 -0
- data/{example → examples/rails-5.0}/spec/support/controller_macros.rb +2 -2
- data/{example → examples/rails-5.0}/spec/support/devise.rb +0 -0
- data/{example → examples/rails-5.0}/spec/support/field_assertions.rb +0 -0
- data/{example → examples/rails-5.0}/spec/support/time_match_support.rb +0 -0
- data/{example → examples/rails-5.0}/spec/views/attached_files/edit.html.erb_spec.rb +5 -5
- data/examples/rails-5.0/spec/views/attached_files/index.html.erb_spec.rb +22 -0
- data/{example → examples/rails-5.0}/spec/views/attached_files/new.html.erb_spec.rb +5 -5
- data/examples/rails-5.0/spec/views/attached_files/show.html.erb_spec.rb +19 -0
- data/{example → examples/rails-5.0}/spec/views/issue_comments/edit.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/issue_comments/index.html.erb_spec.rb +5 -5
- data/{example → examples/rails-5.0}/spec/views/issue_comments/new.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/issue_comments/show.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/issues/edit.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/issues/index.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/issues/new.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/issues/show.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/phases/edit.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/phases/index.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/phases/new.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/phases/show.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/project_assignments/edit.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/project_assignments/index.html.erb_spec.rb +4 -4
- data/{example → examples/rails-5.0}/spec/views/project_assignments/new.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/project_assignments/show.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/projects/edit.html.erb_spec.rb +2 -2
- data/{example → examples/rails-5.0}/spec/views/projects/index.html.erb_spec.rb +3 -3
- data/{example → examples/rails-5.0}/spec/views/projects/new.html.erb_spec.rb +2 -2
- data/{example → examples/rails-5.0}/spec/views/projects/show.html.erb_spec.rb +2 -2
- data/examples/rails-5.0/tmp/.keep +0 -0
- data/examples/rails-5.1/.gitignore +4 -0
- data/examples/rails-5.1/.model_base +1 -0
- data/examples/rails-5.1/.rspec +2 -0
- data/examples/rails-5.1/Gemfile +87 -0
- data/examples/rails-5.1/Gemfile.lock +361 -0
- data/examples/rails-5.1/README.md +24 -0
- data/examples/rails-5.1/Rakefile +6 -0
- data/examples/rails-5.1/app/assets/config/manifest.js +3 -0
- data/examples/rails-5.1/app/assets/images/.keep +0 -0
- data/examples/rails-5.1/app/assets/javascripts/application.js +15 -0
- data/examples/rails-5.1/app/assets/javascripts/bootstrap.js.coffee +3 -0
- data/examples/rails-5.1/app/assets/javascripts/cable.js +13 -0
- data/examples/rails-5.1/app/assets/javascripts/channels/.keep +0 -0
- data/examples/rails-5.1/app/assets/stylesheets/application.css +15 -0
- data/examples/rails-5.1/app/assets/stylesheets/bootstrap_and_overrides.css +6 -0
- data/examples/rails-5.1/app/channels/application_cable/channel.rb +4 -0
- data/examples/rails-5.1/app/channels/application_cable/connection.rb +4 -0
- data/examples/rails-5.1/app/controllers/application_controller.rb +3 -0
- data/examples/rails-5.1/app/controllers/attached_files_controller.rb +63 -0
- data/examples/rails-5.1/app/controllers/concerns/.keep +0 -0
- data/examples/rails-5.1/app/controllers/concerns/authentication.rb +13 -0
- data/examples/rails-5.1/app/controllers/issue_comments_controller.rb +63 -0
- data/examples/rails-5.1/app/controllers/issues_controller.rb +63 -0
- data/examples/rails-5.1/app/controllers/phases_controller.rb +63 -0
- data/examples/rails-5.1/app/controllers/project_assignments_controller.rb +63 -0
- data/examples/rails-5.1/app/controllers/projects_controller.rb +63 -0
- data/examples/rails-5.1/app/helpers/application_helper.rb +2 -0
- data/examples/rails-5.1/app/helpers/attached_files_helper.rb +3 -0
- data/examples/rails-5.1/app/helpers/issue_comments_helper.rb +3 -0
- data/examples/rails-5.1/app/helpers/issues_helper.rb +3 -0
- data/examples/rails-5.1/app/helpers/phases_helper.rb +3 -0
- data/examples/rails-5.1/app/helpers/project_assignments_helper.rb +3 -0
- data/examples/rails-5.1/app/helpers/projects_helper.rb +3 -0
- data/examples/rails-5.1/app/jobs/application_job.rb +2 -0
- data/examples/rails-5.1/app/mailers/application_mailer.rb +4 -0
- data/examples/rails-5.1/app/models +1 -0
- data/examples/rails-5.1/app/validations +1 -0
- data/examples/rails-5.1/app/views/attached_files/_attached_file.json.jbuilder +2 -0
- data/examples/rails-5.1/app/views/attached_files/_form.html.erb +48 -0
- data/examples/rails-5.1/app/views/attached_files/_table.html.erb +31 -0
- data/examples/rails-5.1/app/views/attached_files/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/attached_files/index.html.erb +9 -0
- data/examples/rails-5.1/app/views/attached_files/index.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/attached_files/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/attached_files/show.html.erb +27 -0
- data/examples/rails-5.1/app/views/attached_files/show.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/issue_comments/_form.html.erb +55 -0
- data/{example → examples/rails-5.1}/app/views/issue_comments/_issue_comment.json.jbuilder +0 -0
- data/examples/rails-5.1/app/views/issue_comments/_table.html.erb +33 -0
- data/examples/rails-5.1/app/views/issue_comments/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/issue_comments/index.html.erb +9 -0
- data/{example → examples/rails-5.1}/app/views/issue_comments/index.json.jbuilder +0 -0
- data/examples/rails-5.1/app/views/issue_comments/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/issue_comments/show.html.erb +29 -0
- data/examples/rails-5.1/app/views/issue_comments/show.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/issues/_form.html.erb +62 -0
- data/examples/rails-5.1/app/views/issues/_issue.json.jbuilder +2 -0
- data/examples/rails-5.1/app/views/issues/_table.html.erb +35 -0
- data/examples/rails-5.1/app/views/issues/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/issues/index.html.erb +9 -0
- data/examples/rails-5.1/app/views/issues/index.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/issues/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/issues/show.html.erb +31 -0
- data/examples/rails-5.1/app/views/issues/show.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/kaminari/_first_page.html.erb +3 -0
- data/examples/rails-5.1/app/views/kaminari/_gap.html.erb +3 -0
- data/examples/rails-5.1/app/views/kaminari/_last_page.html.erb +3 -0
- data/examples/rails-5.1/app/views/kaminari/_next_page.html.erb +3 -0
- data/examples/rails-5.1/app/views/kaminari/_page.html.erb +9 -0
- data/examples/rails-5.1/app/views/kaminari/_paginator.html.erb +15 -0
- data/examples/rails-5.1/app/views/kaminari/_prev_page.html.erb +3 -0
- data/examples/rails-5.1/app/views/layouts/application.html.erb +65 -0
- data/examples/rails-5.1/app/views/layouts/mailer.html.erb +13 -0
- data/examples/rails-5.1/app/views/layouts/mailer.text.erb +1 -0
- data/examples/rails-5.1/app/views/phases/_form.html.erb +55 -0
- data/examples/rails-5.1/app/views/phases/_phase.json.jbuilder +2 -0
- data/examples/rails-5.1/app/views/phases/_table.html.erb +31 -0
- data/examples/rails-5.1/app/views/phases/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/phases/index.html.erb +9 -0
- data/examples/rails-5.1/app/views/phases/index.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/phases/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/phases/show.html.erb +25 -0
- data/examples/rails-5.1/app/views/phases/show.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/project_assignments/_form.html.erb +62 -0
- data/examples/rails-5.1/app/views/project_assignments/_project_assignment.json.jbuilder +2 -0
- data/examples/rails-5.1/app/views/project_assignments/_table.html.erb +35 -0
- data/examples/rails-5.1/app/views/project_assignments/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/project_assignments/index.html.erb +9 -0
- data/examples/rails-5.1/app/views/project_assignments/index.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/project_assignments/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/project_assignments/show.html.erb +29 -0
- data/examples/rails-5.1/app/views/project_assignments/show.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/projects/_form.html.erb +48 -0
- data/examples/rails-5.1/app/views/projects/_project.json.jbuilder +2 -0
- data/examples/rails-5.1/app/views/projects/_table.html.erb +29 -0
- data/examples/rails-5.1/app/views/projects/edit.html.erb +5 -0
- data/examples/rails-5.1/app/views/projects/index.html.erb +9 -0
- data/examples/rails-5.1/app/views/projects/index.json.jbuilder +1 -0
- data/examples/rails-5.1/app/views/projects/new.html.erb +5 -0
- data/examples/rails-5.1/app/views/projects/show.html.erb +23 -0
- data/examples/rails-5.1/app/views/projects/show.json.jbuilder +1 -0
- data/examples/rails-5.1/bin/bundle +3 -0
- data/examples/rails-5.1/bin/rails +9 -0
- data/examples/rails-5.1/bin/rake +9 -0
- data/examples/rails-5.1/bin/setup +38 -0
- data/examples/rails-5.1/bin/spring +17 -0
- data/examples/rails-5.1/bin/update +29 -0
- data/examples/rails-5.1/bin/yarn +11 -0
- data/examples/rails-5.1/config.ru +5 -0
- data/examples/rails-5.1/config/application.rb +31 -0
- data/examples/rails-5.1/config/boot.rb +3 -0
- data/examples/rails-5.1/config/cable.yml +10 -0
- data/examples/rails-5.1/config/database.yml +25 -0
- data/examples/rails-5.1/config/environment.rb +5 -0
- data/examples/rails-5.1/config/environments/development.rb +79 -0
- data/examples/rails-5.1/config/environments/production.rb +91 -0
- data/examples/rails-5.1/config/environments/test.rb +42 -0
- data/examples/rails-5.1/config/initializers/application_controller_renderer.rb +8 -0
- data/examples/rails-5.1/config/initializers/assets.rb +14 -0
- data/examples/rails-5.1/config/initializers/backtrace_silencers.rb +7 -0
- data/examples/rails-5.1/config/initializers/cookies_serializer.rb +5 -0
- data/examples/rails-5.1/config/initializers/devise.rb +279 -0
- data/examples/rails-5.1/config/initializers/filter_parameter_logging.rb +4 -0
- data/examples/rails-5.1/config/initializers/inflections.rb +16 -0
- data/examples/rails-5.1/config/initializers/mime_types.rb +4 -0
- data/examples/rails-5.1/config/initializers/wrap_parameters.rb +14 -0
- data/examples/rails-5.1/config/locales/devise.en.yml +64 -0
- data/examples/rails-5.1/config/locales/en.bootstrap.yml +23 -0
- data/examples/rails-5.1/config/locales/en.yml +33 -0
- data/examples/rails-5.1/config/locales/ja.devise.yml +60 -0
- data/examples/rails-5.1/config/locales/ja.yml +205 -0
- data/examples/rails-5.1/config/puma.rb +56 -0
- data/examples/rails-5.1/config/routes.rb +10 -0
- data/examples/rails-5.1/config/secrets.yml +32 -0
- data/examples/rails-5.1/config/spring.rb +6 -0
- data/examples/rails-5.1/db/schema.rb +1 -0
- data/examples/rails-5.1/lib/assets/.keep +0 -0
- data/examples/rails-5.1/lib/tasks/.keep +0 -0
- data/examples/rails-5.1/log/.keep +0 -0
- data/examples/rails-5.1/package.json +5 -0
- data/examples/rails-5.1/public/404.html +67 -0
- data/examples/rails-5.1/public/422.html +67 -0
- data/examples/rails-5.1/public/500.html +66 -0
- data/examples/rails-5.1/public/apple-touch-icon-precomposed.png +0 -0
- data/examples/rails-5.1/public/apple-touch-icon.png +0 -0
- data/examples/rails-5.1/public/favicon.ico +0 -0
- data/examples/rails-5.1/public/robots.txt +1 -0
- data/examples/rails-5.1/spec/controllers/attached_files_controller_spec.rb +181 -0
- data/examples/rails-5.1/spec/controllers/issue_comments_controller_spec.rb +179 -0
- data/examples/rails-5.1/spec/controllers/issues_controller_spec.rb +181 -0
- data/examples/rails-5.1/spec/controllers/phases_controller_spec.rb +183 -0
- data/examples/rails-5.1/spec/controllers/project_assignments_controller_spec.rb +178 -0
- data/examples/rails-5.1/spec/controllers/projects_controller_spec.rb +180 -0
- data/examples/rails-5.1/spec/factories +1 -0
- data/examples/rails-5.1/spec/helpers/attached_files_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/helpers/issue_comments_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/helpers/issues_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/helpers/phases_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/helpers/project_assignments_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/helpers/projects_helper_spec.rb +15 -0
- data/examples/rails-5.1/spec/models/user_spec.rb +5 -0
- data/examples/rails-5.1/spec/rails_helper.rb +69 -0
- data/examples/rails-5.1/spec/requests/attached_files_spec.rb +14 -0
- data/examples/rails-5.1/spec/requests/issue_comments_spec.rb +14 -0
- data/examples/rails-5.1/spec/requests/issues_spec.rb +14 -0
- data/examples/rails-5.1/spec/requests/phases_spec.rb +14 -0
- data/examples/rails-5.1/spec/requests/project_assignments_spec.rb +14 -0
- data/examples/rails-5.1/spec/requests/projects_spec.rb +14 -0
- data/examples/rails-5.1/spec/routing/attached_files_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/routing/issue_comments_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/routing/issues_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/routing/phases_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/routing/project_assignments_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/routing/projects_routing_spec.rb +38 -0
- data/examples/rails-5.1/spec/spec_helper.rb +96 -0
- data/examples/rails-5.1/spec/support/controller_macros.rb +19 -0
- data/examples/rails-5.1/spec/support/devise.rb +19 -0
- data/examples/rails-5.1/spec/support/field_assertions.rb +6 -0
- data/examples/rails-5.1/spec/support/time_match_support.rb +10 -0
- data/examples/rails-5.1/spec/views/attached_files/edit.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/attached_files/index.html.erb_spec.rb +22 -0
- data/examples/rails-5.1/spec/views/attached_files/new.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/attached_files/show.html.erb_spec.rb +19 -0
- data/examples/rails-5.1/spec/views/issue_comments/edit.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/issue_comments/index.html.erb_spec.rb +22 -0
- data/examples/rails-5.1/spec/views/issue_comments/new.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/issue_comments/show.html.erb_spec.rb +19 -0
- data/examples/rails-5.1/spec/views/issues/edit.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/issues/index.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/issues/new.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/issues/show.html.erb_spec.rb +20 -0
- data/examples/rails-5.1/spec/views/phases/edit.html.erb_spec.rb +22 -0
- data/examples/rails-5.1/spec/views/phases/index.html.erb_spec.rb +22 -0
- data/examples/rails-5.1/spec/views/phases/new.html.erb_spec.rb +22 -0
- data/examples/rails-5.1/spec/views/phases/show.html.erb_spec.rb +19 -0
- data/examples/rails-5.1/spec/views/project_assignments/edit.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/project_assignments/index.html.erb_spec.rb +21 -0
- data/examples/rails-5.1/spec/views/project_assignments/new.html.erb_spec.rb +23 -0
- data/examples/rails-5.1/spec/views/project_assignments/show.html.erb_spec.rb +19 -0
- data/examples/rails-5.1/spec/views/projects/edit.html.erb_spec.rb +20 -0
- data/examples/rails-5.1/spec/views/projects/index.html.erb_spec.rb +20 -0
- data/examples/rails-5.1/spec/views/projects/new.html.erb_spec.rb +20 -0
- data/examples/rails-5.1/spec/views/projects/show.html.erb_spec.rb +17 -0
- data/examples/rails-5.1/test/application_system_test_case.rb +5 -0
- data/examples/rails-5.1/test/controllers/.keep +0 -0
- data/examples/rails-5.1/test/fixtures/.keep +0 -0
- data/examples/rails-5.1/test/fixtures/files/.keep +0 -0
- data/examples/rails-5.1/test/helpers/.keep +0 -0
- data/examples/rails-5.1/test/integration/.keep +0 -0
- data/examples/rails-5.1/test/mailers/.keep +0 -0
- data/examples/rails-5.1/test/models/.keep +0 -0
- data/examples/rails-5.1/test/system/.keep +0 -0
- data/examples/rails-5.1/test/test_helper.rb +9 -0
- data/examples/rails-5.1/tmp/.keep +0 -0
- data/examples/rails-5.1/vendor/.keep +0 -0
- data/lib/generators/model_base/templates/spec/factories/users.rb +1 -1
- data/lib/generators/model_base/templates/spec/support/controller_macros.rb +2 -2
- data/lib/model_base/generators.rb +4 -4
- data/lib/model_base/generators/{factory_girl → factory_bot}/model.rb +8 -8
- data/lib/model_base/meta_model.rb +12 -12
- data/lib/model_base/version.rb +1 -1
- data/lib/templates/{factory_girl → factory_bot}/factory.rb +2 -2
- data/lib/templates/rspec/integration/request_spec.rb +1 -1
- data/lib/templates/rspec/scaffold/controller_spec.rb +3 -3
- data/lib/templates/rspec/scaffold/edit_spec.rb +2 -2
- data/lib/templates/rspec/scaffold/index_spec.rb +3 -3
- data/lib/templates/rspec/scaffold/new_spec.rb +2 -2
- data/lib/templates/rspec/scaffold/show_spec.rb +2 -2
- data/model_base_generators.gemspec +1 -0
- data/rails_template.rb +26 -10
- metadata +435 -206
- data/example/app/views/issue_comments/show.json.jbuilder +0 -1
- data/example/spec/views/attached_files/index.html.erb_spec.rb +0 -22
- data/example/spec/views/attached_files/show.html.erb_spec.rb +0 -19
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'project_assignments/index', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.create(:project, owner: user) }
|
7
|
+
before(:each) do
|
8
|
+
assign(:project_assignments, [
|
9
|
+
FactoryBot.create(:project_assignment, project: project, user: user),
|
10
|
+
FactoryBot.create(:project_assignment, project: project, user: user),
|
11
|
+
])
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'renders a list of project_assignments' do
|
15
|
+
render
|
16
|
+
assert_select 'tr>td', text: 'project1', count: 2
|
17
|
+
assert_select 'tr>td', text: 'user1@example.com', count: 2
|
18
|
+
assert_select 'tr>td', text: localize(Time.zone.parse('2020-03-22 09:50:00 +09:00')), count: 2
|
19
|
+
assert_select 'tr>td', text: localize(Time.zone.parse('2020-03-22 23:40:00 +09:00')), count: 2
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'project_assignments/new', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.create(:project, owner: user) }
|
7
|
+
let(:project_assignment) { FactoryBot.build(:project_assignment, project: project, user: user) }
|
8
|
+
before(:each) do
|
9
|
+
assign(:project_assignment, project_assignment)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'renders new project_assignment form' do
|
13
|
+
render
|
14
|
+
|
15
|
+
assert_select 'form[action=?][method=?]', project_assignments_path, 'post' do
|
16
|
+
assert_select 'input#project_assignment_id[name=?]', 'project_assignment[id]'
|
17
|
+
assert_select 'select#project_assignment_project_id[name=?]', 'project_assignment[project_id]'
|
18
|
+
assert_select 'select#project_assignment_user_id[name=?]', 'project_assignment[user_id]'
|
19
|
+
assert_select_datetime_field :project_assignment, :started_at
|
20
|
+
assert_select_datetime_field :project_assignment, :finished_at
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'project_assignments/show', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.create(:project, owner: user) }
|
7
|
+
let(:project_assignment) { FactoryBot.create(:project_assignment, project: project, user: user) }
|
8
|
+
before(:each) do
|
9
|
+
assign(:project_assignment, project_assignment)
|
10
|
+
end
|
11
|
+
|
12
|
+
it 'renders attributes in <p>' do
|
13
|
+
render
|
14
|
+
expect(rendered).to match(/project1/)
|
15
|
+
expect(rendered).to match(/user1@example.com/)
|
16
|
+
expect(rendered).to match(localized_time_re('2020-03-22 09:50:00 +09:00'))
|
17
|
+
expect(rendered).to match(localized_time_re('2020-03-22 23:40:00 +09:00'))
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'projects/edit', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.create(:project, owner: user) }
|
7
|
+
before(:each) do
|
8
|
+
assign(:project, project)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders the edit project form' do
|
12
|
+
render
|
13
|
+
|
14
|
+
assert_select 'form[action=?][method=?]', project_path(project), 'post' do
|
15
|
+
assert_select 'select#project_owner_id[name=?]', 'project[owner_id]'
|
16
|
+
assert_select 'input#project_name[name=?]', 'project[name]'
|
17
|
+
assert_select 'input#project_closed[name=?]', 'project[closed]'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'projects/index', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
before(:each) do
|
7
|
+
assign(:projects, [
|
8
|
+
FactoryBot.create(:project, owner: user, name: 'project1'),
|
9
|
+
FactoryBot.create(:project, owner: user, name: 'project2'),
|
10
|
+
])
|
11
|
+
end
|
12
|
+
|
13
|
+
it 'renders a list of projects' do
|
14
|
+
render
|
15
|
+
assert_select 'tr>td', text: 'user1@example.com', count: 2
|
16
|
+
assert_select 'tr>td', text: 'project1', count: 1
|
17
|
+
assert_select 'tr>td', text: 'project2', count: 1
|
18
|
+
assert_select 'tr>td', text: 'false', count: 2
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'projects/new', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.build(:project, owner: user) }
|
7
|
+
before(:each) do
|
8
|
+
assign(:project, project)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders new project form' do
|
12
|
+
render
|
13
|
+
|
14
|
+
assert_select 'form[action=?][method=?]', projects_path, 'post' do
|
15
|
+
assert_select 'select#project_owner_id[name=?]', 'project[owner_id]'
|
16
|
+
assert_select 'input#project_name[name=?]', 'project[name]'
|
17
|
+
assert_select 'input#project_closed[name=?]', 'project[closed]'
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'rails_helper'
|
3
|
+
|
4
|
+
RSpec.describe 'projects/show', type: :view do
|
5
|
+
let(:user) { FactoryBot.create(:user) }
|
6
|
+
let(:project) { FactoryBot.create(:project, owner: user) }
|
7
|
+
before(:each) do
|
8
|
+
assign(:project, project)
|
9
|
+
end
|
10
|
+
|
11
|
+
it 'renders attributes in <p>' do
|
12
|
+
render
|
13
|
+
expect(rendered).to match(/user1@example.com/)
|
14
|
+
expect(rendered).to match(/project1/)
|
15
|
+
expect(rendered).to match(/false/)
|
16
|
+
end
|
17
|
+
end
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -0,0 +1,9 @@
|
|
1
|
+
require File.expand_path('../../config/environment', __FILE__)
|
2
|
+
require 'rails/test_help'
|
3
|
+
|
4
|
+
class ActiveSupport::TestCase
|
5
|
+
# Setup all fixtures in test/fixtures/*.yml for all tests in alphabetical order.
|
6
|
+
fixtures :all
|
7
|
+
|
8
|
+
# Add more helper methods to be used by all tests here...
|
9
|
+
end
|
File without changes
|
File without changes
|
@@ -1,7 +1,7 @@
|
|
1
1
|
<%- unless ModelBase.config.frozen_string_literal.nil? -%>
|
2
2
|
# frozen_string_literal: <%= ModelBase.config.frozen_string_literal.inspect %>
|
3
3
|
<%- end -%>
|
4
|
-
|
4
|
+
FactoryBot.define do
|
5
5
|
factory :user do
|
6
6
|
email 'user1@example.com'
|
7
7
|
before(:create) do |u|
|
@@ -12,10 +12,10 @@ module ControllerMacros
|
|
12
12
|
end
|
13
13
|
|
14
14
|
def login_admin
|
15
|
-
before(:each) { devise_login(:admin,
|
15
|
+
before(:each) { devise_login(:admin, FactoryBot.create(:admin)) }
|
16
16
|
end
|
17
17
|
|
18
18
|
def login_user
|
19
|
-
before(:each) { devise_login(:user,
|
19
|
+
before(:each) { devise_login(:user, FactoryBot.create(:user)) }
|
20
20
|
end
|
21
21
|
end
|
@@ -8,8 +8,8 @@ module ModelBase
|
|
8
8
|
autoload :Scaffold, 'model_base/generators/erb/scaffold'
|
9
9
|
end
|
10
10
|
|
11
|
-
module
|
12
|
-
autoload :Model, 'model_base/generators/
|
11
|
+
module FactoryBot
|
12
|
+
autoload :Model, 'model_base/generators/factory_bot/model'
|
13
13
|
end
|
14
14
|
|
15
15
|
module Rails
|
@@ -21,10 +21,10 @@ module ModelBase
|
|
21
21
|
::Rails::Generators::NamedBase.prepend(ModelSupport)
|
22
22
|
templates_dir = File::expand_path('../../templates', __FILE__)
|
23
23
|
::Rails::Generators.templates_path.unshift(templates_dir)
|
24
|
-
::Rails::Generators.lookup
|
24
|
+
::Rails::Generators.send(:lookup, ["rails:scaffold_controller"])
|
25
25
|
::Rails::Generators::ScaffoldControllerGenerator.source_paths.unshift(templates_dir)
|
26
26
|
Erb::Scaffold.enable!
|
27
|
-
|
27
|
+
FactoryBot::Model.enable!
|
28
28
|
Rails::ScaffoldController.enable!
|
29
29
|
end
|
30
30
|
end
|
@@ -1,23 +1,23 @@
|
|
1
1
|
require "model_base"
|
2
2
|
|
3
|
-
require 'generators/
|
3
|
+
require 'generators/factory_bot/model/model_generator'
|
4
4
|
|
5
5
|
module ModelBase
|
6
6
|
module Generators
|
7
|
-
module
|
7
|
+
module FactoryBot
|
8
8
|
|
9
9
|
module Model
|
10
10
|
def self.enable!
|
11
|
-
::
|
12
|
-
::
|
13
|
-
::
|
14
|
-
source_root File.expand_path("../../../../templates/
|
11
|
+
::FactoryBot::Generators::ModelGenerator.prepend(self)
|
12
|
+
::FactoryBot::Generators::ModelGenerator.extend(ClassMethod)
|
13
|
+
::FactoryBot::Generators::ModelGenerator.instance_eval do
|
14
|
+
source_root File.expand_path("../../../../templates/factory_bot", __FILE__)
|
15
15
|
end
|
16
16
|
end
|
17
17
|
|
18
18
|
module ClassMethod
|
19
|
-
# To overwrite `source_root` again, which is overwritten by
|
20
|
-
# https://github.com/thoughtbot/
|
19
|
+
# To overwrite `source_root` again, which is overwritten by factory_bot_rails
|
20
|
+
# https://github.com/thoughtbot/factory_bot_rails/blob/master/lib/generators/factory_bot.rb#L6-L8
|
21
21
|
# https://github.com/rails/rails/blob/master/railties/lib/rails/generators/base.rb#L22-L26
|
22
22
|
def source_root(path=nil)
|
23
23
|
@_source_root = path if path
|
@@ -111,35 +111,35 @@ module ModelBase
|
|
111
111
|
dependencies.values.map{|m| [m] + m.all_dependencies(required)}.flatten.uniq(&:name)
|
112
112
|
end
|
113
113
|
|
114
|
-
def
|
114
|
+
def factory_bot_options
|
115
115
|
dependencies.map{|attr, model| "#{attr}: #{model.full_resource_name}" }
|
116
116
|
end
|
117
117
|
|
118
|
-
def
|
118
|
+
def factory_bot_method(name, extra)
|
119
119
|
extra_str = extra.blank? ? '' : ', ' << extra.map{|k,v| "#{k}: '#{v}'"}.join(', ')
|
120
|
-
options =
|
121
|
-
options_str = options.empty? ? '' : ', ' <<
|
122
|
-
'
|
120
|
+
options = factory_bot_options
|
121
|
+
options_str = options.empty? ? '' : ', ' << factory_bot_options.join(', ')
|
122
|
+
'FactoryBot.%s(:%s%s%s)' % [name, full_resource_name, options_str, extra_str]
|
123
123
|
end
|
124
124
|
|
125
|
-
def
|
125
|
+
def factory_bot_to(name, context: nil, index: 1, extra: {})
|
126
126
|
case context
|
127
127
|
when :spec_index
|
128
128
|
columns_for(:spec_index).delete_if(&:single_sample_only?).delete_if(&:reference).each do |col|
|
129
129
|
extra[col.name] = col.sample_value(index)
|
130
130
|
end
|
131
131
|
end
|
132
|
-
|
132
|
+
factory_bot_method(name, extra)
|
133
133
|
end
|
134
134
|
|
135
|
-
def
|
136
|
-
'let(:%s) { %s }' % [full_resource_name,
|
135
|
+
def factory_bot_let_definition(action: :create)
|
136
|
+
'let(:%s) { %s }' % [full_resource_name, factory_bot_to(action)]
|
137
137
|
end
|
138
138
|
|
139
|
-
def
|
139
|
+
def factory_bot_let_definitions(spacer = " ")
|
140
140
|
deps = all_dependencies
|
141
|
-
r = deps.reverse.map(&:
|
142
|
-
r << "let(:user){
|
141
|
+
r = deps.reverse.map(&:factory_bot_let_definition)
|
142
|
+
r << "let(:user){ FactoryBot.create(:user) }" unless deps.any?{|m| m.full_resource_name == 'user' }
|
143
143
|
r.join("\n" << spacer)
|
144
144
|
end
|
145
145
|
|
data/lib/model_base/version.rb
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
<%- end -%>
|
4
4
|
<%- columns = model.columns_for(:factory) rescue nil-%>
|
5
5
|
<%- if columns -%>
|
6
|
-
|
6
|
+
FactoryBot.define do
|
7
7
|
factory :<%= model.full_resource_name %> do
|
8
8
|
<%- model.columns_for(:factory).each do |col| -%>
|
9
9
|
<%- if col.reference -%>
|
@@ -19,7 +19,7 @@ FactoryGirl.define do
|
|
19
19
|
end
|
20
20
|
end
|
21
21
|
<%- else -%>
|
22
|
-
|
22
|
+
FactoryBot.define do
|
23
23
|
factory :<%= singular_table_name %><%= explicit_class_option %> do
|
24
24
|
<%- attributes.map do |attribute| -%>
|
25
25
|
<%= attribute.name %> <%= attribute.default.inspect %>
|
@@ -4,7 +4,7 @@
|
|
4
4
|
require 'rails_helper'
|
5
5
|
|
6
6
|
RSpec.describe '<%= class_name.pluralize %>', <%= type_metatag(:request) %> do
|
7
|
-
let(:user) {
|
7
|
+
let(:user) { FactoryBot.create(:user) }
|
8
8
|
before { login_as(user, scope: :user) }
|
9
9
|
|
10
10
|
describe 'GET /<%= table_name %>' do
|
@@ -32,21 +32,21 @@ RSpec.describe <%= controller_class_name %>Controller, <%= type_metatag(:control
|
|
32
32
|
required_ref_attrs = model.columns_for(:params).select{|attr| attr.reference && attr.required? }
|
33
33
|
required_data_attrs = model.columns_for(:params).select{|attr| !attr.reference && attr.required? }
|
34
34
|
-%>
|
35
|
-
<%= model.
|
35
|
+
<%= model.factory_bot_let_definitions %>
|
36
36
|
<%-
|
37
37
|
unless required_ref_attrs.empty?
|
38
38
|
extra_attributes_to_merge = ".merge(%s)" % required_ref_attrs.map{|attr| "#{attr.name}: #{attr.ref_model.full_resource_name}.id"}.join(', ')
|
39
39
|
extra_attributes_for_factory = ", %s" % required_ref_attrs.map{|attr| "#{attr.reference.name}: #{attr.ref_model.full_resource_name}"}.join(', ')
|
40
40
|
end
|
41
41
|
-%>
|
42
|
-
let(:<%= file_name %>) {
|
42
|
+
let(:<%= file_name %>) { FactoryBot.create(:<%= file_name %><%= extra_attributes_for_factory %>) }
|
43
43
|
before { devise_user_login(user) }
|
44
44
|
|
45
45
|
# This should return the minimal set of attributes required to create a valid
|
46
46
|
# <%= class_name %>. As you add validations to <%= class_name %>, be sure to
|
47
47
|
# adjust the attributes here as well.
|
48
48
|
let(:valid_parameters) do
|
49
|
-
|
49
|
+
FactoryBot.attributes_for(:<%= file_name %>)<%= extra_attributes_to_merge %>
|
50
50
|
end
|
51
51
|
|
52
52
|
let(:invalid_parameters) do
|
@@ -4,8 +4,8 @@
|
|
4
4
|
require 'rails_helper'
|
5
5
|
|
6
6
|
RSpec.describe '<%= ns_table_name %>/edit', <%= type_metatag(:view) %> do
|
7
|
-
<%= model.
|
8
|
-
<%= model.
|
7
|
+
<%= model.factory_bot_let_definitions %>
|
8
|
+
<%= model.factory_bot_let_definition %>
|
9
9
|
before(:each) do
|
10
10
|
assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
|
11
11
|
end
|
@@ -5,14 +5,14 @@ require 'rails_helper'
|
|
5
5
|
|
6
6
|
<% output_attributes = model.columns.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
7
7
|
RSpec.describe '<%= ns_table_name %>/index', <%= type_metatag(:view) %> do
|
8
|
-
<%= model.
|
8
|
+
<%= model.factory_bot_let_definitions %>
|
9
9
|
before(:each) do
|
10
10
|
assign(:<%= table_name %>, [
|
11
11
|
<% [1,2].each_with_index do |id, model_index| -%>
|
12
12
|
<%- if tc = model.title_column -%>
|
13
|
-
<%= model.
|
13
|
+
<%= model.factory_bot_to(:create, extra: {tc.name.to_sym => tc.sample_value(model_index + 1)}) %>,
|
14
14
|
<%- else -%>
|
15
|
-
<%= model.
|
15
|
+
<%= model.factory_bot_to(:create, context: :spec_index, index: id, ) %>,
|
16
16
|
<%- end -%>
|
17
17
|
<% end -%>
|
18
18
|
])
|
@@ -5,8 +5,8 @@ require 'rails_helper'
|
|
5
5
|
|
6
6
|
<% output_attributes = model.columns.reject{|attribute| [:datetime, :timestamp, :time, :date].index(attribute.type) } -%>
|
7
7
|
RSpec.describe '<%= ns_table_name %>/new', <%= type_metatag(:view) %> do
|
8
|
-
<%= model.
|
9
|
-
<%= model.
|
8
|
+
<%= model.factory_bot_let_definitions %>
|
9
|
+
<%= model.factory_bot_let_definition(action: :build) %>
|
10
10
|
before(:each) do
|
11
11
|
assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
|
12
12
|
end
|
@@ -4,8 +4,8 @@
|
|
4
4
|
require 'rails_helper'
|
5
5
|
|
6
6
|
RSpec.describe '<%= ns_table_name %>/show', <%= type_metatag(:view) %> do
|
7
|
-
<%= model.
|
8
|
-
<%= model.
|
7
|
+
<%= model.factory_bot_let_definitions %>
|
8
|
+
<%= model.factory_bot_let_definition %>
|
9
9
|
before(:each) do
|
10
10
|
assign(:<%= model.full_resource_name %>, <%= model.full_resource_name %>)
|
11
11
|
end
|
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
|
|
21
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
|
+
# When you add dependency, add them to Gemfiles/*
|
24
25
|
spec.add_runtime_dependency "rails"
|
25
26
|
|
26
27
|
spec.add_development_dependency "bundler", "~> 1.13"
|