Class: String

Inherits:
Object show all
Defined in:
lib/overload/blank.rb,
lib/overload/string.rb,
lib/common/string_base.rb,
lib/overload/auto_loader.rb

Instance Method Summary collapse

Instance Method Details

#as_htmlObject

simple markdown



3
4
5
# File 'lib/overload/string.rb', line 3

def as_html
  self.gsub($/, '<br />')
end

#blank?Boolean

Returns:

  • (Boolean)


61
62
63
64
65
66
# File 'lib/overload/blank.rb', line 61

def blank?
  return true if self.length == 0

  # test = !!(self =~ /^\s*$/)
  !(self =~ /[^\s]/)
end

#constantizeObject



2
3
4
# File 'lib/overload/auto_loader.rb', line 2

def constantize
  Object.const_get('::'+self)
end

#css_to_hashObject



54
55
56
57
58
59
60
# File 'lib/overload/string.rb', line 54

def css_to_hash
  self.split('&').inject({}) do |h,line|
    el = line.split('=', 2)
    h[el[0]] = el[1]
    h
  end
end

#decolorizeObject

remomove colorize gem string colors



84
85
86
# File 'lib/overload/string.rb', line 84

def decolorize
  self.gsub(/\[0;\d\d;\d\dm([^\[]*)\[0m/) { $1 }
end

#fix_ut8Object



34
35
36
# File 'lib/overload/string.rb', line 34

def fix_ut8
  self.encode('UTF-8', 'binary', invalid: :replace, undef: :replace, replace: '?')
end

#last(num = 1) ⇒ Object



70
71
72
73
# File 'lib/overload/string.rb', line 70

def last(num=1)
  len = self.length
  self[len-num, len]
end

#parameterizeObject



42
43
44
# File 'lib/overload/string.rb', line 42

def parameterize
  self.downcase.gsub(/[^\w]+/,'-')
end

#parse_erbObject



38
39
40
# File 'lib/overload/string.rb', line 38

def parse_erb
  self.gsub(/<%=([^%]+)%>/) { eval $1; }
end

#sanitizeObject



21
22
23
# File 'lib/overload/string.rb', line 21

def sanitize
  Sanitize.clean(self, :elements=>%w[span ul ol li b bold i italic u underline hr br p], :attributes=>{'span'=>['style']} )
end

#span_greenObject



75
76
77
# File 'lib/overload/string.rb', line 75

def span_green
  %[<span style="color: #080;">#{self}</span>]
end

#span_redObject



79
80
81
# File 'lib/overload/string.rb', line 79

def span_red
  %[<span style="color: #800;">#{self}</span>]
end

#starts_with?(prefix) ⇒ Boolean

Returns:

  • (Boolean)


66
67
68
# File 'lib/overload/string.rb', line 66

def starts_with?(prefix)
  prefix.respond_to?(:to_str) && self[0, prefix.length] == prefix
end

#string_idObject



46
47
48
# File 'lib/common/string_base.rb', line 46

def string_id
  StringBase.decode self
end

#tag(node_name, opts = {}) ⇒ Object



25
26
27
# File 'lib/overload/string.rb', line 25

def tag(node_name, opts={})
  opts.tag(node_name, self)
end

#to_aObject



62
63
64
# File 'lib/overload/string.rb', line 62

def to_a
  self.split(/\s*,\s*/)
end

#to_html(opts = {}) ⇒ Object

convert escaped strings, remove scritpts



8
9
10
11
12
13
# File 'lib/overload/string.rb', line 8

def to_html opts={}
  value = self.gsub(/&lt;/, '<').gsub(/&gt;/, '>').gsub(/&amp;/,'&')
  value = value.gsub(/<script/,'&lt;script') unless opts[:script]
  value = value.gsub(/<link/,'&lt;link') unless opts[:link]
  value
end

#to_urlObject



46
47
48
49
50
51
52
# File 'lib/overload/string.rb', line 46

def to_url
  str_from = 'šđč枊ĐČĆŽäÄéeöÖüüÜß'
  str_to   = 'sdcczSDCCZaAeeoOuuUs'
  str      = self.downcase.gsub(/\s+/,'-').tr(str_from, str_to)
  # self.downcase.gsub(/\s+/,'-').tr(str_from, str_to).gsub(/[^\w\-]/,'')
  str.sub(/\.$/, '').gsub('&',' and ').gsub('.',' dot ').parameterize.gsub('-dot-','.').downcase[0, 50].sub(/[\.\-]$/,'')
end

#trim(len) ⇒ Object



15
16
17
18
19
# File 'lib/overload/string.rb', line 15

def trim(len)
  return self if self.length<len
  data = self.dup[0,len]+'&hellip;'
  data
end

#wrap(node_name, opts = {}) ⇒ Object



29
30
31
32
# File 'lib/overload/string.rb', line 29

def wrap(node_name, opts={})
  return self unless node_name
  opts.tag(node_name, self)
end