class ImgurDirect
Constants
- ALBUM_URL_PATTERN
- DIRECT_PATTERN
- GALLERY_URL_PATTERN
- HASHES_PATTERN
- IMAGE_PATTERN
- VERSION
Attributes
url[R]
Public Class Methods
new(url)
click to toggle source
# File lib/imgur_direct.rb, line 7 def initialize(url) @url = url.to_s.strip end
Public Instance Methods
resolvable?()
click to toggle source
# File lib/imgur_direct.rb, line 24 def resolvable? pattern = /http(s)?:\/\/((m\.)|((www)\.)|((i)\.))?imgur.com\/(a\/)?[a-zA-Z0-9&]+((\.jpg)|(\.gif)|(\.png))?/i pattern =~ url end
urls(fall_back_to_original = true)
click to toggle source
# File lib/imgur_direct.rb, line 11 def urls(fall_back_to_original = true) if !resolvable? return fall_back_to_original ? [url] : [] end strategy, image_id = strategy_and_id if strategy == 'direct_link' [url] else Api.new(strategy).urls(image_id) end end
Private Instance Methods
strategy()
click to toggle source
# File lib/imgur_direct.rb, line 58 def strategy strategy, _ = strategy_and_id strategy end
strategy_and_id()
click to toggle source
# File lib/imgur_direct.rb, line 37 def strategy_and_id @_strategy_and_id ||= begin case url when DIRECT_PATTERN return 'direct_link', $3 when ALBUM_URL_PATTERN return 'album', $1 when GALLERY_URL_PATTERN return 'gallery', $1 when IMAGE_PATTERN return 'image', $3 when HASHES_PATTERN return 'image', $1 else raise "Unknown imgur url pattern" end end end