-
Notifications
You must be signed in to change notification settings - Fork 69
Open
Description
Ruby: 2.5.3
Rails: 5.1.6
Kuroko2: 0.5.0
Creating a new job definition responds "Revisions is invalid". It looks association between job_definition and revision is not set correctly according to simulating controller action with rails console. In spite of controllers and features specs success.
irb> d = Kuroko2::JobDefinition.new(name: 'Job', script: 'noop:', admins: [Kuroko2::User.first])
Kuroko2::User Load (2.9ms) SELECT `kuroko2_users`.* FROM `kuroko2_users` ORDER BY `kuroko2_users`.`id` ASC LIMIT 1
=> #<Kuroko2::JobDefinition id: nil, version: 0, name: "Job", description: "An description of the job definition.\n\n## Failure ...", script: "noop:", suspended: false, prevent_multi: 1, notify_cancellation: true, hipchat_room: "", hipchat_notify_finished: true, hipchat_additional_text: nil, slack_channel: "", api_allowed: false, created_at: nil, updated_at: nil, webhook_url: nil>
irb> d.valid?
=> true
irb> d.save_and_record_revision
(1.5ms) BEGIN
(0.9ms) ROLLBACK
=> false
irb> d.revisions.size
=> 1
irb> d.revisions.first.errors.full_messages
=> ["Job definition must exist"]
irb> d.revisions.first.job_definition
=> nilI think one of below ideas may help (sorry for not PR).
- Add inverse_of option to revisions association.
https://github.com/cookpad/kuroko2/blob/master/app/models/kuroko2/job_definition.rb#L33
has_many :revisions, ..., inverse_of: :job_definition- Set association explicitly.
https://github.com/cookpad/kuroko2/blob/master/app/models/kuroko2/job_definition.rb#L145
revisions.new(job_definition: self, ...)Latter one have less impact on app. How do you think?
kazumalab, st1t, yukihirop and shimbaco
Metadata
Metadata
Assignees
Labels
No labels