Class: Account::TicketNoteForm
- Inherits:
-
ApplicationForm
- Object
- ApplicationForm
- Account::TicketNoteForm
- Defined in:
- app/forms/account/ticket_note_form.rb
Instance Attribute Summary
Attributes inherited from ApplicationForm
Class Method Summary collapse
- .base_class ⇒ Object
- .build(params = {}) ⇒ Object
-
.fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid.
- .fileupload_find_asset(params) ⇒ Object
-
.fileupload_klass(_method) ⇒ Object
Find class by reflection.
- .fileupload_multiple?(_method) ⇒ Boolean
- .fileupload_scope(_method, guid) ⇒ Object
-
.fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid.
-
.fileuploads(*args) ⇒ Object
Join ActiveModel object with uploaded file.
Instance Method Summary collapse
-
#fileupload_asset(method) ⇒ Object
Find or build new asset object.
- #fileupload_associations ⇒ Object
- #fileupload_multiple?(method) ⇒ Boolean
- #new_record? ⇒ Boolean
- #persisted? ⇒ Boolean
- #submit ⇒ Object
- #uploder_files ⇒ Object
Class Method Details
.base_class ⇒ Object
81 82 83 |
# File 'app/forms/account/ticket_note_form.rb', line 81 def base_class self end |
.build(params = {}) ⇒ Object
24 25 26 27 28 29 |
# File 'app/forms/account/ticket_note_form.rb', line 24 def self.build(params = {}) tmp = new(params) tmp.fileupload_guid ||= SecureRandom.base64(15).tr('+/=', 'xyz') tmp.ticket_id ||= params[:ticket_id] || params[:id] tmp end |
.fileupload_find(method, guid) ⇒ Object
Find asset(s) by guid
59 60 61 62 |
# File 'app/forms/account/ticket_note_form.rb', line 59 def fileupload_find(method, guid) query = fileupload_scope(method, guid) fileupload_multiple?(method) ? query : query.first end |
.fileupload_find_asset(params) ⇒ Object
68 69 70 |
# File 'app/forms/account/ticket_note_form.rb', line 68 def fileupload_find_asset(params) Asset.find_by(assetable_type: params[:klass], remote_asset_id: params[:id]) end |
.fileupload_klass(_method) ⇒ Object
Find class by reflection
73 74 75 |
# File 'app/forms/account/ticket_note_form.rb', line 73 def fileupload_klass(_method) TicketFile end |
.fileupload_multiple?(_method) ⇒ Boolean
77 78 79 |
# File 'app/forms/account/ticket_note_form.rb', line 77 def fileupload_multiple?(_method) true end |
.fileupload_scope(_method, guid) ⇒ Object
64 65 66 |
# File 'app/forms/account/ticket_note_form.rb', line 64 def fileupload_scope(_method, guid) Asset.where(guid: guid, assetable_type: name) end |
.fileupload_update(record_id, guid, method) ⇒ Object
Update reflection klass by guid
54 55 56 |
# File 'app/forms/account/ticket_note_form.rb', line 54 def fileupload_update(record_id, guid, method) fileupload_scope(method, guid).update_all(assetable_id: record_id, public_token: nil) end |
.fileuploads(*args) ⇒ Object
Join ActiveModel object with uploaded file
43 44 45 46 47 48 49 50 51 |
# File 'app/forms/account/ticket_note_form.rb', line 43 def fileuploads(*args) = args. self. ||= {} args.each do |column| self.[column] = end end |
Instance Method Details
#fileupload_asset(method) ⇒ Object
Find or build new asset object
91 92 93 94 95 |
# File 'app/forms/account/ticket_note_form.rb', line 91 def fileupload_asset(method) asset = self.class.fileupload_find(method, fileupload_guid) asset ||= self.class.fileupload_klass.new(public_token: fileupload_guid) asset end |
#fileupload_associations ⇒ Object
97 98 99 100 101 |
# File 'app/forms/account/ticket_note_form.rb', line 97 def fileupload_associations return [] if self.class..nil? self.class..keys end |
#fileupload_multiple?(method) ⇒ Boolean
86 87 88 |
# File 'app/forms/account/ticket_note_form.rb', line 86 def fileupload_multiple?(method) self.class.fileupload_multiple?(method) end |
#new_record? ⇒ Boolean
12 13 14 |
# File 'app/forms/account/ticket_note_form.rb', line 12 def new_record? true end |
#persisted? ⇒ Boolean
31 32 33 |
# File 'app/forms/account/ticket_note_form.rb', line 31 def persisted? defined?(id) && id.present? end |
#submit ⇒ Object
16 17 18 19 20 21 22 |
# File 'app/forms/account/ticket_note_form.rb', line 16 def submit return false unless valid? api_answer = TranslationCms::Api::Customers::TicketNote.create(attributes) merge_responce! api_answer errors.empty? end |
#uploder_files ⇒ Object
35 36 37 38 39 |
# File 'app/forms/account/ticket_note_form.rb', line 35 def uploder_files return [] if fileupload_guid.blank? self.class.fileupload_scope(nil, fileupload_guid) end |