emoji_encoder 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. checksums.yaml +7 -0
  2. data/lib/emoji_encoder.rb +28 -0
  3. metadata +44 -0
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: 365444da4475c9c12e098c2182d49c8424fdb3cd59ae28cf1341d87a4818681d
4
+ data.tar.gz: ec55ebca095fc38084361212feed6330d6ea496f2afdf7ed26801a5be2e35f3c
5
+ SHA512:
6
+ metadata.gz: 818cc34b5bfa410d766521c2de561d4945986b45abfe7ea934b982c4f7249a587af9399da9810f24dbbf5062a5656f2da6a81987131705f669cb7317beb8ab90
7
+ data.tar.gz: e3f73401857181fecf476b3c3841b36730df6a4383c130bce125b518e28a3124c79215e8ac340b70d66aac54a93e761ab213765777256507b104fe5e57bf3aef
@@ -0,0 +1,28 @@
1
+ module EmojiEncoder
2
+ extend ActiveSupport::Concern
3
+
4
+ def attrs_for_emoji(*attrs)
5
+ emoji_attributes_methods(attrs)
6
+ save_attrs_to_var(attrs)
7
+ end
8
+
9
+ def save_attrs_to_var(attrs)
10
+ attrs.each do |attr|
11
+ before_save "encode_#{attr}".to_sym
12
+ end
13
+ end
14
+
15
+ def emoji_attributes_methods(attrs)
16
+ attrs.each do |attr|
17
+ define_method "decode_#{attr.to_s}" do
18
+ CGI.unescape(self.try(attr.to_sym).to_s)
19
+ end
20
+
21
+ define_method "encode_#{attr.to_s}" do
22
+ encoded_text = CGI.escape(self.try(attr.to_sym))
23
+ self.send("#{attr.to_s}=", encoded_text)
24
+ end
25
+ end
26
+ end
27
+
28
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: emoji_encoder
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Martin Rychlovsky
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2020-05-22 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Enable encoding and decoding 4 byte chars - Emoji
14
+ email: noreply@gravastar.cz
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/emoji_encoder.rb
20
+ homepage: ''
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubygems_version: 3.0.3
40
+ signing_key:
41
+ specification_version: 4
42
+ summary: 'Gem which enable encoding and decoding strings with 4 bytes chars like Emoji
43
+ to save into 2 bytes databases (For example: Default setup of Mysql DB).'
44
+ test_files: []