Class: ImgurDirect

Inherits:
Object
  • Object
show all
Defined in:
lib/imgur_direct.rb,
lib/imgur_direct/api.rb,
lib/imgur_direct/version.rb

Defined Under Namespace

Classes: Api

Constant Summary collapse

VERSION =
"0.0.1"

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ ImgurDirect

Returns a new instance of ImgurDirect.



7
8
9
# File 'lib/imgur_direct.rb', line 7

def initialize(url)
  @url = url.to_s.strip
end

Instance Attribute Details

#urlObject (readonly)

Returns the value of attribute url.



5
6
7
# File 'lib/imgur_direct.rb', line 5

def url
  @url
end

Instance Method Details

#resolvable?Boolean

Returns:

  • (Boolean)


24
25
26
27
# 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) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
# 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