Class: TBird::Processor
- Inherits:
-
Object
- Object
- TBird::Processor
- Defined in:
- lib/t_bird/processor.rb
Instance Attribute Summary collapse
-
#image ⇒ Object
readonly
Returns the value of attribute image.
Instance Method Summary collapse
-
#initialize(file_blob) ⇒ Processor
constructor
A new instance of Processor.
- #original ⇒ Object
- #process(&block) ⇒ Object
- #resize(size) ⇒ Object
- #thumbnail(thumbnail_size = Configuration.thumbnail_size) ⇒ Object
- #write_to_file ⇒ Object
Constructor Details
#initialize(file_blob) ⇒ Processor
Returns a new instance of Processor.
8 9 10 11 12 |
# File 'lib/t_bird/processor.rb', line 8 def initialize(file_blob) @file_blob = file_blob @image = MiniMagick::Image.read(file_blob) @tempfile = Tempfile.new(SecureRandom.uuid) end |
Instance Attribute Details
#image ⇒ Object (readonly)
Returns the value of attribute image.
7 8 9 |
# File 'lib/t_bird/processor.rb', line 7 def image @image end |
Instance Method Details
#original ⇒ Object
26 27 28 |
# File 'lib/t_bird/processor.rb', line 26 def original @file_blob end |
#process(&block) ⇒ Object
14 15 16 17 18 19 |
# File 'lib/t_bird/processor.rb', line 14 def process(&block) image. do |img| block.call(img) if block_given? end write_to_file end |
#resize(size) ⇒ Object
30 31 32 33 34 |
# File 'lib/t_bird/processor.rb', line 30 def resize(size) process do |img| img.resize size end end |
#thumbnail(thumbnail_size = Configuration.thumbnail_size) ⇒ Object
36 37 38 39 40 41 42 43 44 45 46 |
# File 'lib/t_bird/processor.rb', line 36 def thumbnail(thumbnail_size = Configuration.thumbnail_size) process do |img| img.auto_orient img.thumbnail "x#{thumbnail_size*2}" img.resize "#{thumbnail_size*2}x<" img.resize "50%" img.gravity "center" img.crop "#{thumbnail_size}x#{thumbnail_size}+0+0" img.quality 92 end end |
#write_to_file ⇒ Object
21 22 23 24 |
# File 'lib/t_bird/processor.rb', line 21 def write_to_file image.write @tempfile @tempfile end |