Module: Rumojinize::Core::ClassMethods

Defined in:
lib/rumojinize/core.rb

Instance Method Summary collapse

Instance Method Details

#rumojinize(*field_names) ⇒ Object



7
8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/rumojinize/core.rb', line 7

def rumojinize(*field_names)
  raise ArgumentError.new 'Need to set field names.' unless (field_names.present? && field_names.size > 0)

  field_names.each do |field_name|
    define_method "#{field_name}=" do |text|
      write_attribute(field_name, Rumoji.encode(text))
    end
    define_method field_name do
      text = read_attribute(field_name)
      Rumoji.decode(text) if text.present?
    end
  end
end