emoji-validator 0.1.1 → 0.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 35a0c379a37c9d17a0f000cd2449eaa13db16cc1
4
- data.tar.gz: e5ce73d86cf725eb0916674be7664799348edfeb
2
+ SHA256:
3
+ metadata.gz: 77e5689c1a9dbcc2a98331eb86a3996f1d27fa90be980fe94435d7d290d50eaf
4
+ data.tar.gz: b7e8703e8c1a71022746d40689cdf87d5b61cfc6012f8b4f94f0e3e7fa119f3d
5
5
  SHA512:
6
- metadata.gz: 95c962bc20cf86d1eed523e14612fd1013e1de2cb098c6d6be1b65fe4616efd3979001a8492ed7eb6abe44c460e4b1a1877749ab21ce4b9ca86c9896763d4f65
7
- data.tar.gz: 828394d860c15c1a1e71bd4fdc441331511ae8f96278a35e3863e9e2ef241c7b355ccb05f25d22e4eb36ba0ec261e0435e2a63de0683e554f33f0c4408caf07c
6
+ metadata.gz: c07a8a69f873829e576be7c1f1773d308312a3bc6655b51064b472a88772cbbe7f4e47cf60c8e75b46c41d45391622dcc4f32f03fd3566fb059272543ace8985
7
+ data.tar.gz: b4bb0fb90087ed636493c02d8fdfee47f515a16a945131e99c0a97af3dc480585642c418443ea274fd1f7eba04dc9cb9bfdcae42058221f44bbb6cc5f25b6bf9
@@ -0,0 +1,2 @@
1
+ AllCops:
2
+ TargetRubyVersion: 2.5
@@ -0,0 +1 @@
1
+ 2.7.1
@@ -4,10 +4,10 @@ env:
4
4
  - CC_TEST_REPORTER_ID=64987eb47d7d4674b92284c32a53996b153d911e7957f2e7b66eeb4500a2a79e
5
5
  language: ruby
6
6
  rvm:
7
- - 2.2.8
8
- - 2.3.5
9
- - 2.4.2
10
- before_install: gem install bundler -v 1.15.4
7
+ - 2.5.8
8
+ - 2.6.6
9
+ - 2.7.1
10
+ before_install: gem install bundler
11
11
  before_script:
12
12
  - curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
13
13
  - chmod +x ./cc-test-reporter
@@ -17,4 +17,4 @@ script:
17
17
  - bundle exec rspec
18
18
  - bundle exec rubocop
19
19
  after_script:
20
- - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
20
+ - ./cc-test-reporter after-build --exit-code $TRAVIS_TEST_RESULT
@@ -0,0 +1,7 @@
1
+ # Changelog
2
+
3
+ ## 0.1.6 - 2020-06-11
4
+
5
+ * Remove support for ruby 2.3
6
+ * Remove support for ruby 2.4
7
+ * Added support for ruby 2.7
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
data/README.md CHANGED
@@ -8,7 +8,7 @@ We all love emojis, but sometimes unfortunately we can't handle them. Use these
8
8
 
9
9
  Supports ActiveModel > 4
10
10
 
11
- Tested against Ruby 2.3 and 2.4
11
+ Tested against Ruby 2.5, 2.6 and 2.7
12
12
 
13
13
  Depends on the [unicode-emoji](https://rubygems.org/gems/unicode-emoji) gem.
14
14
 
@@ -22,18 +22,24 @@ gem 'emoji-validator'
22
22
 
23
23
  And then execute:
24
24
 
25
- $ bundle
25
+ ```bash
26
+ bundle
27
+ ```
26
28
 
27
29
  Or install it yourself as:
28
30
 
29
- $ gem install emoji-validator
31
+ ```bash
32
+ gem install emoji-validator
33
+ ```
30
34
 
31
35
  ## Usage
32
36
 
33
37
  Two validators are provided in the gem:
34
38
 
35
39
  ### Disallow emojis on all attributes for your model
40
+
36
41
  Use the `NoEmojiAnywhereValidator` to make all attributes of your ActiveRecord class automatically validate against emojis:
42
+
37
43
  ```ruby
38
44
  class Person < ActiveRecord::Base
39
45
  include Emoji::Validator::NoEmojiAnywhereValidator
@@ -45,7 +51,9 @@ person.errors.count #2
45
51
  ```
46
52
 
47
53
  ### Disallow emojis on single attributes for your model
54
+
48
55
  Use the `NoEmojiValidator` to make single attributes of your ActiveRecord class validate against emojis:
56
+
49
57
  ```ruby
50
58
  class Person < ApplicationRecord
51
59
  validates :first_name, no_emoji: true
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require 'bundler/setup'
4
5
  require 'emoji/validator'
@@ -1,5 +1,6 @@
1
+ # frozen_string_literal: true
1
2
 
2
- lib = File.expand_path('../lib', __FILE__)
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'emoji/validator/version'
5
6
 
@@ -20,19 +21,19 @@ Gem::Specification.new do |spec|
20
21
  end
21
22
  spec.bindir = 'exe'
22
23
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
23
- spec.required_ruby_version = '>= 2.2.8'
24
+ spec.required_ruby_version = '>= 2.5.8'
24
25
  spec.require_paths = ['lib']
25
26
 
26
- spec.add_dependency 'unicode-emoji'
27
27
  spec.add_dependency 'activemodel', '>= 4'
28
+ spec.add_dependency 'unicode-emoji'
28
29
 
29
- spec.add_development_dependency 'bundler', '~> 1.15'
30
- spec.add_development_dependency 'rake', '~> 10.0'
31
- spec.add_development_dependency 'rspec', '~> 3.0'
32
30
  spec.add_development_dependency 'activerecord', '>= 4'
33
- spec.add_development_dependency 'sqlite3', '~> 1'
31
+ spec.add_development_dependency 'bundler'
34
32
  spec.add_development_dependency 'codeclimate-test-reporter'
35
- spec.add_development_dependency 'simplecov'
33
+ spec.add_development_dependency 'rake', '>= 12.3.3'
34
+ spec.add_development_dependency 'rspec', '~> 3'
36
35
  spec.add_development_dependency 'rubocop'
36
+ spec.add_development_dependency 'simplecov'
37
+ spec.add_development_dependency 'sqlite3', '~> 1'
37
38
  end
38
39
  # rubocop:enable Metrics/LineLength
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'unicode/emoji'
2
4
  require 'active_model'
3
5
  require 'emoji/validator/version'
@@ -5,7 +7,7 @@ require 'emoji/validator/no_emoji_anywhere_validator'
5
7
  require 'emoji/validator/no_emoji_validator'
6
8
 
7
9
  module Emoji
8
- # ActiveModel and ActiveRecord validators to prevent
10
+ # <tt>ActiveModel</tt> and <tt>ActiveRecord</tt> validators to prevent
9
11
  # emojis from being present in your attributes
10
12
  module Validator
11
13
  # Your code goes here...
@@ -1,22 +1,26 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # rubocop:disable Style/AsciiComments
2
4
  module Emoji
3
5
  module Validator
4
- # Validates all `string` and `text` attributes of ActiveRecord::Base class
6
+ # Validates all <tt>string</tt> and <tt>text</tt> attributes
7
+ # of an <tt>ActiveRecord::Base</tt> class
5
8
  # Include it in your model to automatically apply the validation
6
- # ```ruby
7
- # class Person < ActiveRecord::Base
8
- # include Emoji::Validator::NoEmojiAnywhereValidator
9
- # end
10
9
  #
11
- # person = Person.new(first_name: "😃", last_name: "😃")
12
- # person.valid? #false
13
- # person.errors.count #2
14
- # ```
10
+ # class Person < ActiveRecord::Base
11
+ # include Emoji::Validator::NoEmojiAnywhereValidator
12
+ # end
13
+ #
14
+ # person = Person.new(first_name: "😃", last_name: "😃")
15
+ # person.valid? #false
16
+ # person.errors.count #2
17
+ #
15
18
  module NoEmojiAnywhereValidator
16
19
  def self.included(base)
17
20
  base.class_eval do
18
21
  columns_hash.each do |k, v|
19
22
  next unless %i[string text].include?(v.type)
23
+
20
24
  validates k, no_emoji: true
21
25
  end
22
26
  end
@@ -1,20 +1,24 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # rubocop:disable Style/AsciiComments
2
4
  module Emoji
3
5
  module Validator
4
6
  # Validate an attribute against emojis
5
- # ```ruby
6
- # class Person < ApplicationRecord
7
- # validates :first_name, no_emoji: true
8
- # end
9
7
  #
10
- # person = Person.new(first_name: "John", last_name: "😃")
11
- # person.valid? #true
12
- # person.first_name = "😃"
13
- # person.valid? #false
14
- # ```
8
+ # class Person < ApplicationRecord
9
+ # validates :first_name, no_emoji: true
10
+ # end
11
+ #
12
+ # person = Person.new(first_name: "John", last_name: "😃")
13
+ # person.valid? #true
14
+ # person.first_name = "😃"
15
+ # person.valid? #false
16
+ #
15
17
  class NoEmojiValidator < ActiveModel::EachValidator
16
18
  def validate_each(record, attribute, value)
17
- return if value.match(Unicode::Emoji::REGEX_ANY).nil?
19
+ return if value.nil?
20
+ return if value.match(Unicode::Emoji::REGEX_VALID).nil?
21
+
18
22
  record.errors.add(attribute, :has_emojis)
19
23
  end
20
24
  end
@@ -1,5 +1,7 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Emoji
2
4
  module Validator
3
- VERSION = '0.1.1'.freeze
5
+ VERSION = '0.1.6'
4
6
  end
5
7
  end
metadata CHANGED
@@ -1,115 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: emoji-validator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bernat Rafales
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-10-16 00:00:00.000000000 Z
11
+ date: 2020-06-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: unicode-emoji
14
+ name: activemodel
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
18
18
  - !ruby/object:Gem::Version
19
- version: '0'
19
+ version: '4'
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
- version: '0'
26
+ version: '4'
27
27
  - !ruby/object:Gem::Dependency
28
- name: activemodel
28
+ name: unicode-emoji
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - ">="
32
32
  - !ruby/object:Gem::Version
33
- version: '4'
33
+ version: '0'
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
- version: '4'
40
+ version: '0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: bundler
42
+ name: activerecord
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - "~>"
45
+ - - ">="
46
46
  - !ruby/object:Gem::Version
47
- version: '1.15'
47
+ version: '4'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
- - - "~>"
52
+ - - ">="
53
53
  - !ruby/object:Gem::Version
54
- version: '1.15'
54
+ version: '4'
55
55
  - !ruby/object:Gem::Dependency
56
- name: rake
56
+ name: bundler
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - "~>"
59
+ - - ">="
60
60
  - !ruby/object:Gem::Version
61
- version: '10.0'
61
+ version: '0'
62
62
  type: :development
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - "~>"
66
+ - - ">="
67
67
  - !ruby/object:Gem::Version
68
- version: '10.0'
68
+ version: '0'
69
69
  - !ruby/object:Gem::Dependency
70
- name: rspec
70
+ name: codeclimate-test-reporter
71
71
  requirement: !ruby/object:Gem::Requirement
72
72
  requirements:
73
- - - "~>"
73
+ - - ">="
74
74
  - !ruby/object:Gem::Version
75
- version: '3.0'
75
+ version: '0'
76
76
  type: :development
77
77
  prerelease: false
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
- - - "~>"
80
+ - - ">="
81
81
  - !ruby/object:Gem::Version
82
- version: '3.0'
82
+ version: '0'
83
83
  - !ruby/object:Gem::Dependency
84
- name: activerecord
84
+ name: rake
85
85
  requirement: !ruby/object:Gem::Requirement
86
86
  requirements:
87
87
  - - ">="
88
88
  - !ruby/object:Gem::Version
89
- version: '4'
89
+ version: 12.3.3
90
90
  type: :development
91
91
  prerelease: false
92
92
  version_requirements: !ruby/object:Gem::Requirement
93
93
  requirements:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
- version: '4'
96
+ version: 12.3.3
97
97
  - !ruby/object:Gem::Dependency
98
- name: sqlite3
98
+ name: rspec
99
99
  requirement: !ruby/object:Gem::Requirement
100
100
  requirements:
101
101
  - - "~>"
102
102
  - !ruby/object:Gem::Version
103
- version: '1'
103
+ version: '3'
104
104
  type: :development
105
105
  prerelease: false
106
106
  version_requirements: !ruby/object:Gem::Requirement
107
107
  requirements:
108
108
  - - "~>"
109
109
  - !ruby/object:Gem::Version
110
- version: '1'
110
+ version: '3'
111
111
  - !ruby/object:Gem::Dependency
112
- name: codeclimate-test-reporter
112
+ name: rubocop
113
113
  requirement: !ruby/object:Gem::Requirement
114
114
  requirements:
115
115
  - - ">="
@@ -137,19 +137,19 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: rubocop
140
+ name: sqlite3
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ">="
143
+ - - "~>"
144
144
  - !ruby/object:Gem::Version
145
- version: '0'
145
+ version: '1'
146
146
  type: :development
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ">="
150
+ - - "~>"
151
151
  - !ruby/object:Gem::Version
152
- version: '0'
152
+ version: '1'
153
153
  description: ActiveModel validator for emojis, powered by the unicode-emoji gem, to
154
154
  ensure your Models do not contain characters you may not be able to handle
155
155
  email:
@@ -160,7 +160,10 @@ extra_rdoc_files: []
160
160
  files:
161
161
  - ".gitignore"
162
162
  - ".rspec"
163
+ - ".rubocop.yml"
164
+ - ".ruby-version"
163
165
  - ".travis.yml"
166
+ - CHANGELOG.md
164
167
  - CODE_OF_CONDUCT.md
165
168
  - Gemfile
166
169
  - LICENSE.txt
@@ -185,15 +188,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
185
188
  requirements:
186
189
  - - ">="
187
190
  - !ruby/object:Gem::Version
188
- version: 2.2.8
191
+ version: 2.5.8
189
192
  required_rubygems_version: !ruby/object:Gem::Requirement
190
193
  requirements:
191
194
  - - ">="
192
195
  - !ruby/object:Gem::Version
193
196
  version: '0'
194
197
  requirements: []
195
- rubyforge_project:
196
- rubygems_version: 2.6.13
198
+ rubygems_version: 3.1.2
197
199
  signing_key:
198
200
  specification_version: 4
199
201
  summary: ActiveModel validator for emojis