imyou 1.1.0 → 1.1.1

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
2
  SHA256:
3
- metadata.gz: 437f6453c5c674668419f8f5968eeb9d14836e4dac03b0894cf64c9b0f73fee4
4
- data.tar.gz: 892461025e8a962f5d4738a10d56f768c3a2ed53dcf1641a53acc8ce9b6afd58
3
+ metadata.gz: 6a4d49a6d707f6668456740d46914b28525fe4fbc30de439d74175cab255bb18
4
+ data.tar.gz: 190e35b66f217dcbef158b52a128341e2344c63a8fe0abf0a4b15d840e6d2764
5
5
  SHA512:
6
- metadata.gz: ad812533dff9b9265d46ef784f65c9f3035f8ddca8742ac3c02755e8c976bc408e7c64e49511135c03731c87d4f30e41520d85c46214d339178c3a8531c9e858
7
- data.tar.gz: 360976116e0941de8f7d5e848096bf17bcc733aa0d0de20e4a256883da665e0ea0cd44d50e63d931962629b9d2b193defbc93cbe1f7fc15cbaa7c58d58a4f634
6
+ metadata.gz: 984edff95c7922061215c9044ac0596947cc3c5b048ee2d95646aadd504133c9d79212563fd835621055c03847e26b30b68ff61eb6d64ced36a1e0b8fa4648ae
7
+ data.tar.gz: 289b82f8409c900597ea9dfe7f42aa8cb6fbf04d3de7c2dc49b088ba3f8e20b49091578268594c06f68b6285a70ceeb624c0ff1d79388cfc8d0bfc9304c51bcc
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- imyou (1.1.0)
4
+ imyou (1.1.1)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/README.md CHANGED
@@ -36,28 +36,52 @@ To generate and run the migration just use.
36
36
 
37
37
  ```ruby
38
38
  class User < ApplicationRecord
39
- has_imyou
39
+ has_imyou
40
+ end
41
+
42
+ class Book < ApplicationRecord
43
+ has_imyou :title # add search target column
40
44
  end
41
45
 
42
46
  @user = User.new(name: 'hoge')
47
+ @book = Book.new(title: 'book')
43
48
 
44
49
  # Add nickname.
45
50
  @user.add_nickname('foo')
46
51
  @user.nicknames # => ['foo']
47
52
 
53
+ @book.add_nickname('red')
54
+ @book.nicknames # => ['red']
55
+
48
56
  # Add nicknames by Array.
49
57
  @user.nicknames = %w(foo bar baz)
50
58
  @user.nicknames # => ['foo', 'bar', 'baz']
51
59
 
60
+ @book.nicknames = %w(red green blue)
61
+ @book.nicknames # => ['red', 'green', 'blue']
62
+
52
63
  # eager_load(LEFT OUTER JOIN)
53
64
  User.with_nicknames
54
65
 
55
66
  # Search users by nickname.
67
+ User.match_by_nickname('hoge').exists? # => false
56
68
  User.match_by_nickname('baz').exists? # => true
57
69
  User.match_by_nickname('ba').exists? # => false
70
+
71
+ User.partial_match_by_nickname('ho').exists? # => true
58
72
  User.partial_match_by_nickname('baz').exists? # => true
59
73
  User.partial_match_by_nickname('ba').exists? # => true
60
74
 
75
+ # Search books by nickname.
76
+ Book.match_by_nickname('book').exists? # => true
77
+ Book.match_by_nickname('book', with_name_column: false).exists? # => false
78
+ Book.match_by_nickname('red').exists? # => true
79
+ Book.match_by_nickname('yellow').exists? # => false
80
+
81
+ Book.partial_match_by_nickname('bo').exists? # => true
82
+ Book.partial_match_by_nickname('bo', with_name_column: false).exists? # => false
83
+ Book.partial_match_by_nickname('re').exists? # => true
84
+
61
85
  # Remove nickname.
62
86
  @user.remove_nickname('foo')
63
87
  @user.nicknames # => ['bar', 'baz']
@@ -81,9 +81,13 @@ module Imyou
81
81
  end
82
82
 
83
83
  def nicknames=(new_nicknames)
84
- self.imyou_nicknames.where.not(name: new_nicknames).delete_all
85
- new_nicknames.each do |new_nickname|
86
- self.imyou_nicknames.find_or_create_by(name: new_nickname)
84
+ if new_nicknames.blank?
85
+ self.imyou_nicknames.delete_all
86
+ else
87
+ self.imyou_nicknames.where.not(name: new_nicknames).delete_all
88
+ new_nicknames.each do |new_nickname|
89
+ self.imyou_nicknames.find_or_create_by(name: new_nickname)
90
+ end
87
91
  end
88
92
  end
89
93
  end
@@ -1,3 +1,3 @@
1
1
  module Imyou
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: imyou
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - patorash
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-11-14 00:00:00.000000000 Z
11
+ date: 2018-11-15 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler