Module: VedDecoder
- Defined in:
- lib/ved_decoder.rb,
lib/ved_decoder/ved_pb.rb,
lib/ved_decoder/version.rb
Constant Summary collapse
- KEY_MAPPER =
{'i' => 'index', 't' => 'type', 'r' => 'result_position', 's' => 'start_page'}
- Ved =
::Google::Protobuf::DescriptorPool.generated_pool.lookup("ved_decoder.Ved").msgclass
- VERSION =
"1.0.0"
Class Method Summary collapse
Class Method Details
.decode(str) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/ved_decoder.rb', line 10 def self.decode(str) return nil unless str.is_a?(String) if str[0] == '1' params = {} str[1..].split(',').each do |param| kv = param.strip.split(':') next unless kv.size == 2 if key = KEY_MAPPER[kv[0]] params[key] = kv[1].to_i end end Ved.new(params) else Ved.decode(Base64.urlsafe_decode64(str[1..])) end rescue nil end |