Sha256: 29ae8ff75698b73d0fc859eeab920de0981cb7508be22856ea177ef32240cabe

Contents?: true

Size: 531 Bytes

Versions: 3

Compression:

Stored size: 531 Bytes

Contents

require 'spec_helper'

describe Virtus::Attribute::DefaultValue, '#evaluate' do
  subject { object.evaluate(instance) }

  let(:object)    { described_class.new(attribute, value)     }
  let(:attribute) { Virtus::Attribute::String.new(:title) }
  let(:instance)  { Class.new }

  context 'with a non-callable value' do
    let(:value) { 'something' }
    it { should eql(value) }
  end

  context 'with a callable value' do
    let(:value) { lambda { |instance, attribute| attribute.name } }
    it { should be(:title) }
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
virtus-0.0.9 spec/unit/virtus/attribute/default_value/instance_methods/evaluate_spec.rb
virtus-0.0.8 spec/unit/virtus/attribute/default_value/instance_methods/evaluate_spec.rb
virtus-0.0.7 spec/unit/virtus/attribute/default_value/instance_methods/evaluate_spec.rb