komagire 0.4.0 → 0.5.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: 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.