normatron 0.0.2 → 0.0.3

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.
@@ -28,7 +28,7 @@ module Normatron
28
28
  elsif options.has_key? :with
29
29
  methods << options[:with]
30
30
  else
31
- raise "Wrong normalization option for #{attribute}, use :with instead."
31
+ raise "Wrong normalization option in #{self.name}, use :with instead."
32
32
  end
33
33
 
34
34
  # Make a prettier array
@@ -44,6 +44,7 @@ module Normatron
44
44
 
45
45
  def normalize_attributes
46
46
  options = self.class.standardize_options
47
+ return unless options
47
48
 
48
49
  options.each do |attribute, methods|
49
50
  value = send("#{attribute}_before_type_cast") || send(attribute)
@@ -5,7 +5,7 @@ module Normatron
5
5
  module Conversors
6
6
 
7
7
  @@MB_CHARS_METHODS = [:upcase, :downcase, :capitalize, :lstrip, :rstrip, :strip, :titlecase, :titleize]
8
- @@SELF_METHODS = [:nillify, :nullify, :nil, :trim, :currency, :integer, :float, :postal_code, :phone, :digits, :phrase]
8
+ @@SELF_METHODS = [:nillify, :nullify, :nil, :squish, :currency, :integer, :float, :postal_code, :phone, :digits, :phrase]
9
9
 
10
10
  def convert(method, value)
11
11
  if @@MB_CHARS_METHODS.include? method
@@ -27,7 +27,7 @@ module Normatron
27
27
  alias :convert_nullify :convert_nillify
28
28
 
29
29
  # Remove repeated spaces from the string.
30
- def convert_trim(value)
30
+ def convert_squish(value)
31
31
  value.mb_chars.to_s.gsub(/\p{Zs}+/u, ' ')
32
32
  end
33
33
 
@@ -85,7 +85,7 @@ module Normatron
85
85
  end
86
86
 
87
87
  def convert_phrase(value)
88
- convert(:trim, convert(:strip, value))
88
+ convert(:squish, convert(:strip, value))
89
89
  end
90
90
  end
91
91
  end
@@ -1,3 +1,3 @@
1
1
  module Normatron
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
@@ -4,7 +4,15 @@ require "spec_helper"
4
4
 
5
5
  describe Normatron do
6
6
  before :each do
7
- TestModel.standardize_options = {}
7
+ TestModel.standardize_options = nil
8
+ end
9
+
10
+ it "should save without any normalize options" do
11
+ lambda do
12
+ a = TestModel.new
13
+ a.string_field = "a"
14
+ a.save!
15
+ end.should_not raise_error
8
16
  end
9
17
 
10
18
  describe "Conversors" do
@@ -62,6 +70,13 @@ describe Normatron do
62
70
  m.string_field.should == "8888888"
63
71
  end
64
72
 
73
+ it :squish do
74
+ TestModel.normalize :string_field, :with => :squish
75
+
76
+ m = TestModel.create :string_field => " a b c, 1 2 3 DEF GHI i oz "
77
+ m.string_field.should == " a b c, 1 2 3 DEF GHI i oz "
78
+ end
79
+
65
80
  it :strip do
66
81
  TestModel.normalize :string_field, :with => :strip
67
82
 
@@ -83,8 +98,6 @@ describe Normatron do
83
98
  m.string_field.should == " A B C, 1 2 3 DEF GHI I OZ "
84
99
  end
85
100
 
86
-
87
-
88
101
  it :nillify do
89
102
  TestModel.normalize :string_field, :with => :nillify
90
103
 
@@ -92,13 +105,6 @@ describe Normatron do
92
105
  m.string_field.should == nil
93
106
  end
94
107
 
95
- it :trim do
96
- TestModel.normalize :string_field, :with => :trim
97
-
98
- m = TestModel.create :string_field => " a b c, 1 2 3 DEF GHI i oz "
99
- m.string_field.should == " a b c, 1 2 3 DEF GHI i oz "
100
- end
101
-
102
108
  it :lstrip do
103
109
  TestModel.normalize :string_field, :with => :lstrip
104
110
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: normatron
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors: