emoji-validator 0.1.1 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
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