Sha256: 75125bb83162be16fede90b0e045d49fa02772295e91b532ee3eb37dd6cd1c03

Contents?: true

Size: 595 Bytes

Versions: 7

Compression:

Stored size: 595 Bytes

Contents

require 'spec_helper'

describe Virtus::Attribute::EmbeddedValue, '.determine_type' do
  subject { described_class.determine_type(value) }

  context "with Struct" do
    let(:value) { Struct.new(:x) }

    it { should be(Virtus::Attribute::EmbeddedValue::FromStruct) }
  end

  context "with OpenStruct" do
    let(:value) { OpenStruct }

    it { should be(Virtus::Attribute::EmbeddedValue::FromOpenStruct) }
  end

  context "with a Virtus descendant" do
    let(:value) { Class.new { include Virtus; self } }

    it { should be(Virtus::Attribute::EmbeddedValue::FromOpenStruct) }
  end
end

Version data entries

7 entries across 7 versions & 2 rubygems

Version Path
virtus-0.5.5 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
virtus-0.5.4 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
virtus-0.5.3 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
fragrant-0.0.5 vendor/bundle/ruby/1.9.1/gems/virtus-0.5.2/spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
virtus-0.5.2 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
virtus-0.5.1 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb
virtus-0.5.0 spec/unit/virtus/attribute/embedded_value/class_methods/determine_type_spec.rb