bullet-train-pro / bullet_train-action_models

Other
4 stars 1 forks source link

undefined method `add_line_to_yml_file` in targets_many #6

Closed pascallaliberte closed 11 months ago

pascallaliberte commented 2 years ago

I'm getting the following error when super-scaffolding a targets-many off of a local copy of the repo.

NoMethodError: undefined method `add_line_to_yml_file' for #<Scaffolding::ActionModelTargetsManyTransformer

Full super-scaffold output:

$ bin/super-scaffold action-model:targets-many Joyify Project Team
Type application/netcdf is already registered as a variant of application/netcdf.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Replacing in 'db/migrate/20220805175215_create_projects_joyify_actions.rb'.
Writing './app/models/projects/joyify_action.rb'.
Fixing Standard Ruby on './app/models/projects/joyify_action.rb'.
Writing './app/serializers/api/v1/projects/joyify_action_serializer.rb'.
Fixing Standard Ruby on './app/serializers/api/v1/projects/joyify_action_serializer.rb'.
Writing './app/controllers/api/v1/projects/joyify_actions_endpoint.rb'.
Fixing Standard Ruby on './app/controllers/api/v1/projects/joyify_actions_endpoint.rb'.
Writing './app/controllers/account/projects/joyify_actions_controller.rb'.
Fixing Standard Ruby on './app/controllers/account/projects/joyify_actions_controller.rb'.
Writing './app/views/account/projects/joyify_actions/index.html.erb'.
Writing './app/views/account/projects/joyify_actions/_menu_item.html.erb'.
Writing './app/views/account/projects/joyify_actions/_index.html.erb'.
Writing './app/views/account/projects/joyify_actions/_new_button_one.html.erb'.
Writing './app/views/account/projects/joyify_actions/_new_button_many.html.erb'.
Writing './app/views/account/projects/joyify_actions/_joyify_action.json.jbuilder'.
Writing './app/views/account/projects/joyify_actions/index.json.jbuilder'.
Writing './app/views/account/projects/joyify_actions/show.json.jbuilder'.
Writing './app/views/account/projects/joyify_actions/edit.html.erb'.
Writing './app/views/account/projects/joyify_actions/show.html.erb'.
Writing './app/views/account/projects/joyify_actions/_form.html.erb'.
Writing './app/views/account/projects/joyify_actions/new.html.erb'.
Writing './app/views/account/projects/joyify_actions/_breadcrumbs.html.erb'.
Writing './test/models/projects/joyify_action_test.rb'.
Fixing Standard Ruby on './test/models/projects/joyify_action_test.rb'.
Writing './test/factories/projects/joyify_actions.rb'.
Fixing Standard Ruby on './test/factories/projects/joyify_actions.rb'.
Writing './test/controllers/api/v1/projects/joyify_actions_endpoint_test.rb'.
Fixing Standard Ruby on './test/controllers/api/v1/projects/joyify_actions_endpoint_test.rb'.
Writing './config/locales/en/projects/joyify_actions.en.yml'.
Updating './config/locales/en/projects/joyify_actions.en.yml'.
Updating './app/views/account/projects/_index.html.erb'.
Updating './app/views/account/projects/_index.html.erb'.
Updating './app/views/account/projects/_index.html.erb'.
Updating './app/models/team.rb'.
Updating './app/models/projects/joyify_action.rb'.
rake aborted!
NoMethodError: undefined method `add_line_to_yml_file' for #<Scaffolding::ActionModelTargetsManyTransformer:0x0000000113320aa0 @child="Project", @parent="Team", @parents=["Team"], @namespace="account", @class_names_transformer=#<Scaffolding::ClassNamesTransformer:0x0000000113320528 @child="Project", @parent="Team", @namespace="account">, @cli_options={}, @additional_steps=[], @action="Joyify">

    add_line_to_yml_file(role_file, "#{action_model_class}: read", [:default, :models])
    ^^^^^^^^^^^^^^^^^^^^
Did you mean?  add_line_to_file
/Users/work/Desktop/bullet-train/action-models-demo/local/bullet_train-action_models/lib/scaffolding/action_model_transformer.rb:19:in `add_ability_line_to_roles_yml'
/Users/work/Desktop/bullet-train/action-models-demo/local/bullet_train-action_models/lib/scaffolding/action_model_transformer.rb:119:in `scaffold_action_model'
/Users/work/Desktop/bullet-train/action-models-demo/local/bullet_train-action_models/lib/scaffolding/action_model_targets_many_transformer.rb:9:in `scaffold_action_model'
/Users/work/Desktop/bullet-train/action-models-demo/local/bullet_train-action_models/lib/bullet_train/action_models/scaffolders/targets_many_scaffolder.rb:50:in `run'
Tasks: TOP => bullet_train:super_scaffolding
(See full trace by running task with --trace)

To reproduce:

git clone https://github.com/bullet-train-co/bullet_train.git action-models-demo
cd action-models-demo
bin/configure # with name "Action Models Demo"
bin/setup
bin/dev

bin/rails g model Project team:references name:string
bin/super-scaffold crud Project Team name:text_field
bin/rails db:migrate

mkdir -p local && cd local
git clone git@github.com:andrewculver/bullet_train-action_models.git
cd ..
echo "gem \"bullet_train-action_models\", path: \"local/bullet_train-action_models\"" >> Gemfile
bundle
bin/rails restart

bin/super-scaffold action-model:targets-many Joyify Project Team
gazayas commented 11 months ago

Closing this one out because the method is now included in these files:

https://github.com/bullet-train-pro/bullet_train-action_models/blob/ff7f91e988085778430cd548ca25f6beab8a4925/lib/scaffolding/action_model_performs_export_transformer.rb#L18-L19

https://github.com/bullet-train-pro/bullet_train-action_models/blob/ff7f91e988085778430cd548ca25f6beab8a4925/lib/scaffolding/action_model_transformer.rb#L34-L35