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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 4d66abad8321b174f9037f061da19837f539c4d42d01d328f267710023a7fc1d
4
- data.tar.gz: df85e60420b30edf90ad5790cf1c70c338950e8b062363c10c29309cff03ecfb
3
+ metadata.gz: 286faae595c37c666671a84b8eeeb070497b585dd58cde500e96f8b9939e61e8
4
+ data.tar.gz: 8463132209c6706611a889e16ddfcf91d24173e88ec47cba9da743df8ccdc12f
5
5
  SHA512:
6
- metadata.gz: ab2ffb0c44b887852eb56a6fe0b4b93f9881e06f6a8ce6fe6322f28debb90a1b922d7aaff15ecc4296171addd7e73f34c094d7eefde0d451d5554011e821e7e6
7
- data.tar.gz: c32c054dd8f14849f8b96d8ed0b6f83eb6be4006bf2c4c87cf81da381ae902f2a9e36d638a1bb317630c29f853b2aa5ad355e77fdb78de3793a25ed80f12b6d7
6
+ metadata.gz: b84e1c464698d32480e5d27a9d91d13565478e5c3aebc2f8e4fd9c58bf07774eee5b65df3dc2cf4326bfcca7790ab2698ebc51d63cba7b82458707e72959b149
7
+ data.tar.gz: c687adcd8d9b8abee8c85c3bd4ce30dd5393883b7993366ca85c502b748cb668dd150ff5977153b8f90278d36fecbc8f02b07aa3d88a138031f78da0a5376120
data/.env ADDED
@@ -0,0 +1 @@
1
+ RUBY_VERSION=2.6
@@ -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
@@ -7,3 +7,4 @@
7
7
  /spec/reports/
8
8
  /tmp/
9
9
  /Gemfile.lock
10
+ /gemfiles/*.gemfile.lock
data/.standard.yml ADDED
@@ -0,0 +1,4 @@
1
+ ruby_version: 2.3
2
+ ignore:
3
+ - 'vendor/**/*'
4
+ - 'gemfiles/vendor/**/*'
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['AR_VERSION'] || '6.0'
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
- If you use MySQL, specify `id: false` to `create_table` and add `id` column as 16-byte binary type.
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 # MySQL
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
@@ -7,4 +7,4 @@ Rake::TestTask.new(:test) do |t|
7
7
  t.test_files = FileList["test/**/*_test.rb"]
8
8
  end
9
9
 
10
- task :default => :test
10
+ task default: :test
data/bin/run_tests ADDED
@@ -0,0 +1,18 @@
1
+ #!/bin/bash
2
+
3
+ set -e
4
+
5
+ test_with_db() {
6
+ echo "Testing with $1"
7
+ DB=$1 bundle exec rake
8
+ }
9
+
10
+ test_with_db "sqlite3"
11
+
12
+ test_with_db "mysql56"
13
+
14
+ test_with_db "mysql57"
15
+
16
+ test_with_db "mysql80"
17
+
18
+ test_with_db "pg12"
@@ -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:
@@ -0,0 +1,6 @@
1
+ gem "activesupport", "~> 4.2"
2
+ gem "activemodel", "~> 4.2"
3
+ gem "activerecord", "~> 4.2"
4
+ gem "sqlite3", "~> 1.3.6"
5
+ gem "mysql2", ">= 0.3.13", "< 0.6.0"
6
+ gem "pg", "~> 0.15"
@@ -0,0 +1,6 @@
1
+ gem "activesupport", "~> 5.0"
2
+ gem "activemodel", "~> 5.0"
3
+ gem "activerecord", "~> 5.0"
4
+ gem "sqlite3", "~> 1.3.6"
5
+ gem "mysql2", ">= 0.3.18", "< 0.6.0"
6
+ gem "pg", ">= 0.18", "< 2.0"
@@ -0,0 +1,6 @@
1
+ gem "activesupport", "~> 5.1"
2
+ gem "activemodel", "~> 5.1"
3
+ gem "activerecord", "~> 5.1"
4
+ gem "sqlite3", "~> 1.3", ">= 1.3.6"
5
+ gem "mysql2", ">= 0.3.18", "< 0.6.0"
6
+ gem "pg", ">= 0.18", "< 2.0"
data/gemfiles/5.2.gemfile CHANGED
@@ -1,4 +1,8 @@
1
+ source "https://rubygems.org"
2
+
1
3
  gem "activesupport", "~> 5.2"
2
4
  gem "activemodel", "~> 5.2"
3
5
  gem "activerecord", "~> 5.2"
4
- gem 'sqlite3', '~> 1.3.6'
6
+ gem "sqlite3", "~> 1.3.6"
7
+ gem "mysql2"
8
+ gem "pg"
data/gemfiles/6.0.gemfile CHANGED
@@ -1,4 +1,8 @@
1
+ source "https://rubygems.org"
2
+
1
3
  gem "activesupport", "~> 6.0"
2
4
  gem "activemodel", "~> 6.0"
3
5
  gem "activerecord", "~> 6.0"
4
- gem 'sqlite3', '~> 1.4.1'
6
+ gem "sqlite3", "~> 1.4.1"
7
+ gem "mysql2"
8
+ gem "pg"
@@ -0,0 +1,8 @@
1
+ source "https://rubygems.org"
2
+
3
+ gem "activesupport", "~> 6.1.0"
4
+ gem "activemodel", "~> 6.1.0"
5
+ gem "activerecord", "~> 6.1.0"
6
+ gem "sqlite3", "~> 1.4.2"
7
+ gem "mysql2"
8
+ gem "pg"
@@ -0,0 +1,6 @@
1
+ module ULID
2
+ module Rails
3
+ RAILS_VERSION = "#{ActiveRecord::VERSION::MAJOR}.#{ActiveRecord::VERSION::MINOR}"
4
+ RAILS_4_2 = RAILS_VERSION == "4.2"
5
+ end
6
+ end
@@ -0,0 +1,5 @@
1
+ module ULID
2
+ module Rails
3
+ class ArgumentError < StandardError; end
4
+ end
5
+ end
@@ -4,7 +4,8 @@ module ULID
4
4
  module Rails
5
5
  module Formatter
6
6
  def self.format(v)
7
- v.length == 32 ? Base32::Crockford.encode(v.hex).rjust(26, "0") : v
7
+ sanitized = v.delete("-").hex
8
+ Base32::Crockford.encode(sanitized).rjust(26, "0")
8
9
  end
9
10
 
10
11
  def self.unformat(v)
@@ -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
- type: :datetime,
8
- as: "FROM_UNIXTIME(CONV(HEX(#{ulid_column_name} >> 80), 16, 10) / 1000.0)"
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
@@ -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
- class Type < ActiveModel::Type::Binary
7
- class Data < ActiveModel::Type::Binary::Data
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 cast(value)
17
- if value.is_a?(Data)
18
- @formatter.format(value.to_s)
19
- elsif value&.encoding == Encoding::ASCII_8BIT
20
- @formatter.format(value.unpack("H*")[0])
21
- elsif value&.length == 32
22
- @formatter.format(value)
23
- else
24
- super
25
- end
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
- Data.new(@formatter.unformat(value))
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
@@ -0,0 +1,12 @@
1
+ require "base32/crockford"
2
+
3
+ module ULID
4
+ module Rails
5
+ module Validator
6
+ def self.is_valid?(v)
7
+ return true if v.nil?
8
+ v.length == 26 && Base32::Crockford.valid?(v)
9
+ end
10
+ end
11
+ end
12
+ end
@@ -1,5 +1,5 @@
1
1
  module ULID
2
2
  module Rails
3
- VERSION = "0.2.0"
3
+ VERSION = "0.6.0"
4
4
  end
5
5
  end
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 = auto_generate.nil? ? primary_key : false
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
- def ulid_extract_timestamp(ulid_column, timestamp_column = :created_at)
26
- define_method timestamp_column do
27
- at = super() rescue nil
28
- if !at && (id_val = send(ulid_column))
29
- Time.zone.at((Base32::Crockford.decode(id_val) >> 80) / 1000.0)
30
- else
31
- at
32
- end
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
- if timestamp_column.to_s == "created_at"
36
- define_singleton_method(:timestamp_attributes_for_create) do
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
- ActiveModel::Type.register(:ulid, ULID::Rails::Type)
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 = "ulid-rails"
7
- spec.version = ULID::Rails::VERSION
8
- spec.authors = ["Kazunori Kajihiro"]
9
- spec.email = ["kazunori.kajihiro@gmail.com"]
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 = %q{ULID for rails}
12
- spec.description = %q{ULID for rails}
13
- spec.license = "MIT"
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 = Dir.chdir(File.expand_path('..', __FILE__)) do
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 = "exe"
21
- spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
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", ">= 5.0"
27
- spec.add_dependency "activemodel", ">= 5.0"
28
- spec.add_dependency "activerecord", ">= 5.0"
29
- spec.add_development_dependency "bundler", "~> 1.16"
30
- spec.add_development_dependency "rake", "~> 10.0"
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.2.0
4
+ version: 0.6.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kazunori Kajihiro
8
- autorequire:
8
+ - Zendesk
9
+ autorequire:
9
10
  bindir: exe
10
11
  cert_chain: []
11
- date: 2019-11-21 00:00:00.000000000 Z
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: '5.0'
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: '5.0'
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: '5.0'
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: '5.0'
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: '5.0'
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: '5.0'
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: '1.16'
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: '1.16'
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: '10.0'
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: '10.0'
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
- - ".travis.yml"
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
- rubyforge_project:
169
- rubygems_version: 2.7.6
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: []
data/.travis.yml DELETED
@@ -1,7 +0,0 @@
1
- ---
2
- sudo: false
3
- language: ruby
4
- cache: bundler
5
- rvm:
6
- - 2.5.1
7
- before_install: gem install bundler -v 1.16.4