Class: PosterManager
- Inherits:
-
Object
- Object
- PosterManager
- Defined in:
- lib/filmaffinity/poster_manager.rb
Instance Method Summary collapse
- #load_poster(posterurl) ⇒ Object
- #random_name ⇒ Object
- #save_img_locally(posterurl) ⇒ Object
- #upload(posterurl, api_id) ⇒ Object
Instance Method Details
#load_poster(posterurl) ⇒ Object
7 8 9 10 11 |
# File 'lib/filmaffinity/poster_manager.rb', line 7 def load_poster(posterurl) return posterurl unless FilmAffinity.configuration.imgur_id upload(posterurl, FilmAffinity.configuration.imgur_id) end |
#random_name ⇒ Object
31 32 33 |
# File 'lib/filmaffinity/poster_manager.rb', line 31 def random_name SecureRandom.urlsafe_base64(8) end |
#save_img_locally(posterurl) ⇒ Object
23 24 25 26 27 28 29 |
# File 'lib/filmaffinity/poster_manager.rb', line 23 def save_img_locally(posterurl) URI.parse(posterurl).open do |f| File.open(@dir, 'wb') do |file| file.puts f.read end end end |
#upload(posterurl, api_id) ⇒ Object
13 14 15 16 17 18 19 20 21 |
# File 'lib/filmaffinity/poster_manager.rb', line 13 def upload(posterurl, api_id) imgur = Imgur.new(api_id) @dir = "#{__dir__}/#{random_name}.jpg" save_img_locally(posterurl) local_image = Imgur::LocalImage.new(@dir) uploaded = imgur.upload(local_image) File.delete(@dir) uploaded.link end |