Module: ActsAsFormatted::InstanceMethods

Defined in:
lib/acts_as_formatted/acts_as_formatted.rb

Instance Method Summary collapse

Instance Method Details

#formatters_for(field_name) ⇒ Object



95
96
97
98
99
100
101
# File 'lib/acts_as_formatted/acts_as_formatted.rb', line 95

def formatters_for(field_name)
  @formatters ||= {}
  @formatters[field_name] ||= begin
    formatters = self.class.format_configuration[:fields][field_name][:formatters]
    formatters.collect { |formatter| "#{formatter}_formatter".camelize.constantize.new }
  end
end

#reformat(field_name) ⇒ Object



103
104
105
106
107
108
109
# File 'lib/acts_as_formatted/acts_as_formatted.rb', line 103

def reformat(field_name)
  text = attributes[field_name.to_s]
  formatters_for(field_name).each do |formatter|
    text = formatter.format_text(text)
  end unless text.nil?
  text
end

#update_formatted_contentObject



111
112
113
114
115
# File 'lib/acts_as_formatted/acts_as_formatted.rb', line 111

def update_formatted_content
  self.class.format_configuration[:fields].each do |field_name, field_options|
    send(:"#{field_options[:formatted_field]}=", reformat(field_name))
  end
end

#update_formatted_content!Object



117
118
119
120
# File 'lib/acts_as_formatted/acts_as_formatted.rb', line 117

def update_formatted_content!
  update_formatted_content
  save
end