Ich habe zwei Methoden.Kombinieren von zwei Methoden zu einem
def response_code_description(code)
@response_code_description ||= current_account.one_call_center.response_codes_repository_class.new.to_api_collection
@response_code_description.find {|k| k['code'] == code}.try(:[], 'description')
end
def ticket_response_code_with_description(ticket_response)
@ticket_response_code_with_description ||= ticket_response.ticket.one_call_center.response_codes_repository_class.new.to_api_collection
@ticket_response_code_with_description.find { |k| k['code'] == ticket_response.code }.try(:[], 'description')
end
Ich denke, ich kann sie kombinieren. So.
def response_code_with_description(one_call_center, code)
@ticket_response_code_with_description ||= one_call_center.response_codes_repository_class.new.to_api_collection
@ticket_response_code_with_description.find { |k| k['code'] == code }.try(:[], 'description')
end
und rufen Sie diese Methode so
response_code_with_description(current_account.one_call_center, ticket_response.code)
response_code_with_description(ticket_response.ticket.one_call_center, code)
was denken Sie?
stackoverflow ist speziell für technische Probleme (Bugs, Code, der nicht tut, was er soll, etc). Wenn Sie nach Meinungen zum besten Weg suchen, Ihren Code zu organisieren, sollten Sie versuchen, die [codereview stackexchange] (https://codereview.stackexchange.com/) – eiko
, dass gesagt wird, es sieht aus wie du bist auf der rechten Seite Spur. Der Versuch, für jeden Objekttyp, der ein "one_call_center" enthält, eine andere Funktion zu erstellen, skaliert nicht. – eiko