Sha256: 39655d55544848fc3404392b917d4626294047d5317b6de98b5f3f55eb895e05
Contents?: true
Size: 718 Bytes
Versions: 16
Compression:
Stored size: 718 Bytes
Contents
require 'spec_helper' describe 'I can extend objects' do before do module Examples class User; end class Admin; end end end specify 'defining attributes on an object' do attributes = { :name => 'John', :age => 29 } admin = Examples::Admin.new admin.extend(Virtus) admin.attribute :name, String admin.attribute :age, Integer admin.name = 'John' admin.age = 29 expect(admin.name).to eql('John') expect(admin.age).to eql(29) expect(admin.attributes).to eql(attributes) new_attributes = { :name => 'Jane', :age => 28 } admin.attributes = new_attributes expect(admin.name).to eql('Jane') expect(admin.age).to eql(28) end end
Version data entries
16 entries across 14 versions & 5 rubygems