uuidable 0.0.2 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- MzY0NDY3Y2Q4NDNjNWI4MTA0OTA3NTFiYWVlNWQxY2E2NzlhMWNkYg==
5
- data.tar.gz: !binary |-
6
- MzFkYmQwOWE2YmZjN2VlNmJlNGI5NWI2MjYyYzBjNTNjNDc1YmZhNg==
2
+ SHA1:
3
+ metadata.gz: 8247c7d0afeeb32fd4bf0a7b6a490e11ea8b3594
4
+ data.tar.gz: d7728775f3790ac65e8c94c7b40a2c826889f5e5
7
5
  SHA512:
8
- metadata.gz: !binary |-
9
- Yjg5NGU5ZjkzMTg3NGVlZGVjMDg3MzM4YzE4ZGVjMTA5NGYyM2U1NWFjZDZm
10
- ZDlmY2YxMzIxYWZkNGQxZjQ0ZjBiNTgxMGRmOGI1NWMxZjZjOGE4OWI4NGZl
11
- ZWZjY2Y4NTQ1ODBlZTdiOTI5ZTc1NTYzYTI5OWZlNzg5Zjk1ODM=
12
- data.tar.gz: !binary |-
13
- OTcwMzgwMjdlZGZhNGYxN2JhZmZhODdjYzJiNDFhZDkwNjk3M2Y5ZWJjYmNi
14
- ZjY0Yzk3ZGUxZTA2YWQ1MWFmMzMwZjUyZmEyNjVlZmU4OTBiOTFmM2FhMmE3
15
- ZWRhOWE3YTdlNTMzMTc5YmZkY2MyYzhkYWRjM2MxNGRkZTVjNWQ=
6
+ metadata.gz: a72360bec0780ac10bc4231b8a643b55e4f17a204f6cab5b2204e803e24387d21fb136dcf7158391ca2d467be5e35f68068bae0d7ac0dc40c82261454850253a
7
+ data.tar.gz: a2f851fb95dfa7a222c7d8a2044f1b99f3e1b2380c4ae529fba294620152fdd741dc6beb3b3afadb6017fa18633c0bfe9300222ca41493e0132589890d1a8123
@@ -3,10 +3,18 @@ module Uuidable
3
3
  module ActiveRecord
4
4
  extend ActiveSupport::Concern
5
5
 
6
- class UuidChangeError < Exception; end
6
+ class UuidChangeError < RuntimeError; end
7
7
 
8
8
  # ClassMethods
9
9
  module ClassMethods
10
+ def find(*args)
11
+ if args.first && args.first.is_a?(String) && args.first.match(UUIDTools::UUID_REGEXP)
12
+ find_by_uuid!(*args)
13
+ else
14
+ super
15
+ end
16
+ end
17
+
10
18
  def uuidable
11
19
  after_initialize { self.uuid = Uuidable.generate_uuid if uuid.blank? }
12
20
  validates :uuid, presence: true, uniqueness: true
@@ -1,3 +1,3 @@
1
1
  module Uuidable
2
- VERSION = '0.0.2'.freeze
2
+ VERSION = '0.1.1'.freeze
3
3
  end
data/lib/uuidable.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'uuidable/version'
2
2
  require 'active_support'
3
+ require 'uuidtools'
3
4
 
4
5
  # Main module
5
6
  module Uuidable
data/uuidable.gemspec CHANGED
@@ -1,4 +1,5 @@
1
1
  # coding: utf-8
2
+
2
3
  lib = File.expand_path('../lib', __FILE__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'uuidable/version'
@@ -24,5 +25,6 @@ Gem::Specification.new do |spec|
24
25
  spec.add_development_dependency 'rspec', '~> 3.0'
25
26
  spec.add_development_dependency 'travis', '~> 1.8', '>= 1.8.2'
26
27
 
28
+ spec.add_dependency 'uuidtools', '>= 2.1', '< 3'
27
29
  spec.add_dependency 'activerecord', '>= 4.2', '< 5.1'
28
30
  end
metadata CHANGED
@@ -1,95 +1,115 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: uuidable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sergey Gnuskov
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-03-24 00:00:00.000000000 Z
11
+ date: 2017-05-17 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
- - - ~>
17
+ - - "~>"
18
18
  - !ruby/object:Gem::Version
19
19
  version: '1.11'
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
- - - ~>
24
+ - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '1.11'
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ~>
31
+ - - "~>"
32
32
  - !ruby/object:Gem::Version
33
33
  version: '10.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
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: rspec
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
- - - ~>
45
+ - - "~>"
46
46
  - !ruby/object:Gem::Version
47
47
  version: '3.0'
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
54
  version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: travis
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ~>
59
+ - - "~>"
60
60
  - !ruby/object:Gem::Version
61
61
  version: '1.8'
62
- - - ! '>='
62
+ - - ">="
63
63
  - !ruby/object:Gem::Version
64
64
  version: 1.8.2
65
65
  type: :development
66
66
  prerelease: false
67
67
  version_requirements: !ruby/object:Gem::Requirement
68
68
  requirements:
69
- - - ~>
69
+ - - "~>"
70
70
  - !ruby/object:Gem::Version
71
71
  version: '1.8'
72
- - - ! '>='
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
74
  version: 1.8.2
75
+ - !ruby/object:Gem::Dependency
76
+ name: uuidtools
77
+ requirement: !ruby/object:Gem::Requirement
78
+ requirements:
79
+ - - ">="
80
+ - !ruby/object:Gem::Version
81
+ version: '2.1'
82
+ - - "<"
83
+ - !ruby/object:Gem::Version
84
+ version: '3'
85
+ type: :runtime
86
+ prerelease: false
87
+ version_requirements: !ruby/object:Gem::Requirement
88
+ requirements:
89
+ - - ">="
90
+ - !ruby/object:Gem::Version
91
+ version: '2.1'
92
+ - - "<"
93
+ - !ruby/object:Gem::Version
94
+ version: '3'
75
95
  - !ruby/object:Gem::Dependency
76
96
  name: activerecord
77
97
  requirement: !ruby/object:Gem::Requirement
78
98
  requirements:
79
- - - ! '>='
99
+ - - ">="
80
100
  - !ruby/object:Gem::Version
81
101
  version: '4.2'
82
- - - <
102
+ - - "<"
83
103
  - !ruby/object:Gem::Version
84
104
  version: '5.1'
85
105
  type: :runtime
86
106
  prerelease: false
87
107
  version_requirements: !ruby/object:Gem::Requirement
88
108
  requirements:
89
- - - ! '>='
109
+ - - ">="
90
110
  - !ruby/object:Gem::Version
91
111
  version: '4.2'
92
- - - <
112
+ - - "<"
93
113
  - !ruby/object:Gem::Version
94
114
  version: '5.1'
95
115
  description: ''
@@ -99,11 +119,11 @@ executables: []
99
119
  extensions: []
100
120
  extra_rdoc_files: []
101
121
  files:
102
- - .gitignore
103
- - .overcommit.yml
104
- - .rspec
105
- - .rubocop.yml
106
- - .travis.yml
122
+ - ".gitignore"
123
+ - ".overcommit.yml"
124
+ - ".rspec"
125
+ - ".rubocop.yml"
126
+ - ".travis.yml"
107
127
  - Gemfile
108
128
  - LICENSE.txt
109
129
  - README.md
@@ -125,17 +145,17 @@ require_paths:
125
145
  - lib
126
146
  required_ruby_version: !ruby/object:Gem::Requirement
127
147
  requirements:
128
- - - ! '>='
148
+ - - ">="
129
149
  - !ruby/object:Gem::Version
130
150
  version: '0'
131
151
  required_rubygems_version: !ruby/object:Gem::Requirement
132
152
  requirements:
133
- - - ! '>='
153
+ - - ">="
134
154
  - !ruby/object:Gem::Version
135
155
  version: '0'
136
156
  requirements: []
137
157
  rubyforge_project:
138
- rubygems_version: 2.4.5
158
+ rubygems_version: 2.4.8
139
159
  signing_key:
140
160
  specification_version: 4
141
161
  summary: Helps using uuid everywhere in routes instead of id for ActiveRecord models.