Class: String
- Inherits:
-
Object
- Object
- String
- Defined in:
- lib/miga/common/format.rb
Overview
MiGA extensions to the String class.
Instance Method Summary collapse
-
#miga_name ⇒ Object
Replace any character not allowed in a MiGA name for underscore (_).
-
#miga_name? ⇒ Boolean
Is the string a MiGA-compliant name?.
-
#miga_variables(vars) ⇒ Object
Replace {variables} using the
varshash. -
#unmiga_name ⇒ Object
Replace underscores by spaces or other symbols depending on context.
-
#wrap_width(width) ⇒ Object
Wraps the string with fixed Integer
width.
Instance Method Details
#miga_name ⇒ Object
Replace any character not allowed in a MiGA name for underscore (_). This results in a MiGA-compliant name EXCEPT for empty strings, that results in empty strings.
138 139 140 |
# File 'lib/miga/common/format.rb', line 138 def miga_name gsub(/[^A-Za-z0-9_]/, '_') end |
#miga_name? ⇒ Boolean
Is the string a MiGA-compliant name?
144 145 146 |
# File 'lib/miga/common/format.rb', line 144 def miga_name? !(self !~ /^[A-Za-z0-9_]+$/) end |
#miga_variables(vars) ⇒ Object
Replace {variables} using the vars hash
167 168 169 170 171 |
# File 'lib/miga/common/format.rb', line 167 def miga_variables(vars) o = "#{self}" vars.each { |k, v| o.gsub!("{{#{k}}}", v.to_s) } o end |
#unmiga_name ⇒ Object
Replace underscores by spaces or other symbols depending on context
150 151 152 153 154 155 156 157 |
# File 'lib/miga/common/format.rb', line 150 def unmiga_name gsub(/_(str|sp|subsp|pv)__/, '_\\1._') .gsub(/g_c_(content)/, 'G+C \\1') .gsub(/g_c_(skew)/, 'G-C \\1') .gsub(/a_t_(skew)/, 'A-T \\1') .gsub(/x_content/, &:capitalize) .tr('_', ' ') end |
#wrap_width(width) ⇒ Object
Wraps the string with fixed Integer width.
161 162 163 |
# File 'lib/miga/common/format.rb', line 161 def wrap_width(width) gsub(/([^\n\r]{1,#{width}})/, "\\1\n") end |