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.
150 151 152 |
# File 'lib/miga/common/format.rb', line 150 def miga_name gsub(/[^A-Za-z0-9_]/, '_') end |
#miga_name? ⇒ Boolean
Is the string a MiGA-compliant name?
156 157 158 |
# File 'lib/miga/common/format.rb', line 156 def miga_name? !(self !~ /^[A-Za-z0-9_]+$/) end |
#miga_variables(vars) ⇒ Object
Replace {variables} using the vars hash
182 183 184 185 186 |
# File 'lib/miga/common/format.rb', line 182 def miga_variables(vars) o = self.dup 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
162 163 164 165 166 167 168 169 170 171 172 |
# File 'lib/miga/common/format.rb', line 162 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) .gsub(/(^|_)([sl]su|a[an]i)(_|$)/, &:upcase) .gsub(/^trna_/, 'tRNA ') .gsub(/tRNA aa/, 'tRNA AA') .tr('_', ' ') end |
#wrap_width(width) ⇒ Object
Wraps the string with fixed Integer width.
176 177 178 |
# File 'lib/miga/common/format.rb', line 176 def wrap_width(width) gsub(/([^\n\r]{1,#{width}})/, "\\1\n") end |