Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Multiple Resources in an Extension - Generator Conflicts #1532

Closed
jeffutter opened this issue Mar 29, 2012 · 9 comments
Closed

Multiple Resources in an Extension - Generator Conflicts #1532

jeffutter opened this issue Mar 29, 2012 · 9 comments
Assignees

Comments

@jeffutter
Copy link

It seems that the generators aren't naming seeds.db and generator.rb correctly so that you can generate multiple resources for an extensions. Below are the commands I'm running that run into this issue.

$ rails generate refinery:engine gallery title:string description:text
      create  vendor/extensions/galleries/Gemfile
      create  vendor/extensions/galleries/Guardfile
      create  vendor/extensions/galleries/Rakefile
      create  vendor/extensions/galleries/app/controllers/refinery/galleries/admin/galleries_controller.rb
      create  vendor/extensions/galleries/app/controllers/refinery/galleries/galleries_controller.rb
      create  vendor/extensions/galleries/app/models/refinery/galleries/gallery.rb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_actions.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_form.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_galleries.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_records.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_gallery.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/_sortable_list.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/edit.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/index.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/admin/galleries/new.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/galleries/index.html.erb
      create  vendor/extensions/galleries/app/views/refinery/galleries/galleries/show.html.erb
      create  vendor/extensions/galleries/config/locales/en.yml
      create  vendor/extensions/galleries/config/locales/es.yml
      create  vendor/extensions/galleries/config/locales/fr.yml
      create  vendor/extensions/galleries/config/locales/nb.yml
      create  vendor/extensions/galleries/config/locales/nl.yml
      create  vendor/extensions/galleries/config/routes.rb
      create  vendor/extensions/galleries/db/migrate/1_create_galleries_galleries.rb
      create  vendor/extensions/galleries/db/seeds.rb
      create  vendor/extensions/galleries/lib/generators/refinery/galleries_generator.rb
      create  vendor/extensions/galleries/lib/refinery/galleries/engine.rb
      create  vendor/extensions/galleries/lib/refinery/galleries.rb
      create  vendor/extensions/galleries/lib/refinerycms-galleries.rb
      create  vendor/extensions/galleries/lib/tasks/refinery/galleries.rake
      create  vendor/extensions/galleries/readme.md
      create  vendor/extensions/galleries/refinerycms-galleries.gemspec
      create  vendor/extensions/galleries/spec/models/refinery/galleries/gallery_spec.rb
      create  vendor/extensions/galleries/spec/requests/refinery/galleries/admin/galleries_spec.rb
      create  vendor/extensions/galleries/spec/spec_helper.rb
      create  vendor/extensions/galleries/spec/support/factories/refinery/galleries.rb
      create  vendor/extensions/galleries/tasks/rspec.rake
      create  vendor/extensions/galleries/tasks/testing.rake
      append  Gemfile
------------------------
Now run:
bundle install
rails generate refinery:galleries
rake db:migrate
rake db:seed
------------------------
$ rails g refinery:engine item name:string price:integer description:text image:image size:string --extension galleries
   identical  vendor/extensions/galleries/Gemfile
   identical  vendor/extensions/galleries/Guardfile
   identical  vendor/extensions/galleries/Rakefile
      create  vendor/extensions/galleries/app/controllers/refinery/items/admin/items_controller.rb
      create  vendor/extensions/galleries/app/controllers/refinery/items/items_controller.rb
      create  vendor/extensions/galleries/app/models/refinery/items/item.rb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_actions.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_form.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_items.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_records.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_item.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/_sortable_list.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/edit.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/index.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/admin/items/new.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/items/index.html.erb
      create  vendor/extensions/galleries/app/views/refinery/items/items/show.html.erb
      create  vendor/extensions/galleries/config/locales/tmp/en.yml
      create  vendor/extensions/galleries/config/locales/tmp/es.yml
      create  vendor/extensions/galleries/config/locales/tmp/fr.yml
      create  vendor/extensions/galleries/config/locales/tmp/nb.yml
      create  vendor/extensions/galleries/config/locales/tmp/nl.yml
      create  vendor/extensions/galleries/config/tmp/routes.rb
      create  vendor/extensions/galleries/db/migrate/2_create_items_items.rb
    conflict  vendor/extensions/galleries/db/seeds.rb
Overwrite vendor/extensions/galleries/db/seeds.rb? (enter "h" for help) [Ynaqdh] Y
       force  vendor/extensions/galleries/db/seeds.rb
    conflict  vendor/extensions/galleries/lib/generators/refinery/galleries_generator.rb
Overwrite vendor/extensions/galleries/lib/generators/refinery/galleries_generator.rb? (enter "h" for help) [Ynaqdh] Y
       force  vendor/extensions/galleries/lib/generators/refinery/galleries_generator.rb
      create  vendor/extensions/galleries/lib/refinery/items/engine.rb
      create  vendor/extensions/galleries/lib/refinery/items.rb
      create  vendor/extensions/galleries/lib/tmp/refinerycms-galleries.rb
   identical  vendor/extensions/galleries/lib/tasks/refinery/galleries.rake
   identical  vendor/extensions/galleries/refinerycms-galleries.gemspec
      create  vendor/extensions/galleries/spec/models/refinery/items/item_spec.rb
      create  vendor/extensions/galleries/spec/requests/refinery/items/admin/items_spec.rb
   identical  vendor/extensions/galleries/spec/spec_helper.rb
      create  vendor/extensions/galleries/spec/support/factories/refinery/items.rb
   identical  vendor/extensions/galleries/tasks/rspec.rake
   identical  vendor/extensions/galleries/tasks/testing.rake
      remove  vendor/extensions/galleries/config/locales/tmp
      remove  vendor/extensions/galleries/config/tmp
      remove  vendor/extensions/galleries/lib/tmp

As you can see both extensions try to create seeds.rb and galleries_generator.rb instead of naming them properly as http://refinerycms.com/guides/multiple-resources-in-an-extension shows that they should

@willcosgrove
Copy link

Yeah I'm running into this too. Is the best workaround just to copy the files into the original namespace and do the seeds.rb and *_generator.rb by hand?

@ugisozols
Copy link
Member

First of all the guide @jeffutter is referring to unfortunately is out of date. I'll update it shortly.

Next - we are using something like this Refinery::SomeName::Engine.load_seed which loads that db/seeds.rb file from extension so if we change it we would have to do some hackery to load seed data from let's say db/seeds/some_name_seeds.rb.

Imo the best option here would be to do as @willcosgrove mentioned - manage seeds and generators by hand.

@ugisozols
Copy link
Member

Or we could try to merge two seeds files into one... let me investigate.

ugisozols added a commit that referenced this issue Apr 24, 2012
@ugisozols
Copy link
Member

@parndt @jeffutter @willcosgrove thoughts?

@willcosgrove
Copy link

Looks great to me

@parndt parndt closed this as completed May 18, 2012
@parndt parndt reopened this May 18, 2012
@ghost ghost assigned ugisozols May 18, 2012
@robyurkowski
Copy link
Contributor

@parndt Any reason this was reopened?

@parndt
Copy link
Member

parndt commented May 23, 2012

@robyurkowski corresponding patch hasn't been fully merged by @ugisozols yet

Hurry up @ugisozols ;)

@ugisozols
Copy link
Member

I'm struggling with specs but other than that it should be mergable.

ugisozols added a commit that referenced this issue May 23, 2012
@parndt
Copy link
Member

parndt commented May 23, 2012

Fixed by c5f3301

@parndt parndt closed this as completed May 23, 2012
ugisozols added a commit that referenced this issue May 23, 2012
ugisozols added a commit that referenced this issue May 23, 2012
ugisozols added a commit that referenced this issue May 23, 2012
ugisozols added a commit that referenced this issue May 23, 2012
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants