pencil_pusher 0.0.1 → 0.0.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: b2804c9da0b757d0e9c1413c8b8c7655f96d3e49
4
- data.tar.gz: 13e875e6a7d5007dffc91eb64ac35528c49b57b5
3
+ metadata.gz: 38bac29daaef588d28e1ff3dcc72fe2fd61ae158
4
+ data.tar.gz: 24cd32266128bb7108ab4e0c98d70fe59bc9cb1d
5
5
  SHA512:
6
- metadata.gz: 84f00e531874c7c38ca2b8ca265eda39d86beac36cbce26917ed4132a3c0a9a8ef102130d7d99ebd4d2fd9ca84d041006d6a380961f1cfe698264782746338e5
7
- data.tar.gz: c618e5d6eff8f22fce9b4f9244c1428ec02530c66ced1be523a44d0d664500aac80f98d67168911222828f0f53dbac64d0ca16f0b69b8cce8526cbc0cf9ca45a
6
+ metadata.gz: 82a81198049f01e96e6c244755be0252f7c96c081cd563ae351cbb594be3f2775565c4fc781c42c13555b565a72fb579a9ec9d17d1f2144abb0d5903bbcfc4d9
7
+ data.tar.gz: c146e0d14bf237ba0862eca5d70afe89f544db0cb616104791facbd95c0860a98bf02843cf60d80c37dc0f22ef1e24573e63ead16ab6fc8596d412412c01a12d
@@ -0,0 +1,35 @@
1
+ require 'virtus'
2
+ require 'date'
3
+
4
+ module PencilPusher
5
+ module Virtus
6
+ module Coercer
7
+ class StrictDateTime < ::Virtus::Attribute
8
+ def initialize(type, options)
9
+ @format = options[:format]
10
+ super
11
+ end
12
+
13
+ def coerce(value)
14
+ return nil if value.nil?
15
+ coerce_date(value)
16
+ end
17
+
18
+ private
19
+
20
+ attr_reader :format
21
+
22
+ def coerce_date(value)
23
+ return value if value.is_a?(Date)
24
+ if format
25
+ DateTime.strptime(value, format)
26
+ else
27
+ Date.parse(value)
28
+ end
29
+ rescue ArgumentError
30
+ nil
31
+ end
32
+ end
33
+ end
34
+ end
35
+ end
metadata CHANGED
@@ -1,14 +1,15 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: pencil_pusher
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Myles Megyesi
8
+ - Steve Kim
8
9
  autorequire:
9
10
  bindir: bin
10
11
  cert_chain: []
11
- date: 2013-09-25 00:00:00.000000000 Z
12
+ date: 2013-10-02 00:00:00.000000000 Z
12
13
  dependencies:
13
14
  - !ruby/object:Gem::Dependency
14
15
  name: activemodel
@@ -30,14 +31,28 @@ dependencies:
30
31
  requirements:
31
32
  - - ~>
32
33
  - !ruby/object:Gem::Version
33
- version: 1.0.0beta6
34
+ version: 1.0.0beta8
34
35
  type: :runtime
35
36
  prerelease: false
36
37
  version_requirements: !ruby/object:Gem::Requirement
37
38
  requirements:
38
39
  - - ~>
39
40
  - !ruby/object:Gem::Version
40
- version: 1.0.0beta6
41
+ version: 1.0.0beta8
42
+ - !ruby/object:Gem::Dependency
43
+ name: pry
44
+ requirement: !ruby/object:Gem::Requirement
45
+ requirements:
46
+ - - ~>
47
+ - !ruby/object:Gem::Version
48
+ version: 0.9.12.2
49
+ type: :development
50
+ prerelease: false
51
+ version_requirements: !ruby/object:Gem::Requirement
52
+ requirements:
53
+ - - ~>
54
+ - !ruby/object:Gem::Version
55
+ version: 0.9.12.2
41
56
  - !ruby/object:Gem::Dependency
42
57
  name: rake
43
58
  requirement: !ruby/object:Gem::Requirement
@@ -69,12 +84,14 @@ dependencies:
69
84
  description: Form builder and validator
70
85
  email:
71
86
  - myles.megyesi@gmail.com
87
+ - skim.la@gmail.com
72
88
  executables: []
73
89
  extensions: []
74
90
  extra_rdoc_files: []
75
91
  files:
76
92
  - lib/pencil_pusher/have_errors.rb
77
93
  - lib/pencil_pusher/form_builder.rb
94
+ - lib/pencil_pusher/virtus/coercer/strict_date_time.rb
78
95
  - lib/pencil_pusher/have_text_field.rb
79
96
  - lib/pencil_pusher/have_int_field.rb
80
97
  - lib/pencil_pusher/matchers.rb