attribute_normalizer 1.2.0.b → 1.2.0

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,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- YzcwZmYzMjkxMmFmMTk1MzJhNDkzMjVlNDllNGUxMWNhZDM2Zjk1Yg==
4
+ ZGNlMjVjZmYwYTMwMTA4YTQ5MWNkYzU4NTgwNTRjYzE0MTA1ZGY1ZQ==
5
5
  data.tar.gz: !binary |-
6
- OGU0YjVlZjJjMGNkODk5NTE3MDUwMDU4ODllZjc2MDg2NzNlYzQyMQ==
7
- !binary "U0hBNTEy":
6
+ NzVkMGU3YWVjYjQwOTJjOGFjZDk5Zjg5NDAwNmE5NTcyMTU5M2FjOA==
7
+ SHA512:
8
8
  metadata.gz: !binary |-
9
- ODQ4OWY1YjdkZmE1YjFlNzM2MTEwYjY5ZWY2N2QzYmYzYTI4ZjI1ZjNhNTg0
10
- NjhmN2QwNDcwMmMxNDY3YjNkNmUzMDM5ZTgyODg1ZWE1YzE1YjlkYWZlMzYw
11
- NzJlZWM5ZDZkZWRkNWJhMzljZjExMzY4ZDIwNjM3ZGQwMTQxNTY=
9
+ NTk5YjhiMTA3YWJlZTg3NmQwNDY5ZjA1NTUzYjU5MWY1ODAyNGNkNjQ3ZjVi
10
+ N2QzYzVjZmI1NDU2NzljMWEyOTJhZDk0ZmM2MGRhMjA4OTcwMTQwODk3MTFk
11
+ YmExMjg3ZGZkNjIyZTljZGExYTAwMWRjM2E4MmJkZmM0MDE3ODU=
12
12
  data.tar.gz: !binary |-
13
- MGRjYmZkMzY3MjZkMjk0ZTg0YjE5MTE4M2FjZTNlODA5NjMxNjYwMjFiM2E2
14
- NjY4NGNiMjQ2YmM4ZTc2MGU2OTA5NGU5YzhjZWY2NGUyNzFmMDg4Y2JhYThh
15
- YWJlOWNjOWExYTlkYTkyOWRiNWVkMDdmMDUzZjM3NjZhODlkNDc=
13
+ Y2VhNzFiZjYxMTg4MTk2Y2VkNTU2OGNiNTU0YjA1MmYyMTA4MTc0MzRjYTkw
14
+ NzM5N2ZiNmQ3ZWEwMWJhZGExM2U4MDM1NWUzZmQ2ZmEwOGYxODQ2MWM1MDcz
15
+ OWQyNzQ2YjY2ZDZhZmRkNTQ2Y2YzYjJlZjJjZDAyOTQyYmM0Yjc=
@@ -27,7 +27,7 @@ h2. Change History
27
27
  ** Added out of the box support for CassandraObjects
28
28
  ** Included RSpec matcher _normalizer_attribute_
29
29
  ** Added the ability to define global normalizers
30
- ** *Strings are no longer get 'strip' called on them before getting passed on to your defined normalization blocks*
30
+ ** *Strings no longer get 'strip' called on them before getting passed on to your defined normalization blocks*
31
31
 
32
32
  h2. Supported ORMs
33
33
 
@@ -109,7 +109,7 @@ AttributeNormalizer.configure do |config|
109
109
  # the default normalizers for each attribute (e.g. config.default_normalizers)
110
110
  # config.default_attributes = :name, :title
111
111
 
112
- # Also, You can add an specific attribute to default_attributes using one or more normalizers:
112
+ # Also, You can add a specific attribute to default_attributes using one or more normalizers:
113
113
  # config.add_default_attribute :name, :with => :truncate
114
114
  end
115
115
  </code></pre>
@@ -133,7 +133,7 @@ The _normalize_attributes_ method is eager loaded into your ORM. _normalize_att
133
133
  value.is_a?(String) ? value.titleize.strip : value
134
134
  end
135
135
 
136
- # Or use a combination of normalizers plus a inline block.
136
+ # Or use a combination of normalizers plus an inline block.
137
137
  # the normalizers in the :with option will each be evalulated
138
138
  # in order and the result will be given to the block.
139
139
  # You could also use option :before in place of :with
@@ -141,7 +141,7 @@ The _normalize_attributes_ method is eager loaded into your ORM. _normalize_att
141
141
  value.present? && value.is_a?(String) ? value.downcase.gsub(/\s+/, '-') : value
142
142
  end
143
143
 
144
- # Use buildin normalizers before and after the evaluation of your inline
144
+ # Use builtin normalizers before and after the evaluation of your inline
145
145
  # block
146
146
  normalize_attribute :limited_slug, :before => [ :strip, :blank ], :after => [ { :truncate => { :length => 11, :omission => '' } } ] do |value|
147
147
  value.present? && value.is_a?(String) ? value.downcase.gsub(/\s+/, '-') : value
@@ -164,7 +164,7 @@ book.limited_slug # => 'pick-up-chi'
164
164
 
165
165
  h2. Test Helpers
166
166
 
167
- p. If you are running RSpec there is matcher available for use. Usage can been seen above. Include it as follows.
167
+ p. If you are running RSpec there is a matcher available for use. Usage can been seen above. Include it as follows.
168
168
 
169
169
  h3. Rails 2
170
170
 
@@ -3,6 +3,7 @@ require 'attribute_normalizer/normalizers/phone_normalizer'
3
3
  require 'attribute_normalizer/normalizers/strip_normalizer'
4
4
  require 'attribute_normalizer/normalizers/squish_normalizer'
5
5
  require 'attribute_normalizer/normalizers/whitespace_normalizer'
6
+ require 'attribute_normalizer/normalizers/boolean_normalizer'
6
7
 
7
8
  module AttributeNormalizer
8
9
 
@@ -35,7 +36,8 @@ module AttributeNormalizer
35
36
  :phone => AttributeNormalizer::Normalizers::PhoneNormalizer,
36
37
  :squish => AttributeNormalizer::Normalizers::SquishNormalizer,
37
38
  :strip => AttributeNormalizer::Normalizers::StripNormalizer,
38
- :whitespace => AttributeNormalizer::Normalizers::WhitespaceNormalizer
39
+ :whitespace => AttributeNormalizer::Normalizers::WhitespaceNormalizer,
40
+ :boolean => AttributeNormalizer::Normalizers::BooleanNormalizer
39
41
  }
40
42
 
41
43
  @default_normalizers = [ :strip, :blank ]
@@ -0,0 +1,18 @@
1
+ # Extracted from ActiveRecord::ConnectionAdapters::Column
2
+ require 'set'
3
+
4
+ module AttributeNormalizer
5
+ module Normalizers
6
+ module BooleanNormalizer
7
+ TRUE_VALUES = [true, 1, '1', 't', 'T', 'true', 'TRUE', 'on', 'ON'].to_set
8
+
9
+ def self.normalize(value, options = {})
10
+ if value.is_a?(String) && value.blank?
11
+ nil
12
+ else
13
+ TRUE_VALUES.include?(value)
14
+ end
15
+ end
16
+ end
17
+ end
18
+ end
@@ -2,7 +2,7 @@ module AttributeNormalizer
2
2
  module Normalizers
3
3
  module WhitespaceNormalizer
4
4
  def self.normalize(value, options = {})
5
- value.is_a?(String) ? value.gsub(/[^\S\n]+/, ' ').gsub(/\s+\n$/, "\n").strip : value
5
+ value.is_a?(String) ? value.gsub(/[^\S\n]+/, ' ').gsub(/\s?\n\s?/, "\n").strip : value
6
6
  end
7
7
  end
8
8
  end
@@ -21,9 +21,10 @@ module AttributeNormalizer
21
21
  "#{@attribute} did not normalize as expected! \"#{@subject.send(@attribute)}\" != #{@to.nil? ? 'nil' : "\"#{@to}\""}"
22
22
  end
23
23
 
24
- def negative_failure_message
24
+ def failure_message_when_negated
25
25
  "expected #{@attribute} to not be normalized from #{@from.nil? ? 'nil' : "\"#{@from}\""} to #{@to.nil? ? 'nil' : "\"#{@to}\""}"
26
26
  end
27
+ alias negative_failure_message failure_message_when_negated
27
28
 
28
29
  def from(value)
29
30
  @from = value
@@ -5,7 +5,7 @@ module AttributeNormalizer
5
5
  MAJOR = 1
6
6
  MINOR = 2
7
7
  PATCH = 0
8
- BUILD = 'b'
8
+ BUILD = nil
9
9
 
10
10
  def self.to_s
11
11
  [ MAJOR, MINOR, PATCH, BUILD ].compact.join('.')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attribute_normalizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0.b
4
+ version: 1.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Deering
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-08-30 00:00:00.000000000 Z
11
+ date: 2014-07-10 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: ''
14
14
  email:
@@ -17,16 +17,17 @@ executables: []
17
17
  extensions: []
18
18
  extra_rdoc_files: []
19
19
  files:
20
+ - README.textile
21
+ - lib/attribute_normalizer.rb
20
22
  - lib/attribute_normalizer/model_inclusions.rb
21
- - lib/attribute_normalizer/rspec_matcher.rb
22
- - lib/attribute_normalizer/normalizers/whitespace_normalizer.rb
23
- - lib/attribute_normalizer/normalizers/strip_normalizer.rb
24
- - lib/attribute_normalizer/normalizers/phone_normalizer.rb
25
23
  - lib/attribute_normalizer/normalizers/blank_normalizer.rb
24
+ - lib/attribute_normalizer/normalizers/boolean_normalizer.rb
25
+ - lib/attribute_normalizer/normalizers/phone_normalizer.rb
26
26
  - lib/attribute_normalizer/normalizers/squish_normalizer.rb
27
+ - lib/attribute_normalizer/normalizers/strip_normalizer.rb
28
+ - lib/attribute_normalizer/normalizers/whitespace_normalizer.rb
29
+ - lib/attribute_normalizer/rspec_matcher.rb
27
30
  - lib/attribute_normalizer/version.rb
28
- - lib/attribute_normalizer.rb
29
- - README.textile
30
31
  homepage: https://github.com/mdeering/attribute_normalizer
31
32
  licenses: []
32
33
  metadata: {}
@@ -41,12 +42,12 @@ required_ruby_version: !ruby/object:Gem::Requirement
41
42
  version: '0'
42
43
  required_rubygems_version: !ruby/object:Gem::Requirement
43
44
  requirements:
44
- - - ! '>'
45
+ - - ! '>='
45
46
  - !ruby/object:Gem::Version
46
- version: 1.3.1
47
+ version: '0'
47
48
  requirements: []
48
49
  rubyforge_project:
49
- rubygems_version: 2.0.5
50
+ rubygems_version: 2.2.2
50
51
  signing_key:
51
52
  specification_version: 4
52
53
  summary: ''