Class: RedmineRemotes::Tableless::RemoteIssueFetch::Create
- Inherits:
-
Base
- Object
- EacRailsUtils::Models::Tableless
- Base
- RedmineRemotes::Tableless::RemoteIssueFetch::Create
show all
- Defined in:
- app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb,
app/models/redmine_remotes/tableless/remote_issue_fetch/create/_local_issue.rb,
app/models/redmine_remotes/tableless/remote_issue_fetch/create/_remote_issue.rb
Instance Method Summary
collapse
Methods inherited from Base
#author_present, #provider_issue_present
Instance Method Details
#create ⇒ Object
22
23
24
25
26
27
28
29
|
# File 'app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb', line 22
def create
::Issue.transaction do
return false unless valid?
return false unless save_local_issue
return false unless create_remote_issue
end
true
end
|
#default_error_column ⇒ Object
31
32
33
|
# File 'app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb', line 31
def default_error_column
:issue_remote_code
end
|
#save ⇒ Object
35
36
37
|
# File 'app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb', line 35
def save
remote_issue_by_remote_code.present? ? update : create
end
|
#tracker_in_project ⇒ Object
39
40
41
42
43
44
|
# File 'app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb', line 39
def tracker_in_project
return unless local_tracker.present? && project.present?
return if project.trackers.include?(local_tracker)
errors.add(:local_tracker, 'is not a tracker of project')
end
|
#update ⇒ Object
46
47
48
49
50
51
52
53
|
# File 'app/models/redmine_remotes/tableless/remote_issue_fetch/create.rb', line 46
def update
update_record = ::RedmineRemotes::Tableless::RemoteIssueFetch::Update
.new(remote_issue: remote_issue_by_remote_code)
return true if update_record.save
fetch_record_errors(update_record, default_column: default_error_column)
false
end
|