Class: Roo::Link

Inherits:
String
  • Object
show all
Defined in:
lib/roo/link.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(href = '', text = href) ⇒ Link

Returns a new instance of Link.



25
26
27
28
# File 'lib/roo/link.rb', line 25

def initialize(href = '', text = href)
  super(text)
  @href = href
end

Instance Attribute Details

#hrefObject (readonly) Also known as: url

FIXME: Roo::Link inherits from String. A link cell is_a?(Roo::Link). It is the only situation where a cells value is always a String. Link cells have a nifty to_uri method, but this method isn't easily reached. (e.g. sheet.sheet_for(nil).cells[[row,column]]).value.to_uri; sheet.hyperlink(row, column) doesn't use to_uri).

   1. Add different types of links (String, Numeric, Date, DateTime, etc.)
   2. Remove Roo::Link.
   3. Don't inherit the string and pass the cell's value.

   I don't know the historical reasons for the Roo::Link, but right now
   it seems uneccessary. I'm in favor of keeping it just in case.

   I'm also in favor of passing the cell's value to Roo::Link. The
   cell.value's class would still be Roo::Link, but the value itself
   would depend on what type of cell it is (Numeric, Date, etc.).


22
23
24
# File 'lib/roo/link.rb', line 22

def href
  @href
end

Instance Method Details

#to_uriObject



30
31
32
# File 'lib/roo/link.rb', line 30

def to_uri
  URI.parse href
end