Class: SpreeCmCommissioner::Exports::OperatorGuestJsonGzip
- Inherits:
-
SpreeCmCommissioner::Export
- Object
- Spree::Base
- Base
- SpreeCmCommissioner::Export
- SpreeCmCommissioner::Exports::OperatorGuestJsonGzip
- Defined in:
- app/models/spree_cm_commissioner/exports/operator_guest_json_gzip.rb
Instance Method Summary collapse
-
#export ⇒ Object
override.
Methods inherited from SpreeCmCommissioner::Export
#enqueue_export, #exported_file_name, #exported_file_url, #set_uuid
Instance Method Details
#export ⇒ Object
override
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'app/models/spree_cm_commissioner/exports/operator_guest_json_gzip.rb', line 9 def export update(status: :progress) guests = SpreeCmCommissioner::GuestSearcherQuery.new(event_id: exportable_id).call hash = SpreeCmCommissioner::V2::Operator::GuestSerializer.new( guests, { include: resource_includes } ).serializable_hash file_name = "exports_operator_guest_#{id}.json.gz" json_gzip = ActiveSupport::Gzip.compress(JSON.generate(hash)) exported_file.attach( io: StringIO.new(json_gzip), filename: file_name, content_type: 'application/gzip' ) update( file_size_bytes: json_gzip.bytesize, guests_count: guests.size, status: :done ) rescue StandardError => e CmAppLogger.error(label: "#{self.class.name}#export", data: { export_id: id, error: e., backtrace: e.backtrace }) update(status: :failed) end |