Sha256: faabbf40dd6ce67419f67f2ae79de04ffa956209e90e50885645dbd4de77880b

Contents?: true

Size: 1021 Bytes

Versions: 9

Compression:

Stored size: 1021 Bytes

Contents

require 'spec_helper'
describe MetaReports::Data do
  it 'can be created' do
    MetaReports::Data.new.should be
  end

  it 'returns the hash' do
    data = MetaReports::Data.new
    data.to_h.class.name.should == 'Hash'
  end

  it 'stores unknown methods in hash' do
    data = MetaReports::Data.new
    data.foo = "moo"
    data.to_h[:foo].should == "moo"
    data[:bar] = "boo"
    data.to_h[:bar].should == "boo"
  end

  it 'returns hash values' do
    data = MetaReports::Data.new
    data.foo = "bar"
    data.foo.should == "bar"
  end

  it 'returns nil or val for [] methods' do
    data = MetaReports::Data.new
    data[:foo].should == nil
    data[:foo] = "bar"
    data[:foo].should == "bar"
  end

  it 'passes methods to hash if not a key' do
    data = MetaReports::Data.new
    data.foo = "bar"
    data.to_a.should match_array([[:foo, "bar"], [:tables, {}]])
  end

  it 'works with a block' do
    data = MetaReports::Data.new do |d|
      d.foo = "bar"
    end
    data.foo.should == 'bar'
  end
end

Version data entries

9 entries across 9 versions & 1 rubygems

Version Path
meta_reports-0.1.3 spec/models/data_spec.rb
meta_reports-0.1.2 spec/models/data_spec.rb
meta_reports-0.1.1 spec/models/data_spec.rb
meta_reports-0.1.0 spec/models/data_spec.rb
meta_reports-0.0.5 spec/models/data_spec.rb
meta_reports-0.0.4 spec/models/data_spec.rb
meta_reports-0.0.3 spec/models/data_spec.rb
meta_reports-0.0.2 spec/models/data_spec.rb
meta_reports-0.0.1 spec/models/data_spec.rb