pencil_pusher 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
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