active_interaction 0.2.1 → 0.2.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 8f09f8d81f379fd89253838963e3f83afa773d89
4
- data.tar.gz: 8b17cb77b2e7c3ec5a3ec2c180aadaf8ba8c3441
3
+ metadata.gz: fe823793d930b947cf93fb8c5e9653b7bcd63e49
4
+ data.tar.gz: 9bfec14c2454c235e20e1ab347c927680ddb7101
5
5
  SHA512:
6
- metadata.gz: 02798d054bf54db9b2940cfb2b822663cdd49dc8662172efe8cfa120287c942837ce87c3e1864538e3b5cce5b8dde125bdb2a17a162d855b67b426163bcfc660
7
- data.tar.gz: 8178136dda58fd2ec4ca0ebf584ad753ab2f3f82a81065225e5e04b0c556f1802cdb76d46aafaa0e4f27b86fe6d28e5f64b30460e83f4dcfe4e0548be9b0a286
6
+ metadata.gz: f469a6ed3d1efa8afab46b59a2c1c910ce4fa0a089524d892f04da1c9e7a17a8450a49d3c445f16c19a9df228606271fde3a33ab0cdf4049cc00eca2612e544c
7
+ data.tar.gz: 1abe93f04ed2ff447e0a36189b41386e98bfbf9abeb4f19d5a849aae461a0becf5c141be7464d88511031a225010a9cf96facb9d0145002ce5abd654d26fe6dc
data/CHANGELOG.md CHANGED
@@ -1,3 +1,9 @@
1
+ # [Master][]
2
+
3
+ # [0.2.2][] (2013-08-07)
4
+
5
+ - Fix support for `ActiveSupport::TimeWithZone`.
6
+
1
7
  # [0.2.1][] (2013-08-06)
2
8
 
3
9
  - Fix setting a default value on more than one attribute at a time.
@@ -27,6 +33,8 @@
27
33
 
28
34
  - Initial release.
29
35
 
36
+ [master]: https://github.com/orgsync/active_interaction/compare/v0.2.2...master
37
+ [0.2.2]: https://github.com/orgsync/active_interaction/compare/v0.2.1...v0.2.2
30
38
  [0.2.1]: https://github.com/orgsync/active_interaction/compare/v0.2.0...v0.2.1
31
39
  [0.2.0]: https://github.com/orgsync/active_interaction/compare/v0.1.3...v0.2.0
32
40
  [0.1.3]: https://github.com/orgsync/active_interaction/compare/v0.1.2...v0.1.3
data/README.md CHANGED
@@ -22,7 +22,7 @@ This project uses [semantic versioning][].
22
22
  Add it to your Gemfile:
23
23
 
24
24
  ```ruby
25
- gem 'active_interaction', '~> 0.2.1'
25
+ gem 'active_interaction', '~> 0.2.2'
26
26
  ```
27
27
 
28
28
  And then execute:
@@ -25,7 +25,7 @@ module ActiveInteraction
25
25
  when Numeric
26
26
  time.at(value)
27
27
  else
28
- super(key, value, options.merge(class: time), &block)
28
+ super(key, value, options.merge(class: time_class), &block)
29
29
  end
30
30
  end
31
31
 
@@ -37,5 +37,10 @@ module ActiveInteraction
37
37
  end
38
38
  end
39
39
  private_class_method :time
40
+
41
+ def self.time_class
42
+ time.at(0).class
43
+ end
44
+ private_class_method :time_class
40
45
  end
41
46
  end
@@ -1,3 +1,3 @@
1
1
  module ActiveInteraction
2
- VERSION = Gem::Version.new('0.2.1')
2
+ VERSION = Gem::Version.new('0.2.2')
3
3
  end
@@ -1,5 +1,47 @@
1
1
  require 'spec_helper'
2
2
 
3
- describe 'TimeInteraction' do
3
+ class TimeZone
4
+ def self.at(*args)
5
+ TimeWithZone.at(*args)
6
+ end
7
+ end
8
+
9
+ class TimeWithZone
10
+ def self.at(*args)
11
+ self.new(Time.at(*args))
12
+ end
13
+
14
+ def initialize(time)
15
+ @time = time
16
+ end
17
+
18
+ def ==(time)
19
+ @time == time
20
+ end
21
+ end
22
+
23
+ class TimeInteraction < ActiveInteraction::Base
24
+ time :a
25
+
26
+ def execute
27
+ a
28
+ end
29
+ end
30
+
31
+ describe TimeInteraction do
32
+ include_context 'interactions'
4
33
  it_behaves_like 'an interaction', :time, -> { Time.now }
34
+
35
+ context 'with a time zone' do
36
+ let(:a) { rand(1 << 16) }
37
+
38
+ before do
39
+ allow(Time).to receive(:zone).and_return(TimeZone)
40
+ options.merge!(a: a)
41
+ end
42
+
43
+ it 'returns the correct value' do
44
+ expect(result).to eq Time.at(a)
45
+ end
46
+ end
5
47
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_interaction
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Aaron Lasseigne
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-08-06 00:00:00.000000000 Z
12
+ date: 2013-08-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: activemodel
@@ -218,7 +218,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
218
218
  version: '0'
219
219
  requirements: []
220
220
  rubyforge_project:
221
- rubygems_version: 2.0.3
221
+ rubygems_version: 2.0.6
222
222
  signing_key:
223
223
  specification_version: 4
224
224
  summary: Manage application specific business logic.