Sha256: 8343f8595863a2ebde56b6d557b84812679c7512242397e0f4abbb02d18c638f
Contents?: true
Size: 792 Bytes
Versions: 15
Compression:
Stored size: 792 Bytes
Contents
require 'spec_helper' describe Virtus::Attribute, '#get' do subject { object.get(instance) } let(:object) { described_class.build(String, options.update(:name => name)) } let(:model) { Class.new { attr_accessor :test } } let(:name) { :test } let(:instance) { model.new } let(:value) { 'Jane Doe' } let(:options) { {} } context 'with :lazy is set to false' do before do instance.test = value end it { is_expected.to be(value) } end context 'with :lazy is set to true' do let(:options) { { :lazy => true, :default => value } } it { is_expected.to eql(value) } it 'sets default only on first access' do expect(object.get(instance)).to eql(value) expect(object.get(instance)).to be(instance.test) end end end
Version data entries
15 entries across 13 versions & 5 rubygems