has_versions 0.6.3 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
data/has_versions.gemspec CHANGED
@@ -1,7 +1,7 @@
1
1
  # -*- encoding: utf-8 -*-
2
2
  Gem::Specification.new do |s|
3
3
  s.name = "has_versions"
4
- s.version = '0.6.3'
4
+ s.version = '0.7.0'
5
5
 
6
6
  s.platform = Gem::Platform::RUBY
7
7
  s.authors = ["Grant Rodgers"]
@@ -11,7 +11,9 @@ module HasVersions
11
11
 
12
12
  def versioned_attributes
13
13
  self.class.versioned_attributes.inject({}) do |memo, attribute|
14
- memo[attribute] = versioning_encode_value(attribute, send(attribute))
14
+ if (value = send(attribute)).present?
15
+ memo[attribute] = versioning_encode_value(attribute, value)
16
+ end
15
17
  memo
16
18
  end
17
19
  end
@@ -5,19 +5,21 @@ module HasVersions
5
5
  class AttributesTest < MiniTest::Unit::TestCase
6
6
  class VersionedRecord < TestRecord
7
7
  attr_accessor :name
8
+ attr_accessor :price
8
9
  attr_accessor :weight
9
10
  attr_accessor :color
10
11
 
11
12
  versioning_configuration.attribute :name
13
+ versioning_configuration.attribute :price
12
14
  versioning_configuration.attribute :weight
13
15
  end
14
16
 
15
17
  def test_class_versioned_attributes
16
- assert_equal ['name', 'weight'], VersionedRecord.versioned_attributes
18
+ assert_equal ['name', 'price', 'weight'], VersionedRecord.versioned_attributes
17
19
  end
18
20
 
19
21
  def test_instance_versioned_attributes
20
- record = VersionedRecord.new(name: 'joe', weight: 142.0, color: 'green')
22
+ record = VersionedRecord.new(name: 'joe', price: nil, weight: 142.0, color: 'green')
21
23
  expected = {'name' => 'joe', 'weight' => '142.0'}
22
24
 
23
25
  assert_equal expected, record.versioned_attributes
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: has_versions
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.3
4
+ version: 0.7.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-06-27 00:00:00.000000000 Z
12
+ date: 2012-09-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activesupport