Sha256: c7832e8c4264de362ce165ba28a028e69ddc3d6589cd89a715f904318f8154e2

Contents?: true

Size: 608 Bytes

Versions: 33

Compression:

Stored size: 608 Bytes

Contents

require 'test_helper'

class ReaderWriterTest < BaseTest
  representer! do
    property :name,
      :writer => lambda { |doc, args| doc["title"] = "#{args[:nr]}) #{name}" },
      :reader => lambda { |doc, args| self.name = doc["title"].split(") ").last }
  end

  subject { OpenStruct.new(:name => "Disorder And Disarray").extend(representer) }

  it "uses :writer when rendering" do
    subject.to_hash(:nr => 14).must_equal({"title" => "14) Disorder And Disarray"})
  end

  it "uses :reader when parsing" do
    subject.from_hash({"title" => "15) The Wars End"}).name.must_equal "The Wars End"
  end
end

Version data entries

33 entries across 33 versions & 1 rubygems

Version Path
representable-2.4.1 test-with-deprecations/reader_writer_test.rb
representable-2.4.0 test-with-deprecations/reader_writer_test.rb
representable-2.4.0.rc5 test-with-deprecations/reader_writer_test.rb
representable-2.4.0.rc4 test-with-deprecations/reader_writer_test.rb
representable-2.4.0.rc3 test/reader_writer_test.rb
representable-2.4.0.rc2 test/reader_writer_test.rb
representable-2.4.0.rc1 test/reader_writer_test.rb
representable-2.3.0 test/reader_writer_test.rb
representable-2.2.3 test/reader_writer_test.rb
representable-2.2.2 test/reader_writer_test.rb
representable-2.2.1 test/reader_writer_test.rb
representable-2.2.0 test/reader_writer_test.rb
representable-2.1.8 test/reader_writer_test.rb
representable-2.1.7 test/reader_writer_test.rb
representable-2.1.6 test/reader_writer_test.rb
representable-2.1.5 test/reader_writer_test.rb
representable-2.1.4 test/reader_writer_test.rb
representable-2.1.3 test/reader_writer_test.rb
representable-2.1.1 test/reader_writer_test.rb
representable-2.1.0 test/reader_writer_test.rb