Class: SimpleImage
- Inherits:
-
ApplicationRecord
- Object
- ApplicationRecord
- SimpleImage
- Defined in:
- app/models/simple_image.rb
Overview
Universal simple image
Attributes:
agent_id [Agent], optional
biovision_component_id [BiovisionComponent]
caption [string], optional
checksum [String], optional
created_at [DateTime]
data [jsonb]
image [SimpleImageUploader]
image_alt_text [string]
ip_address_id [IpAddress], optional
object_count [integer]
source_link [string], optional
source_name [string], optional
updated_at [DateTime]
user_id [User], optional
uuid [uuid]
Constant Summary collapse
- META_LIMIT =
255
- ORIGINAL_CHECKSUM =
'original_checksum'
Class Method Summary collapse
Instance Method Summary collapse
Methods included from HasOwner
Class Method Details
.[](input) ⇒ Object
51 52 53 54 55 56 57 58 59 |
# File 'app/models/simple_image.rb', line 51 def self.[](input) case input when /\A\h{8}-\h{4}-4\h{3}-[89ab]\h{3}-\h{12}\Z/i find_by(uuid: input) when /\A[a-f0-9]{64}\z/i key = "data->>'#{ORIGINAL_CHECKSUM}'" find_by(checksum: input) || find_by("#{key} = ?", input) end end |
.entity_parameters ⇒ Object
61 62 63 |
# File 'app/models/simple_image.rb', line 61 def self.entity_parameters %i[caption image image_alt_text source_link source_name] end |
.json_attributes ⇒ Object
65 66 67 |
# File 'app/models/simple_image.rb', line 65 def self.json_attributes %i[caption image_alt_text source_link source_name] end |
Instance Method Details
#file_size ⇒ Object
73 74 75 |
# File 'app/models/simple_image.rb', line 73 def file_size File.size(image.path) end |
#image_slug ⇒ Object
77 78 79 |
# File 'app/models/simple_image.rb', line 77 def image_slug "#{uuid[0..2]}/#{uuid[3..5]}/#{uuid}" end |
#name ⇒ Object
69 70 71 |
# File 'app/models/simple_image.rb', line 69 def name File.basename(image.path) end |