Module: EmojiEncoder
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/emoji_encoder.rb
Instance Method Summary collapse
- #attrs_for_emoji(*attrs) ⇒ Object
- #emoji_attributes_methods(attrs) ⇒ Object
- #save_attrs_to_var(attrs) ⇒ Object
Instance Method Details
#attrs_for_emoji(*attrs) ⇒ Object
4 5 6 7 |
# File 'lib/emoji_encoder.rb', line 4 def attrs_for_emoji(*attrs) emoji_attributes_methods(attrs) save_attrs_to_var(attrs) end |
#emoji_attributes_methods(attrs) ⇒ Object
15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'lib/emoji_encoder.rb', line 15 def emoji_attributes_methods(attrs) attrs.each do |attr| define_method "decode_#{attr.to_s}" do CGI.unescape(self.try(attr.to_sym).to_s) end define_method "encode_#{attr.to_s}" do if self.try(attr.to_sym) != nil encoded_text = CGI.escape(self.try(attr.to_sym).to_s) self.send("#{attr.to_s}=", encoded_text) end end end end |
#save_attrs_to_var(attrs) ⇒ Object
9 10 11 12 13 |
# File 'lib/emoji_encoder.rb', line 9 def save_attrs_to_var(attrs) attrs.each do |attr| before_save "encode_#{attr}".to_sym end end |