Sha256: cd9a7f5eb43d7591d5e8b92358d4365bbf65a7611ac1e0a0f6e871c7a9a64b6e
Contents?: true
Size: 1.21 KB
Versions: 3
Compression:
Stored size: 1.21 KB
Contents
require 'darkext/hash' class String # Parses a string like "1..10" to a Range def to_range case self.count('.') when 2 elements = self.split('..') if elements[0] == elements[0].to_i.to_s return Range.new(elements[0].to_i, elements[1].to_i) else return Range.new(elements[0], elements[1]) end when 3 elements = self.split('...') if elements[0] == elements[0].to_i.to_s return Range.new(elements[0].to_i, (elements[1] - 1).to_i) else return Range.new(elements[0], elements[1] - 1) end end return nil end # Executes the string with system # * :background => true to run command in the background using & (currently only works on *nix systems) # * :capture => true to capture the output. If :capture => true, background is voided def exec(opts = {}) opts.with_defaults!(:background => false, :capture => false) cmd = self # TODO: Do this with threads maybe, so it's OS agnostic? cmd += " &" if opts[:background] && !opts[:capture] return system(cmd) if !opts[:capture] return `#{cmd}` if opts[:capture] end # Prints the String using print def print Kernel.print(self) end alias :/ :split end
Version data entries
3 entries across 3 versions & 1 rubygems
Version | Path |
---|---|
darkhelmet-darkext-0.5.6 | lib/darkext/string.rb |
darkhelmet-darkext-0.6.0 | lib/darkext/string.rb |
darkhelmet-darkext-0.7.0 | lib/darkext/string.rb |