Class: Muri

Inherits:
Object
  • Object
show all
Defined in:
lib/muri/base.rb,
lib/muri/filter.rb,
lib/muri/filters/vimeo.rb,
lib/muri/filters/flickr.rb,
lib/muri/filters/picasa.rb,
lib/muri/filters/twitpic.rb,
lib/muri/filters/youtube.rb,
lib/muri/filters/facebook.rb,
lib/muri/filters/imageshack.rb,
lib/muri/filters/photobucket.rb

Defined Under Namespace

Modules: Filter Classes: NoParser, UnsupportedURI

Constant Summary collapse

AVAILABLE_PARSERS =
%w[youtube flickr vimeo imageshack photobucket facebook twitpic picasa].freeze
PARSERS =
{ }

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(url) ⇒ Muri

Returns a new instance of Muri.



38
39
40
41
# File 'lib/muri/base.rb', line 38

def initialize(url)
  @info = { }
  parse(url)
end

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(method, *arguments, &block) ⇒ Object (private)



82
83
84
85
86
87
88
# File 'lib/muri/base.rb', line 82

def method_missing(method, *arguments, &block)
  if method.to_s =~ /^media_(.+)/
    process_option_method(method, *arguments)
  else
    super
  end
end

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



3
4
5
# File 'lib/muri/base.rb', line 3

def errors
  @errors
end

#uriObject

Returns the value of attribute uri.



3
4
5
# File 'lib/muri/base.rb', line 3

def uri
  @uri
end

Class Method Details

.parse(url) ⇒ Object



29
30
31
# File 'lib/muri/base.rb', line 29

def self.parse(url)
  self.new(url)
end

.parsersObject

Show a list of the available parsers



34
35
36
# File 'lib/muri/base.rb', line 34

def self.parsers
  PARSERS.keys
end

Instance Method Details

#inspectObject

‘Borrowed’ from uri/generic.rb



53
54
55
# File 'lib/muri/base.rb', line 53

def inspect
  Kernel.instance_method(:to_s).bind(self).call.sub!(/>\z/) {" URL:#{self.uri.to_s}>"}
end

#to_sObject



48
49
50
# File 'lib/muri/base.rb', line 48

def to_s
  @info.to_s
end

#valid?Boolean

Determine if Muri object is valid (errors mean not valid)

Returns:

  • (Boolean)


44
45
46
# File 'lib/muri/base.rb', line 44

def valid?
  self.errors.nil?
end