Class: PSD::EngineData::Instruction::String

Inherits:
PSD::EngineData::Instruction show all
Defined in:
lib/psd/enginedata/instructions/string.rb

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from PSD::EngineData::Instruction

#initialize, match, #match, #method_missing

Constructor Details

This class inherits a constructor from PSD::EngineData::Instruction

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class PSD::EngineData::Instruction

Class Method Details

.tokenObject



6
# File 'lib/psd/enginedata/instructions/string.rb', line 6

def self.token; Regexp.new('^\(\xFE\xFF(.*)\)$'.force_encoding('binary')); end

Instance Method Details

#execute!Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'lib/psd/enginedata/instructions/string.rb', line 8

def execute!
  data = self.class.token.match(
    @text.force_encoding('binary')
  )[1]

  begin
    data
      .force_encoding('UTF-16BE')
      .encode('UTF-8', 'UTF-16BE', universal_newline: true)
      .strip
  rescue
    data
  end
end