Module: ActiveCleaner::HelperMethods
- Defined in:
- lib/active_cleaner/helper_methods.rb
Overview
Defines the DSL methods available in your model.
Instance Method Summary collapse
-
#clean(*attr_names) ⇒ Object
Registers a cleaner to a bunch of fields by its name.
-
#clean_with(cleaner) ⇒ Object
Registers a cleaner by an instance of it.
Instance Method Details
#clean(*attr_names) ⇒ Object
Registers a cleaner to a bunch of fields by its name.
Options
- :as
-
the kind of the cleaner. Default to
:string
Extra options are passed to the cleaner.
Example
class MyModel
include ActiveCleaner
clean :name, nilify: false
clean :firstname, :lastname, nilify: false
clean :resume, as: :markdown
end
25 26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/active_cleaner/helper_methods.rb', line 25 def clean(*attr_names) = attr_names..symbolize_keys attr_names.flatten! [:as] ||= :string cleaner = "active_cleaner/#{.delete(:as)}_cleaner".camelize.constantize attr_names.each do |attr_name| clean_with cleaner.new(attr_name, ) end end |
#clean_with(cleaner) ⇒ Object
Registers a cleaner by an instance of it.
class MyModel
include ActiveCleaner
clean_with ActiveCleaner::StringCleaner.new(:name, nilify: false)
end
45 46 47 |
# File 'lib/active_cleaner/helper_methods.rb', line 45 def clean_with(cleaner) _cleaners[cleaner.attr_name] << cleaner end |