uuidable 0.1.3 → 0.2.4

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: 7243fffe7adb312c2dbf701e37b459c4e5d3cd12
4
- data.tar.gz: 9925352679e6fba0c5a6df14497f72d47170a939
2
+ SHA256:
3
+ metadata.gz: 5d5c504f4058c9844aec8cac752c479b305fc70985c51088b5f4cde9e66dce93
4
+ data.tar.gz: 8612c5425755b7873703366fbbe50bd6f3eb0745e4167e0d88852cd51fa7a50e
5
5
  SHA512:
6
- metadata.gz: 28fe8675eee77c1d8b6ae4ca32603fe0a020533e0f3bf5cac68bf72e5b8a3e1d0447be37331d3d7d8569081e9c30e1d704417d2ef3b5ed698ce59d1c12087c81
7
- data.tar.gz: 594ab432715ebbe4a4a9872550c967a4f476e3d0682eb11813ad835ab902b7f13aa12a52f9494b56213b1da49e49173f5e83eb0f4517955109f332c0a5ec56ae
6
+ metadata.gz: 62996d031d6130a20f3026692ad8db6e46f9e4947d87d2fd5fc87cd49d8806ffbec30d7a483c80ca19db87452711a5035b5dfddb3b03c22e96c14c562248ddb2
7
+ data.tar.gz: d79784039ab9c747f72e8e551f9c9574aa5ac7bd869e174f6e36e4d8599c23b8e81c8e5adf5c464dba84ad7838fb0b96f5ba875ea5ace3b3b03ac921a524ef6c
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/
@@ -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
@@ -0,0 +1,114 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ uuidable (0.2.4)
5
+ activerecord (>= 4.2, < 6.1)
6
+ uuidtools (>= 2.1, < 3)
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (5.2.4.4)
12
+ activesupport (= 5.2.4.4)
13
+ activerecord (5.2.4.4)
14
+ activemodel (= 5.2.4.4)
15
+ activesupport (= 5.2.4.4)
16
+ arel (>= 9.0)
17
+ activesupport (5.2.4.4)
18
+ concurrent-ruby (~> 1.0, >= 1.0.2)
19
+ i18n (>= 0.7, < 2)
20
+ minitest (~> 5.1)
21
+ tzinfo (~> 1.1)
22
+ addressable (2.4.0)
23
+ arel (9.0.0)
24
+ ast (2.3.0)
25
+ backports (3.6.8)
26
+ concurrent-ruby (1.1.7)
27
+ diff-lcs (1.2.5)
28
+ ethon (0.8.1)
29
+ ffi (>= 1.3.0)
30
+ faraday (0.9.2)
31
+ multipart-post (>= 1.2, < 3)
32
+ faraday_middleware (0.10.0)
33
+ faraday (>= 0.7.4, < 0.10)
34
+ ffi (1.13.1)
35
+ gh (0.14.0)
36
+ addressable
37
+ backports
38
+ faraday (~> 0.8)
39
+ multi_json (~> 1.0)
40
+ net-http-persistent (>= 2.7)
41
+ net-http-pipeline
42
+ highline (1.7.8)
43
+ i18n (1.8.5)
44
+ concurrent-ruby (~> 1.0)
45
+ json (2.3.1)
46
+ launchy (2.4.3)
47
+ addressable (~> 2.3)
48
+ minitest (5.14.2)
49
+ multi_json (1.11.2)
50
+ multipart-post (2.0.0)
51
+ net-http-persistent (2.9.4)
52
+ net-http-pipeline (1.0.1)
53
+ parallel (1.12.0)
54
+ parser (2.4.0.2)
55
+ ast (~> 2.3)
56
+ powerpack (0.1.1)
57
+ pusher-client (0.6.2)
58
+ json
59
+ websocket (~> 1.0)
60
+ rainbow (2.2.2)
61
+ rake
62
+ rake (13.0.1)
63
+ rspec (3.4.0)
64
+ rspec-core (~> 3.4.0)
65
+ rspec-expectations (~> 3.4.0)
66
+ rspec-mocks (~> 3.4.0)
67
+ rspec-core (3.4.3)
68
+ rspec-support (~> 3.4.0)
69
+ rspec-expectations (3.4.0)
70
+ diff-lcs (>= 1.2.0, < 2.0)
71
+ rspec-support (~> 3.4.0)
72
+ rspec-mocks (3.4.1)
73
+ diff-lcs (>= 1.2.0, < 2.0)
74
+ rspec-support (~> 3.4.0)
75
+ rspec-support (3.4.1)
76
+ rubocop (0.50.0)
77
+ parallel (~> 1.10)
78
+ parser (>= 2.3.3.1, < 3.0)
79
+ powerpack (~> 0.1)
80
+ rainbow (>= 2.2.2, < 3.0)
81
+ ruby-progressbar (~> 1.7)
82
+ unicode-display_width (~> 1.0, >= 1.0.1)
83
+ ruby-progressbar (1.9.0)
84
+ thread_safe (0.3.6)
85
+ travis (1.8.2)
86
+ backports
87
+ faraday (~> 0.9)
88
+ faraday_middleware (~> 0.9, >= 0.9.1)
89
+ gh (~> 0.13)
90
+ highline (~> 1.6)
91
+ launchy (~> 2.1)
92
+ pusher-client (~> 0.4)
93
+ typhoeus (~> 0.6, >= 0.6.8)
94
+ typhoeus (0.8.0)
95
+ ethon (>= 0.8.0)
96
+ tzinfo (1.2.7)
97
+ thread_safe (~> 0.1)
98
+ unicode-display_width (1.3.0)
99
+ uuidtools (2.1.5)
100
+ websocket (1.2.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
@@ -1,22 +1,43 @@
1
1
  module Uuidable
2
2
  COLUMN_NAME = :uuid
3
3
  COLUMN_TYPE = :binary
4
- COLUMN_OPTIONS = { limit: 36, null: false, index: true }.freeze
4
+ COLUMN_OPTIONS = { limit: 36, null: false }.freeze
5
+ INDEX_OPTIONS = { unique: true }.freeze
5
6
 
6
7
  # Module adds method to table definition
7
8
  module TableDefinition
8
9
  def uuid(opts = {})
9
- column COLUMN_NAME, COLUMN_TYPE, opts.merge(COLUMN_OPTIONS)
10
+ index_opts = opts.delete(:index)
11
+ index_opts = {} if index_opts.nil?
12
+
13
+ column_name = opts.delete(:column_name) || COLUMN_NAME
14
+
15
+ column column_name, COLUMN_TYPE, COLUMN_OPTIONS.merge(opts)
16
+ index column_name, INDEX_OPTIONS.merge(index_opts) if index_opts
10
17
  end
11
18
  end
12
19
 
13
20
  # Module adds method to alter table migration
14
21
  module Migration
15
22
  def add_uuid_column(table_name, opts = {})
16
- add_column table_name, COLUMN_NAME, COLUMN_TYPE, opts.merge(COLUMN_OPTIONS)
23
+ index_opts = opts.delete(:index)
24
+ index_opts = {} if index_opts == true
25
+
26
+ column_name = opts.delete(:column_name) || COLUMN_NAME
27
+
28
+ add_column table_name, column_name, COLUMN_TYPE, COLUMN_OPTIONS.merge(opts)
29
+
30
+ add_uuid_index(table_name, index_opts.merge(column_name: column_name)) if index_opts
31
+ end
32
+
33
+ def add_uuid_index(table_name, opts = {})
34
+ column_name = opts.delete(:column_name) || COLUMN_NAME
35
+
36
+ add_index table_name, column_name, INDEX_OPTIONS.merge(opts)
17
37
  end
18
38
  end
19
39
  end
40
+
20
41
  if defined? ActiveRecord::ConnectionAdapters::TableDefinition
21
42
  ActiveRecord::ConnectionAdapters::TableDefinition.send :include, Uuidable::TableDefinition
22
43
  end
@@ -1,3 +1,3 @@
1
1
  module Uuidable
2
- VERSION = '0.1.3'.freeze
2
+ VERSION = '0.2.4'.freeze
3
3
  end
@@ -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.1.3
4
+ version: 0.2.4
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-06-05 00:00:00.000000000 Z
11
+ date: 2020-10-27 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.12
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.