ulid-rails 0.2.0 → 0.6.0
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 +4 -4
- data/.env +1 -0
- data/.github/workflows/lint.yml +15 -0
- data/.github/workflows/test.yml +25 -0
- data/.gitignore +1 -0
- data/.standard.yml +4 -0
- data/CHANGELOG.md +19 -0
- data/Gemfile +3 -3
- data/README.md +25 -15
- data/Rakefile +1 -1
- data/bin/run_tests +18 -0
- data/docker-compose.yml +49 -0
- data/gemfiles/4.2.gemfile +6 -0
- data/gemfiles/5.0.gemfile +6 -0
- data/gemfiles/5.1.gemfile +6 -0
- data/gemfiles/5.2.gemfile +5 -1
- data/gemfiles/6.0.gemfile +5 -1
- data/gemfiles/6.1.gemfile +8 -0
- data/lib/ulid/rails/constants.rb +6 -0
- data/lib/ulid/rails/errors.rb +5 -0
- data/lib/ulid/rails/formatter.rb +2 -1
- data/lib/ulid/rails/patch.rb +2 -2
- data/lib/ulid/rails/type.rb +55 -15
- data/lib/ulid/rails/validator.rb +12 -0
- data/lib/ulid/rails/version.rb +1 -1
- data/lib/ulid/rails.rb +23 -15
- data/ulid-rails.gemspec +16 -15
- metadata +50 -23
- data/.travis.yml +0 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 286faae595c37c666671a84b8eeeb070497b585dd58cde500e96f8b9939e61e8
|
4
|
+
data.tar.gz: 8463132209c6706611a889e16ddfcf91d24173e88ec47cba9da743df8ccdc12f
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b84e1c464698d32480e5d27a9d91d13565478e5c3aebc2f8e4fd9c58bf07774eee5b65df3dc2cf4326bfcca7790ab2698ebc51d63cba7b82458707e72959b149
|
7
|
+
data.tar.gz: c687adcd8d9b8abee8c85c3bd4ce30dd5393883b7993366ca85c502b748cb668dd150ff5977153b8f90278d36fecbc8f02b07aa3d88a138031f78da0a5376120
|
@@ -0,0 +1,15 @@
|
|
1
|
+
---
|
2
|
+
name: Linting
|
3
|
+
on: [push, pull_request]
|
4
|
+
jobs:
|
5
|
+
standardrb:
|
6
|
+
env:
|
7
|
+
AR_VERSION: "5.2"
|
8
|
+
runs-on: ubuntu-latest
|
9
|
+
steps:
|
10
|
+
- uses: actions/checkout@v2
|
11
|
+
- uses: ruby/setup-ruby@v1
|
12
|
+
with:
|
13
|
+
ruby-version: 3.0
|
14
|
+
bundler-cache: true
|
15
|
+
- run: bundle exec standardrb
|
@@ -0,0 +1,25 @@
|
|
1
|
+
---
|
2
|
+
name: Tests
|
3
|
+
on: [push, pull_request]
|
4
|
+
jobs:
|
5
|
+
tests:
|
6
|
+
runs-on: ubuntu-latest
|
7
|
+
strategy:
|
8
|
+
matrix:
|
9
|
+
activerecord-version: ["5.0", "5.1", "4.2", "5.2", "6.0", "6.1"]
|
10
|
+
ruby-version: ["2.6", "2.7", "3.0"]
|
11
|
+
exclude:
|
12
|
+
- activerecord-version: "4.2"
|
13
|
+
ruby-version: "2.7"
|
14
|
+
- activerecord-version: "4.2"
|
15
|
+
ruby-version: "3.0"
|
16
|
+
- activerecord-version: "5.0"
|
17
|
+
ruby-version: "3.0"
|
18
|
+
- activerecord-version: "5.1"
|
19
|
+
ruby-version: "3.0"
|
20
|
+
- activerecord-version: "5.2"
|
21
|
+
ruby-version: "3.0"
|
22
|
+
steps:
|
23
|
+
- uses: actions/checkout@v2
|
24
|
+
- name: Test ActiveRecord ${{ matrix.activerecord-version }} and Ruby ${{ matrix.ruby-version }}
|
25
|
+
run: RUBY_VERSION=${{ matrix.ruby-version }} docker-compose run -e AR_VERSION=${{ matrix.activerecord-version }} test
|
data/.gitignore
CHANGED
data/.standard.yml
ADDED
data/CHANGELOG.md
CHANGED
@@ -1,4 +1,23 @@
|
|
1
1
|
# ulid-rails CHANGELOG
|
2
|
+
|
3
|
+
## 0.6
|
4
|
+
|
5
|
+
- Add support for Rails 4.2, 5.0 and 5.1.
|
6
|
+
|
7
|
+
## 0.5
|
8
|
+
|
9
|
+
- Ensure ULID order respects timestamp order to millisecond precision.
|
10
|
+
- Validation of ULID format when setting value. A wrong format value will trigger a `ULID::Rails::ArgumentError`.
|
11
|
+
|
12
|
+
## 0.4
|
13
|
+
|
14
|
+
- Support old ruby versions
|
15
|
+
- Fix auto_generate #2
|
16
|
+
|
17
|
+
## 0.3
|
18
|
+
|
19
|
+
- Support PostgresQL
|
20
|
+
|
2
21
|
## 0.2
|
3
22
|
|
4
23
|
### Breaking Changes
|
data/Gemfile
CHANGED
@@ -1,9 +1,9 @@
|
|
1
1
|
source "https://rubygems.org"
|
2
2
|
|
3
|
-
git_source(:github) {|repo_name| "https://github.com/#{repo_name}" }
|
3
|
+
git_source(:github) { |repo_name| "https://github.com/#{repo_name}" }
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in ulid-rails.gemspec
|
6
6
|
gemspec
|
7
7
|
|
8
|
-
version = ENV[
|
9
|
-
eval_gemfile File.expand_path("../gemfiles/#{version}.gemfile", __FILE__)
|
8
|
+
version = ENV["AR_VERSION"] || "6.0"
|
9
|
+
eval_gemfile File.expand_path("../gemfiles/#{version}.gemfile", __FILE__)
|
data/README.md
CHANGED
@@ -22,22 +22,12 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
### Migrations
|
24
24
|
|
25
|
-
|
25
|
+
Specify `id: false` to `create_table` and add `id` column as 16-byte binary type.
|
26
26
|
|
27
27
|
```ruby
|
28
28
|
def change
|
29
29
|
create_table :users, id: false do |t|
|
30
|
-
t.binary :id, limit: 16, primary_key: true
|
31
|
-
# ...
|
32
|
-
end
|
33
|
-
end
|
34
|
-
```
|
35
|
-
|
36
|
-
If you use PostgreSQL, just specify `id: :uuid` to `create_table`
|
37
|
-
|
38
|
-
```ruby
|
39
|
-
def change
|
40
|
-
create_table :users, id: :uuid do |t|
|
30
|
+
t.binary :id, limit: 16, primary_key: true
|
41
31
|
# ...
|
42
32
|
end
|
43
33
|
end
|
@@ -73,7 +63,7 @@ end
|
|
73
63
|
|
74
64
|
### `created_at` virtual column
|
75
65
|
|
76
|
-
**MySQL Only (for now)**
|
66
|
+
**MySQL 5.7 and higher Only (for now)**
|
77
67
|
|
78
68
|
You can define a "virtual column" in MySQL DB that acts same as a physical column.
|
79
69
|
Defining the virtual `created_at` is kind of comlicated so this gem provides a helper method for it.
|
@@ -103,8 +93,6 @@ class Model < ApplicationRecord
|
|
103
93
|
end
|
104
94
|
```
|
105
95
|
|
106
|
-
## FAQ
|
107
|
-
|
108
96
|
### Foreign Keys
|
109
97
|
|
110
98
|
You need to specicfy `type` option
|
@@ -116,6 +104,28 @@ You need to specicfy `type` option
|
|
116
104
|
end
|
117
105
|
```
|
118
106
|
|
107
|
+
## Development
|
108
|
+
|
109
|
+
### Run tests
|
110
|
+
|
111
|
+
Just run the below command to test with all supported DB engines.
|
112
|
+
|
113
|
+
```
|
114
|
+
$ docker-compose run test
|
115
|
+
```
|
116
|
+
|
117
|
+
Or run with a specific ActiveRecord version
|
118
|
+
|
119
|
+
```
|
120
|
+
$ docker-compose run -e AR_VERSION=6.1 test
|
121
|
+
```
|
122
|
+
|
123
|
+
Or run tests locally, without docker-compose
|
124
|
+
|
125
|
+
```
|
126
|
+
$ AR_VERSION=4.2 bundle update && AR_VERSION=4.2 bundle exec rake test
|
127
|
+
```
|
128
|
+
|
119
129
|
## License
|
120
130
|
|
121
131
|
The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).
|
data/Rakefile
CHANGED
data/bin/run_tests
ADDED
data/docker-compose.yml
ADDED
@@ -0,0 +1,49 @@
|
|
1
|
+
version: '3.6'
|
2
|
+
services:
|
3
|
+
test:
|
4
|
+
image: "ruby:${RUBY_VERSION}"
|
5
|
+
command: sh -c "rm -f Gemfile.lock && bundle install && bin/run_tests"
|
6
|
+
depends_on:
|
7
|
+
pg12:
|
8
|
+
condition: service_healthy
|
9
|
+
mysql56:
|
10
|
+
condition: service_healthy
|
11
|
+
mysql57:
|
12
|
+
condition: service_healthy
|
13
|
+
mysql80:
|
14
|
+
condition: service_healthy
|
15
|
+
working_dir: /app
|
16
|
+
volumes:
|
17
|
+
- bundle:/usr/local/bundle
|
18
|
+
- .:/app
|
19
|
+
|
20
|
+
mysql56:
|
21
|
+
image: mysql:5.6
|
22
|
+
environment:
|
23
|
+
MYSQL_ROOT_PASSWORD: password
|
24
|
+
command: --innodb-large-prefix --innodb-file-format=barracuda
|
25
|
+
healthcheck:
|
26
|
+
test: mysql --password=password -e "show databases;"
|
27
|
+
mysql57:
|
28
|
+
image: mysql:5.7
|
29
|
+
environment:
|
30
|
+
MYSQL_ROOT_PASSWORD: password
|
31
|
+
healthcheck:
|
32
|
+
test: mysql --password=password -e "show databases;"
|
33
|
+
mysql80:
|
34
|
+
image: mysql:8.0
|
35
|
+
command: --default-authentication-plugin=mysql_native_password
|
36
|
+
environment:
|
37
|
+
MYSQL_ROOT_PASSWORD: password
|
38
|
+
healthcheck:
|
39
|
+
test: mysql --password=password -e "show databases;"
|
40
|
+
pg12:
|
41
|
+
image: postgres:12
|
42
|
+
environment:
|
43
|
+
PGDATA: /data
|
44
|
+
POSTGRES_DB: db
|
45
|
+
POSTGRES_HOST_AUTH_METHOD: trust
|
46
|
+
healthcheck:
|
47
|
+
test: echo "\\l" | psql -U postgres
|
48
|
+
volumes:
|
49
|
+
bundle:
|
data/gemfiles/5.2.gemfile
CHANGED
data/gemfiles/6.0.gemfile
CHANGED
data/lib/ulid/rails/formatter.rb
CHANGED
data/lib/ulid/rails/patch.rb
CHANGED
@@ -4,8 +4,8 @@ module ULID
|
|
4
4
|
module Migrations
|
5
5
|
def virtual_ulid_timestamp(timestamp_column_name, ulid_column_name)
|
6
6
|
virtual timestamp_column_name,
|
7
|
-
|
8
|
-
|
7
|
+
type: :datetime,
|
8
|
+
as: "FROM_UNIXTIME(CONV(HEX(#{ulid_column_name} >> 80), 16, 10) / 1000.0)"
|
9
9
|
end
|
10
10
|
end
|
11
11
|
end
|
data/lib/ulid/rails/type.rb
CHANGED
@@ -1,33 +1,73 @@
|
|
1
|
-
require "active_model/type"
|
2
1
|
require "ulid/rails/formatter"
|
2
|
+
require "ulid/rails/validator"
|
3
|
+
require "ulid/rails/errors"
|
4
|
+
require "ulid/rails/constants"
|
3
5
|
|
4
6
|
module ULID
|
5
7
|
module Rails
|
6
|
-
|
7
|
-
|
8
|
+
case RAILS_VERSION
|
9
|
+
when "4.2"
|
10
|
+
require "active_record/type"
|
11
|
+
Binary = ActiveRecord::Type::Binary
|
12
|
+
else
|
13
|
+
require "active_model/type"
|
14
|
+
Binary = ActiveModel::Type::Binary
|
15
|
+
end
|
16
|
+
|
17
|
+
class Type < Binary
|
18
|
+
class Data < Binary::Data
|
8
19
|
alias_method :hex, :to_s
|
9
20
|
end
|
10
21
|
|
11
|
-
def initialize(formatter = Formatter)
|
22
|
+
def initialize(formatter = Formatter, validator = Validator)
|
12
23
|
@formatter = formatter
|
24
|
+
@validator = validator
|
13
25
|
super()
|
14
26
|
end
|
15
27
|
|
16
|
-
def
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
28
|
+
def assert_valid_value(value)
|
29
|
+
raise ArgumentError, "`#{value}` is not a ULID format" unless @validator.is_valid?(value)
|
30
|
+
end
|
31
|
+
|
32
|
+
def deserialize(value)
|
33
|
+
return nil if value.nil?
|
34
|
+
|
35
|
+
value = value.to_s if value.is_a?(Data)
|
36
|
+
value = value.unpack1("H*") if value.encoding == Encoding::ASCII_8BIT
|
37
|
+
value = value[2..-1] if value.start_with?("\\x")
|
38
|
+
|
39
|
+
value.length == 32 ? @formatter.format(value) : super
|
26
40
|
end
|
27
41
|
|
28
42
|
def serialize(value)
|
29
43
|
return if value.nil?
|
30
|
-
|
44
|
+
|
45
|
+
case adapter
|
46
|
+
when "mysql2", "sqlite3"
|
47
|
+
Data.new(@formatter.unformat(value))
|
48
|
+
when "postgresql"
|
49
|
+
Data.new([@formatter.unformat(value)].pack("H*"))
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
if RAILS_4_2
|
54
|
+
alias_method :type_cast_for_database, :serialize
|
55
|
+
alias_method :type_cast_from_database, :deserialize
|
56
|
+
|
57
|
+
def type_cast_from_user(value)
|
58
|
+
assert_valid_value(value)
|
59
|
+
super
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
private
|
64
|
+
|
65
|
+
def adapter
|
66
|
+
if ::ActiveRecord::Base.respond_to?(:connection_db_config)
|
67
|
+
::ActiveRecord::Base.connection_db_config.configuration_hash[:adapter]
|
68
|
+
else
|
69
|
+
::ActiveRecord::Base.connection_config[:adapter]
|
70
|
+
end
|
31
71
|
end
|
32
72
|
end
|
33
73
|
end
|
data/lib/ulid/rails/version.rb
CHANGED
data/lib/ulid/rails.rb
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
require "active_record"
|
2
2
|
require "active_support/concern"
|
3
|
-
require "active_model/type"
|
4
3
|
require "ulid"
|
5
4
|
require "base32/crockford"
|
6
5
|
require "ulid/rails/version"
|
7
6
|
require "ulid/rails/type"
|
8
7
|
require "ulid/rails/patch"
|
8
|
+
require "ulid/rails/constants"
|
9
9
|
|
10
10
|
module ULID
|
11
11
|
module Rails
|
@@ -15,33 +15,41 @@ module ULID
|
|
15
15
|
def ulid(column_name, primary_key: false, auto_generate: nil)
|
16
16
|
attribute column_name, ULID::Rails::Type.new
|
17
17
|
|
18
|
-
auto_generate =
|
18
|
+
auto_generate = primary_key || auto_generate
|
19
19
|
if auto_generate
|
20
20
|
before_create do
|
21
21
|
send("#{column_name}=", ULID.generate) if send(column_name).nil?
|
22
22
|
end
|
23
23
|
end
|
24
|
+
end
|
24
25
|
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
26
|
+
def ulid_extract_timestamp(ulid_column, timestamp_column = :created_at)
|
27
|
+
define_method timestamp_column do
|
28
|
+
at = begin
|
29
|
+
super()
|
30
|
+
rescue
|
31
|
+
nil
|
32
|
+
end
|
33
|
+
if !at && (id_val = send(ulid_column))
|
34
|
+
Time.zone.at((Base32::Crockford.decode(id_val) >> 80) / 1000.0)
|
35
|
+
else
|
36
|
+
at
|
33
37
|
end
|
38
|
+
end
|
34
39
|
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
end
|
40
|
+
if timestamp_column.to_s == "created_at"
|
41
|
+
define_singleton_method(:timestamp_attributes_for_create) do
|
42
|
+
[]
|
39
43
|
end
|
40
44
|
end
|
41
45
|
end
|
42
46
|
end
|
43
47
|
|
44
|
-
|
48
|
+
unless RAILS_4_2
|
49
|
+
require "active_model/type"
|
50
|
+
ActiveModel::Type.register(:ulid, ULID::Rails::Type)
|
51
|
+
end
|
52
|
+
|
45
53
|
ActiveRecord::ConnectionAdapters::TableDefinition.send :include, Patch::Migrations
|
46
54
|
end
|
47
55
|
end
|
data/ulid-rails.gemspec
CHANGED
@@ -3,30 +3,31 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
|
3
3
|
require "ulid/rails/version"
|
4
4
|
|
5
5
|
Gem::Specification.new do |spec|
|
6
|
-
spec.name
|
7
|
-
spec.version
|
8
|
-
spec.authors
|
9
|
-
spec.email
|
6
|
+
spec.name = "ulid-rails"
|
7
|
+
spec.version = ULID::Rails::VERSION
|
8
|
+
spec.authors = ["Kazunori Kajihiro", "Zendesk"]
|
9
|
+
spec.email = ["kazunori.kajihiro@gmail.com", "ruby-core@zendesk.com"]
|
10
10
|
|
11
|
-
spec.summary
|
12
|
-
spec.description
|
13
|
-
spec.license
|
11
|
+
spec.summary = "ULID for rails"
|
12
|
+
spec.description = "ULID for rails"
|
13
|
+
spec.license = "MIT"
|
14
14
|
|
15
15
|
# Specify which files should be added to the gem when it is released.
|
16
16
|
# The `git ls-files -z` loads the files in the RubyGem that have been added into git.
|
17
|
-
spec.files
|
17
|
+
spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
|
18
18
|
`git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
|
19
19
|
end
|
20
|
-
spec.bindir
|
21
|
-
spec.executables
|
20
|
+
spec.bindir = "exe"
|
21
|
+
spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
|
22
22
|
spec.require_paths = ["lib"]
|
23
23
|
|
24
24
|
spec.add_dependency "ulid", "~> 1.0"
|
25
25
|
spec.add_dependency "base32-crockford", "~> 0.1"
|
26
|
-
spec.add_dependency "activesupport", ">=
|
27
|
-
spec.add_dependency "activemodel", ">=
|
28
|
-
spec.add_dependency "activerecord", ">=
|
29
|
-
spec.add_development_dependency "bundler"
|
30
|
-
spec.add_development_dependency "rake"
|
26
|
+
spec.add_dependency "activesupport", ">= 4.2"
|
27
|
+
spec.add_dependency "activemodel", ">= 4.2"
|
28
|
+
spec.add_dependency "activerecord", ">= 4.2"
|
29
|
+
spec.add_development_dependency "bundler"
|
30
|
+
spec.add_development_dependency "rake"
|
31
31
|
spec.add_development_dependency "minitest", "~> 5.0"
|
32
|
+
spec.add_development_dependency "standard", "~> 1.3.0"
|
32
33
|
end
|
metadata
CHANGED
@@ -1,14 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ulid-rails
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.6.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Kazunori Kajihiro
|
8
|
-
|
8
|
+
- Zendesk
|
9
|
+
autorequire:
|
9
10
|
bindir: exe
|
10
11
|
cert_chain: []
|
11
|
-
date:
|
12
|
+
date: 2021-11-11 00:00:00.000000000 Z
|
12
13
|
dependencies:
|
13
14
|
- !ruby/object:Gem::Dependency
|
14
15
|
name: ulid
|
@@ -44,70 +45,70 @@ dependencies:
|
|
44
45
|
requirements:
|
45
46
|
- - ">="
|
46
47
|
- !ruby/object:Gem::Version
|
47
|
-
version: '
|
48
|
+
version: '4.2'
|
48
49
|
type: :runtime
|
49
50
|
prerelease: false
|
50
51
|
version_requirements: !ruby/object:Gem::Requirement
|
51
52
|
requirements:
|
52
53
|
- - ">="
|
53
54
|
- !ruby/object:Gem::Version
|
54
|
-
version: '
|
55
|
+
version: '4.2'
|
55
56
|
- !ruby/object:Gem::Dependency
|
56
57
|
name: activemodel
|
57
58
|
requirement: !ruby/object:Gem::Requirement
|
58
59
|
requirements:
|
59
60
|
- - ">="
|
60
61
|
- !ruby/object:Gem::Version
|
61
|
-
version: '
|
62
|
+
version: '4.2'
|
62
63
|
type: :runtime
|
63
64
|
prerelease: false
|
64
65
|
version_requirements: !ruby/object:Gem::Requirement
|
65
66
|
requirements:
|
66
67
|
- - ">="
|
67
68
|
- !ruby/object:Gem::Version
|
68
|
-
version: '
|
69
|
+
version: '4.2'
|
69
70
|
- !ruby/object:Gem::Dependency
|
70
71
|
name: activerecord
|
71
72
|
requirement: !ruby/object:Gem::Requirement
|
72
73
|
requirements:
|
73
74
|
- - ">="
|
74
75
|
- !ruby/object:Gem::Version
|
75
|
-
version: '
|
76
|
+
version: '4.2'
|
76
77
|
type: :runtime
|
77
78
|
prerelease: false
|
78
79
|
version_requirements: !ruby/object:Gem::Requirement
|
79
80
|
requirements:
|
80
81
|
- - ">="
|
81
82
|
- !ruby/object:Gem::Version
|
82
|
-
version: '
|
83
|
+
version: '4.2'
|
83
84
|
- !ruby/object:Gem::Dependency
|
84
85
|
name: bundler
|
85
86
|
requirement: !ruby/object:Gem::Requirement
|
86
87
|
requirements:
|
87
|
-
- - "
|
88
|
+
- - ">="
|
88
89
|
- !ruby/object:Gem::Version
|
89
|
-
version: '
|
90
|
+
version: '0'
|
90
91
|
type: :development
|
91
92
|
prerelease: false
|
92
93
|
version_requirements: !ruby/object:Gem::Requirement
|
93
94
|
requirements:
|
94
|
-
- - "
|
95
|
+
- - ">="
|
95
96
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
97
|
+
version: '0'
|
97
98
|
- !ruby/object:Gem::Dependency
|
98
99
|
name: rake
|
99
100
|
requirement: !ruby/object:Gem::Requirement
|
100
101
|
requirements:
|
101
|
-
- - "
|
102
|
+
- - ">="
|
102
103
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
104
|
+
version: '0'
|
104
105
|
type: :development
|
105
106
|
prerelease: false
|
106
107
|
version_requirements: !ruby/object:Gem::Requirement
|
107
108
|
requirements:
|
108
|
-
- - "
|
109
|
+
- - ">="
|
109
110
|
- !ruby/object:Gem::Version
|
110
|
-
version: '
|
111
|
+
version: '0'
|
111
112
|
- !ruby/object:Gem::Dependency
|
112
113
|
name: minitest
|
113
114
|
requirement: !ruby/object:Gem::Requirement
|
@@ -122,35 +123,62 @@ dependencies:
|
|
122
123
|
- - "~>"
|
123
124
|
- !ruby/object:Gem::Version
|
124
125
|
version: '5.0'
|
126
|
+
- !ruby/object:Gem::Dependency
|
127
|
+
name: standard
|
128
|
+
requirement: !ruby/object:Gem::Requirement
|
129
|
+
requirements:
|
130
|
+
- - "~>"
|
131
|
+
- !ruby/object:Gem::Version
|
132
|
+
version: 1.3.0
|
133
|
+
type: :development
|
134
|
+
prerelease: false
|
135
|
+
version_requirements: !ruby/object:Gem::Requirement
|
136
|
+
requirements:
|
137
|
+
- - "~>"
|
138
|
+
- !ruby/object:Gem::Version
|
139
|
+
version: 1.3.0
|
125
140
|
description: ULID for rails
|
126
141
|
email:
|
127
142
|
- kazunori.kajihiro@gmail.com
|
143
|
+
- ruby-core@zendesk.com
|
128
144
|
executables: []
|
129
145
|
extensions: []
|
130
146
|
extra_rdoc_files: []
|
131
147
|
files:
|
148
|
+
- ".env"
|
149
|
+
- ".github/workflows/lint.yml"
|
150
|
+
- ".github/workflows/test.yml"
|
132
151
|
- ".gitignore"
|
133
|
-
- ".
|
152
|
+
- ".standard.yml"
|
134
153
|
- CHANGELOG.md
|
135
154
|
- Gemfile
|
136
155
|
- LICENSE.txt
|
137
156
|
- README.md
|
138
157
|
- Rakefile
|
139
158
|
- bin/console
|
159
|
+
- bin/run_tests
|
140
160
|
- bin/setup
|
161
|
+
- docker-compose.yml
|
162
|
+
- gemfiles/4.2.gemfile
|
163
|
+
- gemfiles/5.0.gemfile
|
164
|
+
- gemfiles/5.1.gemfile
|
141
165
|
- gemfiles/5.2.gemfile
|
142
166
|
- gemfiles/6.0.gemfile
|
167
|
+
- gemfiles/6.1.gemfile
|
143
168
|
- lib/ulid/rails.rb
|
169
|
+
- lib/ulid/rails/constants.rb
|
170
|
+
- lib/ulid/rails/errors.rb
|
144
171
|
- lib/ulid/rails/formatter.rb
|
145
172
|
- lib/ulid/rails/patch.rb
|
146
173
|
- lib/ulid/rails/type.rb
|
174
|
+
- lib/ulid/rails/validator.rb
|
147
175
|
- lib/ulid/rails/version.rb
|
148
176
|
- ulid-rails.gemspec
|
149
|
-
homepage:
|
177
|
+
homepage:
|
150
178
|
licenses:
|
151
179
|
- MIT
|
152
180
|
metadata: {}
|
153
|
-
post_install_message:
|
181
|
+
post_install_message:
|
154
182
|
rdoc_options: []
|
155
183
|
require_paths:
|
156
184
|
- lib
|
@@ -165,9 +193,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
165
193
|
- !ruby/object:Gem::Version
|
166
194
|
version: '0'
|
167
195
|
requirements: []
|
168
|
-
|
169
|
-
|
170
|
-
signing_key:
|
196
|
+
rubygems_version: 3.2.29
|
197
|
+
signing_key:
|
171
198
|
specification_version: 4
|
172
199
|
summary: ULID for rails
|
173
200
|
test_files: []
|