Module: EmojiReplace::Seamless

Defined in:
lib/emoji_replace/seamless.rb

Class Method Summary collapse

Class Method Details

.included(base) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# File 'lib/emoji_replace/seamless.rb', line 2

def self.included(base)
  base.class_eval do
    def self.replace_emoji_seamlessly(attribute_name)
      define_method(attribute_name) do |*args|
        value = super(*[])
        opts = args.first || {}
        return EmojiReplace::Replacer.new(text: value).back(opts).text
      end

      define_method("#{attribute_name}=") do |new_value|
        new_value = EmojiReplace::Replacer.new(text: new_value).replace.text
        super(new_value)
      end
    end
  end
end