Sha256: bdbb8729ec1636ece3a3611ce36f20fe35a277368ea7c1ee4679d61e021cfb51

Contents?: true

Size: 954 Bytes

Versions: 8

Compression:

Stored size: 954 Bytes

Contents

require 'spec_helper'
require 'volt/utils/data_transformer'

describe Volt::DataTransformer do
  it 'should transform values' do
    data = {
      name: 'Bob',
      stuff: [
        {key: /regex/}
      ],
      other: /another regex/,
      /some reg/ => 'value'
    }

    transformed = {
      :name=>"Bob",
      :stuff=>[
        {:key=>"a regex"}
      ],
      :other=>"a regex",
      "a regex"=>"value"
    }

    result = Volt::DataTransformer.transform(data) do |value|
      if value.is_a?(Regexp)
        'a regex'
      else
        value
      end
    end

    expect(result).to eq(transformed)
  end

  it 'should transform keys' do
    data = {
      'name' => 'Ryan',
      'info' => [
        {'place' => 'Bozeman'}
      ]
    }
    transformed = {:name=>"Ryan", :info=>[{:place=>"Bozeman"}]}
    result = Volt::DataTransformer.transform_keys(data) do |key|
      key.to_sym
    end

    expect(result).to eq(transformed)
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
volt-0.9.7.pre8 spec/utils/data_transformer_spec.rb
volt-0.9.7.pre7 spec/utils/data_transformer_spec.rb
volt-0.9.7.pre6 spec/utils/data_transformer_spec.rb
volt-0.9.7.pre5 spec/utils/data_transformer_spec.rb
volt-0.9.7.pre3 spec/utils/data_transformer_spec.rb
volt-0.9.7.pre2 spec/utils/data_transformer_spec.rb
volt-0.9.6 spec/utils/data_transformer_spec.rb
volt-0.9.6.pre3 spec/utils/data_transformer_spec.rb