ulid-rails 0.2.0 → 0.6.0

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
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