uuidable 0.2.0 → 0.2.5

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: 20a81bfd257b2ccc14fcf0d5534cf959dd312e02
4
- data.tar.gz: 80d2fd04ee3c6d969c46737ec209e6673fb07a64
2
+ SHA256:
3
+ metadata.gz: 5628f9ea69f6e8c81ea139b7e9c737b6dd7531560c2f6e46240eee051d6c29bb
4
+ data.tar.gz: ed36c9a7b63affee80dd3149eaf7d6f5f194b1f6377559ba0b7922af507a52c8
5
5
  SHA512:
6
- metadata.gz: 826e63ce56cedda8472dda13aaa4032786263743bf9f88fe3ff5a530afba6d9261de75dbed7a4a2f57bf887672f1a653766a8c60957f9cad06b4501c30d6a5d4
7
- data.tar.gz: 8c20370fe8c1b20d91e3a96e66deefc6bbe9145ded75024999b363241c0a0029c3bb975fc65da40f28952e6d59f6fcf43c414f61d3dc2ac9ad9d452c5a6ce9d6
6
+ metadata.gz: b1d5aa768583511f4d4427b6dab13ca72de4193993a05fd0fc29ef7140c9fcf40f55111b2cfab5fa8afde26c568fee1ae58f7ab82dd504effe76e351d14414c2
7
+ data.tar.gz: 24aa031c103ae8c1958373806335d7de27c0b3cd5ebea17c625d79831610ef6db34784b46d0051163eb991e06e0b54b63f5c72a68fe2b06c216b4906c9f4f6eb
data/.gitignore CHANGED
@@ -1,6 +1,5 @@
1
1
  /.bundle/
2
2
  /.yardoc
3
- /Gemfile.lock
4
3
  /_yardoc/
5
4
  /coverage/
6
5
  /doc/
data/.travis.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  language: ruby
2
2
  rvm:
3
- - 2.2.4
4
- before_install: gem install bundler -v 1.11.2
3
+ - 2.5.1
4
+ before_install: gem install bundler -v 1.17.3
5
5
  script:
6
6
  - bundle exec rubocop
7
7
  - bundle exec rspec
data/Gemfile.lock ADDED
@@ -0,0 +1,114 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ uuidable (0.2.5)
5
+ activerecord (>= 4.2, < 6.1)
6
+ uuidtools (>= 2.1, < 3)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (6.0.3.5)
12
+ activesupport (= 6.0.3.5)
13
+ activerecord (6.0.3.5)
14
+ activemodel (= 6.0.3.5)
15
+ activesupport (= 6.0.3.5)
16
+ activesupport (6.0.3.5)
17
+ concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ i18n (>= 0.7, < 2)
19
+ minitest (~> 5.1)
20
+ tzinfo (~> 1.1)
21
+ zeitwerk (~> 2.2, >= 2.2.2)
22
+ addressable (2.4.0)
23
+ ast (2.3.0)
24
+ backports (3.6.8)
25
+ concurrent-ruby (1.1.8)
26
+ diff-lcs (1.2.5)
27
+ ethon (0.8.1)
28
+ ffi (>= 1.3.0)
29
+ faraday (0.9.2)
30
+ multipart-post (>= 1.2, < 3)
31
+ faraday_middleware (0.10.0)
32
+ faraday (>= 0.7.4, < 0.10)
33
+ ffi (1.13.1)
34
+ gh (0.14.0)
35
+ addressable
36
+ backports
37
+ faraday (~> 0.8)
38
+ multi_json (~> 1.0)
39
+ net-http-persistent (>= 2.7)
40
+ net-http-pipeline
41
+ highline (1.7.8)
42
+ i18n (1.8.9)
43
+ concurrent-ruby (~> 1.0)
44
+ json (2.3.1)
45
+ launchy (2.4.3)
46
+ addressable (~> 2.3)
47
+ minitest (5.14.3)
48
+ multi_json (1.11.2)
49
+ multipart-post (2.0.0)
50
+ net-http-persistent (2.9.4)
51
+ net-http-pipeline (1.0.1)
52
+ parallel (1.12.0)
53
+ parser (2.4.0.2)
54
+ ast (~> 2.3)
55
+ powerpack (0.1.1)
56
+ pusher-client (0.6.2)
57
+ json
58
+ websocket (~> 1.0)
59
+ rainbow (2.2.2)
60
+ rake
61
+ rake (13.0.1)
62
+ rspec (3.4.0)
63
+ rspec-core (~> 3.4.0)
64
+ rspec-expectations (~> 3.4.0)
65
+ rspec-mocks (~> 3.4.0)
66
+ rspec-core (3.4.3)
67
+ rspec-support (~> 3.4.0)
68
+ rspec-expectations (3.4.0)
69
+ diff-lcs (>= 1.2.0, < 2.0)
70
+ rspec-support (~> 3.4.0)
71
+ rspec-mocks (3.4.1)
72
+ diff-lcs (>= 1.2.0, < 2.0)
73
+ rspec-support (~> 3.4.0)
74
+ rspec-support (3.4.1)
75
+ rubocop (0.50.0)
76
+ parallel (~> 1.10)
77
+ parser (>= 2.3.3.1, < 3.0)
78
+ powerpack (~> 0.1)
79
+ rainbow (>= 2.2.2, < 3.0)
80
+ ruby-progressbar (~> 1.7)
81
+ unicode-display_width (~> 1.0, >= 1.0.1)
82
+ ruby-progressbar (1.9.0)
83
+ thread_safe (0.3.6)
84
+ travis (1.8.2)
85
+ backports
86
+ faraday (~> 0.9)
87
+ faraday_middleware (~> 0.9, >= 0.9.1)
88
+ gh (~> 0.13)
89
+ highline (~> 1.6)
90
+ launchy (~> 2.1)
91
+ pusher-client (~> 0.4)
92
+ typhoeus (~> 0.6, >= 0.6.8)
93
+ typhoeus (0.8.0)
94
+ ethon (>= 0.8.0)
95
+ tzinfo (1.2.9)
96
+ thread_safe (~> 0.1)
97
+ unicode-display_width (1.3.0)
98
+ uuidtools (2.2.0)
99
+ websocket (1.2.2)
100
+ zeitwerk (2.4.2)
101
+
102
+ PLATFORMS
103
+ ruby
104
+
105
+ DEPENDENCIES
106
+ bundler (~> 1.11)
107
+ rake (~> 13.0)
108
+ rspec (~> 3.0)
109
+ rubocop
110
+ travis (~> 1.8, >= 1.8.2)
111
+ uuidable!
112
+
113
+ BUNDLED WITH
114
+ 1.17.3
@@ -21,7 +21,7 @@ module Uuidable
21
21
 
22
22
  def uuidable(as_param: true)
23
23
  after_initialize { self.uuid = Uuidable.generate_uuid if attributes.keys.include?('uuid') && uuid.blank? }
24
- validates :uuid, presence: true, uniqueness: true
24
+ validates :uuid, presence: true, uniqueness: true, if: :uuid_changed?
25
25
 
26
26
  if as_param
27
27
  define_method :to_param do
@@ -8,10 +8,12 @@ module Uuidable
8
8
  module TableDefinition
9
9
  def uuid(opts = {})
10
10
  index_opts = opts.delete(:index)
11
+ index_opts = {} if index_opts.nil?
12
+
11
13
  column_name = opts.delete(:column_name) || COLUMN_NAME
12
14
 
13
15
  column column_name, COLUMN_TYPE, COLUMN_OPTIONS.merge(opts)
14
- index column_name, INDEX_OPTIONS.merge(index_opts) unless index_opts == false
16
+ index column_name, INDEX_OPTIONS.merge(index_opts) if index_opts
15
17
  end
16
18
  end
17
19
 
@@ -19,11 +21,13 @@ module Uuidable
19
21
  module Migration
20
22
  def add_uuid_column(table_name, opts = {})
21
23
  index_opts = opts.delete(:index)
24
+ index_opts = {} if index_opts == true
25
+
22
26
  column_name = opts.delete(:column_name) || COLUMN_NAME
23
27
 
24
28
  add_column table_name, column_name, COLUMN_TYPE, COLUMN_OPTIONS.merge(opts)
25
29
 
26
- add_uuid_index(index_opts.merge(column_name: column_name)) unless index_opts == false
30
+ add_uuid_index(table_name, index_opts.merge(column_name: column_name)) if index_opts
27
31
  end
28
32
 
29
33
  def add_uuid_index(table_name, opts = {})
@@ -1,3 +1,3 @@
1
1
  module Uuidable
2
- VERSION = '0.2.0'.freeze
2
+ VERSION = '0.2.5'.freeze
3
3
  end
data/uuidable.gemspec CHANGED
@@ -1,5 +1,3 @@
1
- # coding: utf-8
2
-
3
1
  lib = File.expand_path('../lib', __FILE__)
4
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
5
3
  require 'uuidable/version'
@@ -21,10 +19,10 @@ Gem::Specification.new do |spec|
21
19
  spec.require_paths = ['lib']
22
20
 
23
21
  spec.add_development_dependency 'bundler', '~> 1.11'
24
- spec.add_development_dependency 'rake', '~> 10.0'
22
+ spec.add_development_dependency 'rake', '~> 13.0'
25
23
  spec.add_development_dependency 'rspec', '~> 3.0'
26
24
  spec.add_development_dependency 'travis', '~> 1.8', '>= 1.8.2'
27
25
 
26
+ spec.add_dependency 'activerecord', '>= 4.2', '< 6.1'
28
27
  spec.add_dependency 'uuidtools', '>= 2.1', '< 3'
29
- spec.add_dependency 'activerecord', '>= 4.2', '< 5.1'
30
28
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uuidable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Gnuskov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2017-09-04 00:00:00.000000000 Z
11
+ date: 2021-02-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -30,14 +30,14 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: '10.0'
33
+ version: '13.0'
34
34
  type: :development
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: '10.0'
40
+ version: '13.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
@@ -73,45 +73,45 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: 1.8.2
75
75
  - !ruby/object:Gem::Dependency
76
- name: uuidtools
76
+ name: activerecord
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - ">="
80
80
  - !ruby/object:Gem::Version
81
- version: '2.1'
81
+ version: '4.2'
82
82
  - - "<"
83
83
  - !ruby/object:Gem::Version
84
- version: '3'
84
+ version: '6.1'
85
85
  type: :runtime
86
86
  prerelease: false
87
87
  version_requirements: !ruby/object:Gem::Requirement
88
88
  requirements:
89
89
  - - ">="
90
90
  - !ruby/object:Gem::Version
91
- version: '2.1'
91
+ version: '4.2'
92
92
  - - "<"
93
93
  - !ruby/object:Gem::Version
94
- version: '3'
94
+ version: '6.1'
95
95
  - !ruby/object:Gem::Dependency
96
- name: activerecord
96
+ name: uuidtools
97
97
  requirement: !ruby/object:Gem::Requirement
98
98
  requirements:
99
99
  - - ">="
100
100
  - !ruby/object:Gem::Version
101
- version: '4.2'
101
+ version: '2.1'
102
102
  - - "<"
103
103
  - !ruby/object:Gem::Version
104
- version: '5.1'
104
+ version: '3'
105
105
  type: :runtime
106
106
  prerelease: false
107
107
  version_requirements: !ruby/object:Gem::Requirement
108
108
  requirements:
109
109
  - - ">="
110
110
  - !ruby/object:Gem::Version
111
- version: '4.2'
111
+ version: '2.1'
112
112
  - - "<"
113
113
  - !ruby/object:Gem::Version
114
- version: '5.1'
114
+ version: '3'
115
115
  description: ''
116
116
  email:
117
117
  - sergey.gnuskov@flant.com
@@ -125,6 +125,7 @@ files:
125
125
  - ".rubocop.yml"
126
126
  - ".travis.yml"
127
127
  - Gemfile
128
+ - Gemfile.lock
128
129
  - LICENSE.txt
129
130
  - README.md
130
131
  - Rakefile
@@ -154,8 +155,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
154
155
  - !ruby/object:Gem::Version
155
156
  version: '0'
156
157
  requirements: []
157
- rubyforge_project:
158
- rubygems_version: 2.6.13
158
+ rubygems_version: 3.0.8
159
159
  signing_key:
160
160
  specification_version: 4
161
161
  summary: Helps using uuid everywhere in routes instead of id for ActiveRecord models.