Sha256: f4611801b3a826b48bb4956633bfa3ed3b6872d3c1af137aacd5453f5a023663

Contents?: true

Size: 718 Bytes

Versions: 7

Compression:

Stored size: 718 Bytes

Contents

require 'spec_helper'

describe "Adding attribute called 'attributes'" do

  context "when mass assignment is disabled" do
    before do
      module Examples
        class User
          include Virtus.model(mass_assignment: false)

          attribute :attributes
        end
      end
    end

    it "allows model to use `attributes` attribute" do
      user = Examples::User.new
      expect(user.attributes).to eq(nil)
      user.attributes = "attributes string"
      expect(user.attributes).to eq("attributes string")
    end

    it "doesn't accept `attributes` key in initializer" do
      user = Examples::User.new(attributes: 'attributes string')
      expect(user.attributes).to eq(nil)
    end
  end
end

Version data entries

7 entries across 7 versions & 3 rubygems

Version Path
cm-admin-1.5.22 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/spec/integration/attributes_attribute_spec.rb
cm-admin-1.5.21 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/spec/integration/attributes_attribute_spec.rb
cm-admin-1.5.20 vendor/bundle/ruby/3.3.0/gems/virtus-2.0.0/spec/integration/attributes_attribute_spec.rb
virtus2-2.1.0 spec/integration/attributes_attribute_spec.rb
virtus2-2.0.2 spec/integration/attributes_attribute_spec.rb
virtus2-2.0.1 spec/integration/attributes_attribute_spec.rb
virtus-2.0.0 spec/integration/attributes_attribute_spec.rb