yeti 0.3.11 → 0.3.12

Sign up to get free protection for your applications and to get access to all the features.
data/lib/yeti/editor.rb CHANGED
@@ -2,6 +2,7 @@ module Yeti
2
2
  class Editor
3
3
  include ActiveModel::Validations
4
4
  include ActiveModel::Dirty
5
+ class InvalidDate < ::StandardError; end
5
6
 
6
7
  attr_reader :context
7
8
  delegate :id, :to_param, to: :edited, allow_nil: true
@@ -173,13 +174,20 @@ module Yeti
173
174
  when Date
174
175
  value
175
176
  else
176
- Date.parse value
177
+ format_date value
177
178
  end
178
179
  else
179
180
  value
180
181
  end
181
182
  end
182
183
 
184
+ def format_date(value)
185
+ return unless value
186
+ Date.parse value
187
+ rescue ArgumentError
188
+ raise InvalidDate, value
189
+ end
190
+
183
191
  def format_output(value, attribute_opts)
184
192
  value
185
193
  end
data/lib/yeti/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Yeti
2
- VERSION = "0.3.11"
2
+ VERSION = "0.3.12"
3
3
  end
@@ -353,6 +353,18 @@ describe ::Yeti::Editor do
353
353
  valid_from: Date.parse("2002-09-01")
354
354
  }
355
355
  end
356
+ it "when nil is assigned" do
357
+ subject.valid_from = nil
358
+ subject.attributes.should == {valid_from: nil}
359
+ subject.attributes_for_persist.should == {valid_from: nil}
360
+ end
361
+ it "when incorrect value is assigned" do
362
+ subject.valid_from = "2002-13-31"
363
+ subject.attributes.should == {valid_from: "2002-13-31"}
364
+ expect do
365
+ subject.attributes_for_persist
366
+ end.to raise_error ::Yeti::Editor::InvalidDate, "2002-13-31"
367
+ end
356
368
  end
357
369
  context "formatting can be changed with #format_input_for_persist" do
358
370
  let :described_class do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yeti
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.11
4
+ version: 0.3.12
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -116,7 +116,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
116
116
  version: '0'
117
117
  segments:
118
118
  - 0
119
- hash: -2480111560270293046
119
+ hash: 3702887707960526782
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  none: false
122
122
  requirements:
@@ -125,7 +125,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
125
125
  version: '0'
126
126
  segments:
127
127
  - 0
128
- hash: -2480111560270293046
128
+ hash: 3702887707960526782
129
129
  requirements: []
130
130
  rubyforge_project:
131
131
  rubygems_version: 1.8.23