uniqable 0.3.1 → 0.3.2
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 +5 -5
- data/Gemfile.lock +24 -24
- data/README.md +1 -5
- data/Rakefile +1 -0
- data/lib/uniqable.rb +5 -10
- data/lib/uniqable/version.rb +1 -1
- data/uniqable.gemspec +1 -2
- metadata +17 -18
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: b28ea2e4128fd506d1983847dfde61915acf8550c417fbc5eaba75e11da56986
|
4
|
+
data.tar.gz: 39ef933406d49dcf040aabf68f2c5469c317d52630dd4f65a52b4a40a993bb97
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 45d7d098218f0071b1373e23c824f119f0c9b03cf5ee097fb668e34653a11328b9d0684c519a6eaeaa9e450d265f34fa3fc4e7035c4989186b00faef987b088e
|
7
|
+
data.tar.gz: 37802f6ce7ba3f591559a271d597111ca13743b43345b8b37e986426e2360a9e089b032de476567ed444a924864aca22dba1e339b9fb04603b7e48dcf2fac3d2
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
uniqable (0.3.
|
4
|
+
uniqable (0.3.2)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -23,46 +23,46 @@ GEM
|
|
23
23
|
ast (2.4.0)
|
24
24
|
awesome_print (1.8.0)
|
25
25
|
builder (3.2.3)
|
26
|
-
concurrent-ruby (1.
|
26
|
+
concurrent-ruby (1.1.5)
|
27
27
|
diff-lcs (1.3)
|
28
28
|
i18n (0.9.5)
|
29
29
|
concurrent-ruby (~> 1.0)
|
30
|
+
jaro_winkler (1.5.3)
|
30
31
|
json (1.8.6)
|
31
32
|
minitest (5.11.3)
|
32
|
-
parallel (1.
|
33
|
-
parser (2.
|
33
|
+
parallel (1.17.0)
|
34
|
+
parser (2.6.3.0)
|
34
35
|
ast (~> 2.4.0)
|
35
|
-
powerpack (0.1.1)
|
36
36
|
rainbow (3.0.0)
|
37
37
|
rake (10.5.0)
|
38
|
-
rspec (3.
|
39
|
-
rspec-core (~> 3.
|
40
|
-
rspec-expectations (~> 3.
|
41
|
-
rspec-mocks (~> 3.
|
42
|
-
rspec-core (3.
|
43
|
-
rspec-support (~> 3.
|
44
|
-
rspec-expectations (3.
|
38
|
+
rspec (3.8.0)
|
39
|
+
rspec-core (~> 3.8.0)
|
40
|
+
rspec-expectations (~> 3.8.0)
|
41
|
+
rspec-mocks (~> 3.8.0)
|
42
|
+
rspec-core (3.8.1)
|
43
|
+
rspec-support (~> 3.8.0)
|
44
|
+
rspec-expectations (3.8.4)
|
45
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
46
|
-
rspec-support (~> 3.
|
47
|
-
rspec-mocks (3.
|
46
|
+
rspec-support (~> 3.8.0)
|
47
|
+
rspec-mocks (3.8.1)
|
48
48
|
diff-lcs (>= 1.2.0, < 2.0)
|
49
|
-
rspec-support (~> 3.
|
50
|
-
rspec-support (3.
|
49
|
+
rspec-support (~> 3.8.0)
|
50
|
+
rspec-support (3.8.2)
|
51
51
|
rspec_junit_formatter (0.4.1)
|
52
52
|
rspec-core (>= 2, < 4, != 2.12.0)
|
53
|
-
rubocop (0.
|
53
|
+
rubocop (0.71.0)
|
54
|
+
jaro_winkler (~> 1.5.1)
|
54
55
|
parallel (~> 1.10)
|
55
|
-
parser (>= 2.
|
56
|
-
powerpack (~> 0.1)
|
56
|
+
parser (>= 2.6)
|
57
57
|
rainbow (>= 2.2.2, < 4.0)
|
58
58
|
ruby-progressbar (~> 1.7)
|
59
|
-
unicode-display_width (
|
60
|
-
ruby-progressbar (1.
|
59
|
+
unicode-display_width (>= 1.4.0, < 1.7)
|
60
|
+
ruby-progressbar (1.10.1)
|
61
61
|
sqlite3 (1.3.13)
|
62
62
|
thread_safe (0.3.6)
|
63
63
|
tzinfo (1.2.5)
|
64
64
|
thread_safe (~> 0.1)
|
65
|
-
unicode-display_width (1.
|
65
|
+
unicode-display_width (1.6.0)
|
66
66
|
|
67
67
|
PLATFORMS
|
68
68
|
ruby
|
@@ -75,8 +75,8 @@ DEPENDENCIES
|
|
75
75
|
rspec (~> 3.0)
|
76
76
|
rspec_junit_formatter
|
77
77
|
rubocop (~> 0.49)
|
78
|
-
sqlite3
|
78
|
+
sqlite3 (~> 1.3.6)
|
79
79
|
uniqable!
|
80
80
|
|
81
81
|
BUNDLED WITH
|
82
|
-
1.
|
82
|
+
1.17.3
|
data/README.md
CHANGED
@@ -43,10 +43,6 @@ anyway you have one more method `.find_uniqable` which one you can use to find y
|
|
43
43
|
MyModel.find_uniqable params[:uid]
|
44
44
|
# or
|
45
45
|
MyModel.find_uniqable! params[:uid] # this will raise exception ActiveRecord::RecordNotFound if record is absent
|
46
|
-
# or you can use numerical ID same time and Uniqable will detect it and tries to find by primary key (as regular id)
|
47
|
-
MyModel.find_uniqable params[:id]
|
48
|
-
# or
|
49
|
-
MyModel.find_uniqable! params[:id]
|
50
46
|
```
|
51
47
|
and another one is `.uniqable_fields`
|
52
48
|
```ruby
|
@@ -57,7 +53,7 @@ You can also create your own token callback method and set the field:
|
|
57
53
|
|
58
54
|
```ruby
|
59
55
|
class MyModel
|
60
|
-
|
56
|
+
#...
|
61
57
|
def uniqable_uid(field)
|
62
58
|
self[field] = 100_000 + rand(999_999)
|
63
59
|
end
|
data/Rakefile
CHANGED
data/lib/uniqable.rb
CHANGED
@@ -24,6 +24,7 @@ module Uniqable
|
|
24
24
|
end
|
25
25
|
|
26
26
|
return if to_param.blank? # :to_param option
|
27
|
+
|
27
28
|
define_method :to_param do
|
28
29
|
public_send(to_param)
|
29
30
|
end
|
@@ -32,10 +33,10 @@ module Uniqable
|
|
32
33
|
|
33
34
|
# @return [self]
|
34
35
|
def where_uniqable(uid)
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
36
|
+
where(
|
37
|
+
uniqable_fields.map { |r| "#{table_name}.#{r} = :uid" }.join(' OR '),
|
38
|
+
uid: uid
|
39
|
+
)
|
39
40
|
end
|
40
41
|
|
41
42
|
# Find record by one of the uniq field
|
@@ -53,12 +54,6 @@ module Uniqable
|
|
53
54
|
def find_uniqable!(uid)
|
54
55
|
where_uniqable(uid).take!
|
55
56
|
end
|
56
|
-
|
57
|
-
private
|
58
|
-
|
59
|
-
def key_uid?(uid)
|
60
|
-
uid.to_s =~ /\D+/
|
61
|
-
end
|
62
57
|
end
|
63
58
|
|
64
59
|
# Generate and set random and uniq field
|
data/lib/uniqable/version.rb
CHANGED
data/uniqable.gemspec
CHANGED
@@ -1,4 +1,3 @@
|
|
1
|
-
|
2
1
|
# frozen_string_literal: true
|
3
2
|
|
4
3
|
lib = File.expand_path('lib', __dir__)
|
@@ -22,11 +21,11 @@ Gem::Specification.new do |spec|
|
|
22
21
|
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
23
22
|
spec.require_paths = ['lib']
|
24
23
|
|
24
|
+
spec.add_development_dependency 'sqlite3', '~> 1.3.6'
|
25
25
|
spec.add_development_dependency 'activerecord', '~> 4.1.14.1'
|
26
26
|
spec.add_development_dependency 'awesome_print'
|
27
27
|
spec.add_development_dependency 'bundler', '~> 1.16'
|
28
28
|
spec.add_development_dependency 'rake', '~> 10.0'
|
29
29
|
spec.add_development_dependency 'rspec', '~> 3.0'
|
30
30
|
spec.add_development_dependency 'rubocop', '~> 0.49'
|
31
|
-
spec.add_development_dependency 'sqlite3'
|
32
31
|
end
|
metadata
CHANGED
@@ -1,15 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: uniqable
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.3.
|
4
|
+
version: 0.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Renat "MpaK" Ibragimov
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2019-06-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: sqlite3
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 1.3.6
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 1.3.6
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: activerecord
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -94,20 +108,6 @@ dependencies:
|
|
94
108
|
- - "~>"
|
95
109
|
- !ruby/object:Gem::Version
|
96
110
|
version: '0.49'
|
97
|
-
- !ruby/object:Gem::Dependency
|
98
|
-
name: sqlite3
|
99
|
-
requirement: !ruby/object:Gem::Requirement
|
100
|
-
requirements:
|
101
|
-
- - ">="
|
102
|
-
- !ruby/object:Gem::Version
|
103
|
-
version: '0'
|
104
|
-
type: :development
|
105
|
-
prerelease: false
|
106
|
-
version_requirements: !ruby/object:Gem::Requirement
|
107
|
-
requirements:
|
108
|
-
- - ">="
|
109
|
-
- !ruby/object:Gem::Version
|
110
|
-
version: '0'
|
111
111
|
description: Generate a unique, random token for ActiveRecord models.
|
112
112
|
email:
|
113
113
|
- mrak69@gmail.com
|
@@ -151,8 +151,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
151
151
|
- !ruby/object:Gem::Version
|
152
152
|
version: '0'
|
153
153
|
requirements: []
|
154
|
-
|
155
|
-
rubygems_version: 2.6.11
|
154
|
+
rubygems_version: 3.0.4
|
156
155
|
signing_key:
|
157
156
|
specification_version: 4
|
158
157
|
summary: Uniqable - uniq and random token for ActiveRecord models
|