Class: String

Inherits:
Object
  • Object
show all
Defined in:
lib/miga/common/format.rb

Overview

MiGA extensions to the String class.

Instance Method Summary collapse

Instance Method Details

#miga_nameObject

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.



139
140
141
# File 'lib/miga/common/format.rb', line 139

def miga_name
  gsub(/[^A-Za-z0-9_]/, '_')
end

#miga_name?Boolean

Is the string a MiGA-compliant name?

Returns:

  • (Boolean)


145
146
147
# File 'lib/miga/common/format.rb', line 145

def miga_name?
  !(self !~ /^[A-Za-z0-9_]+$/)
end

#miga_variables(vars) ⇒ Object

Replace {variables} using the vars hash



168
169
170
171
172
# File 'lib/miga/common/format.rb', line 168

def miga_variables(vars)
  o = "#{self}"
  vars.each { |k, v| o.gsub!("{{#{k}}}", v.to_s) }
  o
end

#unmiga_nameObject

Replace underscores by spaces or other symbols depending on context



151
152
153
154
155
156
157
158
# File 'lib/miga/common/format.rb', line 151

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.



162
163
164
# File 'lib/miga/common/format.rb', line 162

def wrap_width(width)
  gsub(/([^\n\r]{1,#{width}})/, "\\1\n")
end