Sha256: 7559c4a507e0a06aaf9757cc5e5d2cbca28fecf8f887539b23c36087c0cd2b46

Contents?: true

Size: 1004 Bytes

Versions: 80

Compression:

Stored size: 1004 Bytes

Contents

require 'spec_helper'

describe EY::Model::ApiStruct do
  class Foo < EY::Model::ApiStruct.new(:fruit, :veggie); end

  it "acts like a normal struct" do
    f = Foo.new("banana")

    f.fruit.should == "banana"
  end

  describe "from_hash initializer" do
    it "assigns values from string keys" do
      f = Foo.from_hash("fruit" => "banana")
      f.should == Foo.new("banana")
    end

    it "assigns values from symbol keys" do
      f = Foo.from_hash(:fruit => "banana")
      f.should == Foo.new("banana")
    end
  end

  describe "from_array initializer" do
    it "provides a from_array initializer" do
      f = Foo.from_array([:fruit => "banana"])
      f.should == [Foo.new("banana")]
    end

    it "handles a common-arguments hash as the second argument" do
      foos = Foo.from_array(
        [{:fruit => "banana"}, {:fruit => 'apple'}],
        :veggie => 'kale')
      foos.should == [
        Foo.new("banana", "kale"),
        Foo.new("apple", "kale"),
      ]
    end
  end

end

Version data entries

80 entries across 80 versions & 1 rubygems

Version Path
engineyard-1.4.29 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.28 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.27 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.24 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.23 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.22 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.21 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.20 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.19 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.18 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.17 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.16 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.15 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.14 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.13 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.11 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.10 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.9 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.8 spec/engineyard/model/api_struct_spec.rb
engineyard-1.4.7 spec/engineyard/model/api_struct_spec.rb