komagire 0.4.0 → 0.5.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: e243cd2e04dc79cf9cdb9dc08a1c9d9d0a6ede3447a4831cdd676f2d5780aee2
4
- data.tar.gz: 9934082d1267ba1988a9d0f7ca3b4b9a14e03cd0161de7000ebf1abfe9d3a5aa
3
+ metadata.gz: 6d5336efdba118ffeb861d0e4975cfa2718abd80b225623421ed30cc298901fb
4
+ data.tar.gz: ddfad6a6ef6a4104d477acca9ed3eb15a5bfb12a5abee7028b0f09948c71925e
5
5
  SHA512:
6
- metadata.gz: ac04c14a317f4ac2450564c916e54d8126809ff31fa188118b540526b979bc26f5c6b769b8f8303e2ed888295b6cb6c64b0c40ffcffd2e9516adbf58e56bc722
7
- data.tar.gz: 638f833d47fdb02759c3aa5419204d3c8522b3314b3ef1df228e4c862ce4d93804df20da52297a83d2367fdc2dd3b6060918db0e31946568131ee1daa3c23508
6
+ metadata.gz: 8626dc808d40df4be9f2acb4b58a48f2d650067e3a94e6c985a24aee74e1a6b6f4d49ae09dc893c97a8646e2249190527ff285dcd3ae9f4cec9abf327a929569
7
+ data.tar.gz: 7417972d05f22a8f2975a9437e2daa3da55ce73c9be0eea1b5011d47efe192aa234dea330043f01ea8d8e8b4a8435f9193c5d2c84cde8ed0eabeee2376b26e4e
@@ -3,13 +3,14 @@ rvm:
3
3
  - 2.4.6
4
4
  - 2.5.5
5
5
  - 2.6.3
6
- - 2.7.0-preview1
6
+ - 2.7.0
7
7
  gemfile:
8
8
  - gemfiles/rails_4.2.gemfile
9
9
  - gemfiles/rails_5.0.gemfile
10
10
  - gemfiles/rails_5.1.gemfile
11
11
  - gemfiles/rails_5.2.gemfile
12
12
  - gemfiles/rails_6.0.gemfile
13
+ - gemfiles/rails_6.1.gemfile
13
14
  script:
14
15
  - bundle install
15
16
  - bundle exec rake spec
@@ -17,5 +18,13 @@ matrix:
17
18
  exclude:
18
19
  - rvm: 2.4.6
19
20
  gemfile: gemfiles/rails_6.0.gemfile
20
- allow_failures:
21
- rvm: 2.7.0-preview1
21
+ - rvm: 2.4.6
22
+ gemfile: gemfiles/rails_6.1.gemfile
23
+ - rvm: 2.7.0
24
+ gemfile: gemfiles/rails_4.2.gemfile
25
+ - rvm: 2.7.0
26
+ gemfile: gemfiles/rails_5.0.gemfile
27
+ - rvm: 2.7.0
28
+ gemfile: gemfiles/rails_5.1.gemfile
29
+ - rvm: 2.7.0
30
+ gemfile: gemfiles/rails_5.2.gemfile
@@ -1,5 +1,12 @@
1
1
  ## Unreleased
2
2
 
3
+ ## 0.5.0
4
+
5
+ - Support Ruby 2.7 (#10)
6
+ - Change required ruby version to 2.4+ (#11)
7
+ - Prevent extra query when cskeys are empty (#12)
8
+ - Add support Rails 6.1.0.rc1 (#13)
9
+
3
10
  ## 0.4.0
4
11
 
5
12
  - CI against for Rails 6.0.0 and drop Ruby 2.2/2.3 supports (#9)
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'https://rubygems.org'
2
4
 
3
5
  # Specify your gem's dependencies in komagire.gemspec
data/Rakefile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'bundler/gem_tasks'
2
4
  require 'rspec/core/rake_task'
3
5
 
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "bundler/setup"
4
5
  require "komagire"
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'http://rubygems.org/'
2
4
 
3
5
  gem 'activerecord', '~> 4.2.0'
4
6
  gem 'activesupport', '~> 4.2.0'
5
7
  gem 'sqlite3', '~> 1.3.6'
6
8
 
7
- gemspec :path => '../'
9
+ gemspec path: '../'
@@ -1,7 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'http://rubygems.org/'
2
4
 
3
5
  gem 'activerecord', '~> 5.0.0'
4
6
  gem 'activesupport', '~> 5.0.0'
5
7
  gem 'sqlite3', '~> 1.3.6'
6
8
 
7
- gemspec :path => '../'
9
+ gemspec path: '../'
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'http://rubygems.org/'
2
4
 
3
5
  gem 'activerecord', '~> 5.1.0'
4
6
  gem 'activesupport', '~> 5.1.0'
5
7
 
6
- gemspec :path => '../'
8
+ gemspec path: '../'
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'http://rubygems.org/'
2
4
 
3
5
  gem 'activerecord', '~> 5.2.0'
4
6
  gem 'activesupport', '~> 5.2.0'
5
7
 
6
- gemspec :path => '../'
8
+ gemspec path: '../'
@@ -1,6 +1,8 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source 'http://rubygems.org/'
2
4
 
3
5
  gem 'activerecord', '~> 6.0.0'
4
6
  gem 'activesupport', '~> 6.0.0'
5
7
 
6
- gemspec :path => '../'
8
+ gemspec path: '../'
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ source 'http://rubygems.org/'
4
+
5
+ gem 'activerecord', '~> 6.1.0.rc1'
6
+ gem 'activesupport', '~> 6.1.0.rc1'
7
+
8
+ gemspec path: '../'
@@ -1,5 +1,6 @@
1
- # coding: utf-8
2
- lib = File.expand_path('../lib', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ lib = File.expand_path('lib', __dir__)
3
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
5
  require 'komagire/version'
5
6
 
@@ -19,14 +20,14 @@ Gem::Specification.new do |spec|
19
20
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
20
21
  spec.require_paths = ["lib"]
21
22
 
22
- spec.required_ruby_version = '>= 2.2.0'
23
+ spec.required_ruby_version = '>= 2.4.0'
23
24
 
24
- spec.add_runtime_dependency "activesupport", ">= 4.0", "< 6.1"
25
- spec.add_runtime_dependency "activerecord", ">= 4.0", "< 6.1"
25
+ spec.add_runtime_dependency "activerecord", ">= 4.0", "< 6.2"
26
+ spec.add_runtime_dependency "activesupport", ">= 4.0", "< 6.2"
26
27
  spec.add_development_dependency "active_hash"
27
28
 
28
29
  spec.add_development_dependency "bundler", ">= 1.16"
29
- spec.add_development_dependency "rake", "~> 10.0"
30
+ spec.add_development_dependency "rake", ">= 10.0"
30
31
  spec.add_development_dependency "rspec"
31
32
  spec.add_development_dependency "sqlite3"
32
33
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'komagire/version'
2
4
  require 'komagire/key_list'
3
5
  require 'komagire/id_list'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Komagire
2
4
  module ActiveRecordExtension
3
5
  # @param [Symbol] part_id
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Komagire
2
4
  class IdList < KeyList
3
5
  # @param [String] content_class_name
@@ -28,7 +30,7 @@ module Komagire
28
30
  if ancestors.include?('ActiveHash::Base')
29
31
  values = _keys.map { |id| content_class_name.constantize.find_by_id(id) }.compact
30
32
  if @sort
31
- values.sort_by { |v| v.id }
33
+ values.sort_by(&:id)
32
34
  else
33
35
  values
34
36
  end
@@ -39,15 +41,14 @@ module Komagire
39
41
 
40
42
  class Converter < KeyList::Converter
41
43
  def convert_to_cskeys_from_array(values)
42
- case
43
- when values.all? { |v| v.is_a?(String) }
44
+ if values.all? { |v| v.is_a?(String) }
44
45
  values.join(delimiter)
45
- when values.all? { |v| v.is_a?(Integer) }
46
+ elsif values.all? { |v| v.is_a?(Integer) }
46
47
  values.join(delimiter)
47
- when values.all? { |v| v.is_a?(content_class_name.constantize) }
48
+ elsif values.all? { |v| v.is_a?(content_class_name.constantize) }
48
49
  values.map(&attribute).join(delimiter)
49
50
  else
50
- fail DifferentContentClass
51
+ raise DifferentContentClass
51
52
  end
52
53
  end
53
54
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'delegate'
2
4
 
3
5
  module Komagire
@@ -50,11 +52,14 @@ module Komagire
50
52
  end
51
53
 
52
54
  def _find_by_cskeys
53
- values = content_class_name.constantize.where(@attribute => _keys).compact
55
+ keys = _keys
56
+ return [] if keys.empty?
57
+
58
+ values = content_class_name.constantize.where(@attribute => keys).compact
54
59
  if @sort
55
60
  values.sort_by { |v| v.public_send(@attribute) }
56
61
  else
57
- values.index_by { |v| v.public_send(@attribute).to_s }.values_at(*_keys)
62
+ values.index_by { |v| v.public_send(@attribute).to_s }.values_at(*keys)
58
63
  end
59
64
  end
60
65
 
@@ -79,27 +84,26 @@ module Komagire
79
84
  if value.content_class_name == content_class_name && value.attribute == attribute
80
85
  return value.cskeys
81
86
  end
82
- fail DifferentContentClass
87
+
88
+ raise DifferentContentClass
83
89
  else
84
- values = case
85
- when value.is_a?(Array) then value
86
- when value.respond_to?(:to_a) then value.to_a
87
- when value.respond_to?(:to_ary) then value.to_ary
90
+ values = if value.is_a?(Array) then value
91
+ elsif value.respond_to?(:to_a) then value.to_a
92
+ elsif value.respond_to?(:to_ary) then value.to_ary
88
93
  else
89
- fail ArgumentError
94
+ raise ArgumentError
90
95
  end
91
96
  convert_to_cskeys_from_array(values.compact)
92
97
  end
93
98
  end
94
99
 
95
100
  def convert_to_cskeys_from_array(values)
96
- case
97
- when values.all? { |v| v.is_a?(String) }
101
+ if values.all? { |v| v.is_a?(String) }
98
102
  values.join(delimiter)
99
- when values.all? { |v| v.is_a?(content_class_name.constantize) }
103
+ elsif values.all? { |v| v.is_a?(content_class_name.constantize) }
100
104
  values.map(&attribute).join(delimiter)
101
105
  else
102
- fail ArgumentError
106
+ raise ArgumentError
103
107
  end
104
108
  end
105
109
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Komagire
2
4
  class Railtie < Rails::Railtie
3
5
  initializer 'komagire' do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Komagire
2
- VERSION = '0.4.0'
4
+ VERSION = '0.5.0'
3
5
  end
metadata CHANGED
@@ -1,17 +1,17 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: komagire
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takumi IINO
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2019-08-23 00:00:00.000000000 Z
11
+ date: 2020-11-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: activesupport
14
+ name: activerecord
15
15
  requirement: !ruby/object:Gem::Requirement
16
16
  requirements:
17
17
  - - ">="
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '4.0'
20
20
  - - "<"
21
21
  - !ruby/object:Gem::Version
22
- version: '6.1'
22
+ version: '6.2'
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,9 +29,9 @@ dependencies:
29
29
  version: '4.0'
30
30
  - - "<"
31
31
  - !ruby/object:Gem::Version
32
- version: '6.1'
32
+ version: '6.2'
33
33
  - !ruby/object:Gem::Dependency
34
- name: activerecord
34
+ name: activesupport
35
35
  requirement: !ruby/object:Gem::Requirement
36
36
  requirements:
37
37
  - - ">="
@@ -39,7 +39,7 @@ dependencies:
39
39
  version: '4.0'
40
40
  - - "<"
41
41
  - !ruby/object:Gem::Version
42
- version: '6.1'
42
+ version: '6.2'
43
43
  type: :runtime
44
44
  prerelease: false
45
45
  version_requirements: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ dependencies:
49
49
  version: '4.0'
50
50
  - - "<"
51
51
  - !ruby/object:Gem::Version
52
- version: '6.1'
52
+ version: '6.2'
53
53
  - !ruby/object:Gem::Dependency
54
54
  name: active_hash
55
55
  requirement: !ruby/object:Gem::Requirement
@@ -82,14 +82,14 @@ dependencies:
82
82
  name: rake
83
83
  requirement: !ruby/object:Gem::Requirement
84
84
  requirements:
85
- - - "~>"
85
+ - - ">="
86
86
  - !ruby/object:Gem::Version
87
87
  version: '10.0'
88
88
  type: :development
89
89
  prerelease: false
90
90
  version_requirements: !ruby/object:Gem::Requirement
91
91
  requirements:
92
- - - "~>"
92
+ - - ">="
93
93
  - !ruby/object:Gem::Version
94
94
  version: '10.0'
95
95
  - !ruby/object:Gem::Dependency
@@ -157,6 +157,7 @@ files:
157
157
  - gemfiles/rails_5.1.gemfile
158
158
  - gemfiles/rails_5.2.gemfile
159
159
  - gemfiles/rails_6.0.gemfile
160
+ - gemfiles/rails_6.1.gemfile
160
161
  - komagire.gemspec
161
162
  - lib/komagire.rb
162
163
  - lib/komagire/active_record_extension.rb
@@ -176,14 +177,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
176
177
  requirements:
177
178
  - - ">="
178
179
  - !ruby/object:Gem::Version
179
- version: 2.2.0
180
+ version: 2.4.0
180
181
  required_rubygems_version: !ruby/object:Gem::Requirement
181
182
  requirements:
182
183
  - - ">="
183
184
  - !ruby/object:Gem::Version
184
185
  version: '0'
185
186
  requirements: []
186
- rubygems_version: 3.0.3
187
+ rubygems_version: 3.1.2
187
188
  signing_key:
188
189
  specification_version: 4
189
190
  summary: Compose an object from comma separated keys.