Class: CharDet::CodingStateMachine
- Defined in:
- lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb
Instance Method Summary collapse
- #get_coding_state_machine ⇒ Object
- #get_current_charlen ⇒ Object
-
#initialize(sm) ⇒ CodingStateMachine
constructor
A new instance of CodingStateMachine.
- #next_state(c) ⇒ Object
- #reset ⇒ Object
Constructor Details
#initialize(sm) ⇒ CodingStateMachine
Returns a new instance of CodingStateMachine.
31 32 33 34 35 36 |
# File 'lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb', line 31 def initialize(sm) @_mModel = sm @_mCurrentBytePos = 0 @_mCurrentCharLen = 0 reset() end |
Instance Method Details
#get_coding_state_machine ⇒ Object
60 61 62 |
# File 'lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb', line 60 def get_coding_state_machine return @_mModel['name'] end |
#get_current_charlen ⇒ Object
56 57 58 |
# File 'lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb', line 56 def get_current_charlen return @_mCurrentCharLen end |
#next_state(c) ⇒ Object
42 43 44 45 46 47 48 49 50 51 52 53 54 |
# File 'lib/action_mailer/vendor/tmail-1.2.7/tmail/vendor/rchardet-1.3/lib/rchardet/codingstatemachine.rb', line 42 def next_state(c) # for each byte we get its class # if it is first byte, we also get byte length byteCls = @_mModel['classTable'][c[0]] if @_mCurrentState == EStart @_mCurrentBytePos = 0 @_mCurrentCharLen = @_mModel['charLenTable'][byteCls] end # from byte's class and stateTable, we get its next state @_mCurrentState = @_mModel['stateTable'][@_mCurrentState * @_mModel['classFactor'] + byteCls] @_mCurrentBytePos += 1 return @_mCurrentState end |