data_cleaner 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.
@@ -58,6 +58,17 @@ module DataCleaner
58
58
  :words => Faker::Lorem,
59
59
  }
60
60
 
61
+ # :call-seq: Cleaner.clean_value(attr, klass, instance=nil) -> clean_value
62
+ #
63
+ # Returns a clean value accoring to the format for the attribute and class
64
+ # specified. Be aware that if the format definition includes a block you
65
+ # many need to supply an instance of the class or you may get errors.
66
+ #
67
+ def self.clean_value(attribute, klass=self, object=nil)
68
+ arguments = DataCleaner::Formats.attribute_format(klass, attribute)
69
+ __replacement__(arguments, object)
70
+ end
71
+
61
72
  extend self
62
73
 
63
74
  # :call-seq: Cleaner.clean(obj) -> new_obj
@@ -36,7 +36,7 @@ module DataCleaner
36
36
  class << self; attr_accessor :formats end
37
37
  self.formats = {}
38
38
 
39
- # :call-seq: format(klass) {|format| block } -> format
39
+ # :call-seq: Formats.format(klass) {|format| block } -> format
40
40
  #
41
41
  # Yields a format object, which can be used to describe the format of klass.
42
42
  #
@@ -46,5 +46,18 @@ module DataCleaner
46
46
  formats[klass.to_s] = obj
47
47
  end
48
48
 
49
+ # :call-seq: Formats.attribute_format(klass, attribute) -> attribute_format
50
+ #
51
+ # Returns the format for a particular attribute as described in a format
52
+ # block.
53
+ #
54
+ def self.attribute_format(klass, attribute)
55
+ format = formats[klass.to_s]
56
+ if format
57
+ attribute, attribute_format = format.attributes.assoc(attribute.to_sym)
58
+ attribute_format
59
+ end
60
+ end
61
+
49
62
  end
50
63
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: data_cleaner
3
3
  version: !ruby/object:Gem::Version
4
- hash: 27
4
+ hash: 25
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 2
10
- version: 0.0.2
9
+ - 3
10
+ version: 0.0.3
11
11
  platform: ruby
12
12
  authors:
13
13
  - Matthew Sadler
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2011-02-02 00:00:00 +00:00
18
+ date: 2011-02-04 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency