pluck_all 2.0.4 → 2.3.2
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/.github/workflows/ruby.yml +101 -0
- data/.rubocop.yml +34 -35
- data/CHANGELOG.md +82 -60
- data/README.md +67 -10
- data/Rakefile +22 -22
- data/bin/console +14 -14
- data/gemfiles/active_record_32.gemfile +16 -13
- data/gemfiles/active_record_42.gemfile +18 -13
- data/gemfiles/active_record_50.gemfile +18 -13
- data/gemfiles/active_record_51.gemfile +18 -13
- data/gemfiles/active_record_52.gemfile +18 -13
- data/gemfiles/active_record_60.gemfile +18 -0
- data/gemfiles/active_record_61.gemfile +18 -0
- data/gemfiles/mongoid_54.gemfile +11 -11
- data/gemfiles/mongoid_64.gemfile +11 -11
- data/gemfiles/mongoid_70.gemfile +11 -11
- data/lib/pluck_all.rb +3 -3
- data/lib/pluck_all/hooks.rb +10 -10
- data/lib/pluck_all/models/active_record_extension.rb +23 -15
- data/lib/pluck_all/models/mongoid_extension.rb +70 -70
- data/lib/pluck_all/models/patches/deserialize.rb +13 -13
- data/lib/pluck_all/version.rb +1 -1
- data/pluck_all.gemspec +43 -35
- metadata +26 -7
- data/.travis.yml +0 -52
- data/lib/pluck_all/models/patches/attribute_types.rb +0 -8
data/gemfiles/mongoid_70.gemfile
CHANGED
@@ -1,11 +1,11 @@
|
|
1
|
-
source 'https://rubygems.org'
|
2
|
-
|
3
|
-
# Specify your gem's dependencies in pluck_all.gemspec
|
4
|
-
|
5
|
-
gem 'mongoid', '~> 7.0.0'
|
6
|
-
|
7
|
-
group :test do
|
8
|
-
gem 'simplecov'
|
9
|
-
end
|
10
|
-
|
11
|
-
gemspec path: '../'
|
1
|
+
source 'https://rubygems.org'
|
2
|
+
|
3
|
+
# Specify your gem's dependencies in pluck_all.gemspec
|
4
|
+
|
5
|
+
gem 'mongoid', '~> 7.0.0'
|
6
|
+
|
7
|
+
group :test do
|
8
|
+
gem 'simplecov', '< 0.18'
|
9
|
+
end
|
10
|
+
|
11
|
+
gemspec path: '../'
|
data/lib/pluck_all.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
require 'pluck_all/version'
|
3
|
-
require 'pluck_all/hooks'
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'pluck_all/version'
|
3
|
+
require 'pluck_all/hooks'
|
data/lib/pluck_all/hooks.rb
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
module PluckAll
|
2
2
|
class Hooks
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
require '
|
7
|
-
require 'pluck_all/models/active_record_extension'
|
8
|
-
rescue LoadError, Gem::LoadError
|
3
|
+
class << self
|
4
|
+
def init
|
5
|
+
require 'pluck_all/models/active_record_extension' if require_if_exists('active_record')
|
6
|
+
require 'pluck_all/models/mongoid_extension' if require_if_exists('mongoid')
|
9
7
|
end
|
10
8
|
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
require
|
9
|
+
private
|
10
|
+
|
11
|
+
def require_if_exists(path)
|
12
|
+
require path
|
13
|
+
return true
|
15
14
|
rescue LoadError, Gem::LoadError
|
15
|
+
return false
|
16
16
|
end
|
17
17
|
end
|
18
18
|
end
|
@@ -1,4 +1,6 @@
|
|
1
|
-
|
1
|
+
require 'rails_compatibility/attribute_types'
|
2
|
+
require 'rails_compatibility/has_include'
|
3
|
+
require 'rails_compatibility/apply_join_dependency'
|
2
4
|
require_relative 'patches/deserialize'
|
3
5
|
|
4
6
|
class ActiveRecord::Relation
|
@@ -8,16 +10,24 @@ class ActiveRecord::Relation
|
|
8
10
|
return self
|
9
11
|
end
|
10
12
|
|
11
|
-
def select_all(
|
13
|
+
def select_all(column_names)
|
12
14
|
relation = clone
|
15
|
+
|
16
|
+
# See: https://github.com/globalize/globalize/pull/707
|
17
|
+
if relation.klass.method_defined?(:translated_attribute_names) && (parsed = parse_translated_columns(column_names))
|
18
|
+
relation = relation.join_translations
|
19
|
+
column_names = parsed
|
20
|
+
end
|
21
|
+
|
13
22
|
relation.select_values = [].freeze # cannot use `unscope(:select)` in Rails 3
|
14
|
-
|
23
|
+
|
24
|
+
sql = relation.select(column_names.map(&to_sql_column_name)).to_sql
|
25
|
+
return klass.connection.select_all(sql)
|
15
26
|
end
|
16
27
|
|
17
28
|
if Gem::Version.new(ActiveRecord::VERSION::STRING) < Gem::Version.new('4.0.0')
|
18
29
|
def pluck_all(*column_names, cast_uploader_url: true)
|
19
|
-
column_names
|
20
|
-
result = select_all(*column_names)
|
30
|
+
result = select_all(column_names)
|
21
31
|
result.map! do |attributes| # This map! behaves different to array#map!
|
22
32
|
initialized_attributes = klass.initialize_attributes(attributes)
|
23
33
|
attributes.each do |key, _attribute|
|
@@ -43,15 +53,12 @@ class ActiveRecord::Relation
|
|
43
53
|
end
|
44
54
|
else
|
45
55
|
def pluck_all(*column_names, cast_uploader_url: true)
|
46
|
-
column_names.
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
result = select_all(*column_names)
|
53
|
-
attribute_types = klass.attribute_types
|
54
|
-
result.map! do |attributes| # This map! behaves different to array#map!
|
56
|
+
has_include = RailsCompatibility.has_include?(self, column_names.first)
|
57
|
+
return RailsCompatibility.apply_join_dependency(self).pluck_all(*column_names) if has_include
|
58
|
+
|
59
|
+
result = select_all(column_names)
|
60
|
+
attribute_types = RailsCompatibility.attribute_types(klass)
|
61
|
+
result.map do |attributes| # This map behaves different to array#map
|
55
62
|
attributes.each do |key, attribute|
|
56
63
|
attributes[key] = result.send(:column_type, key, attribute_types).deserialize(attribute) # TODO: 現在AS過後的type cast會有一點問題,但似乎原生的pluck也有此問題
|
57
64
|
end
|
@@ -80,12 +87,13 @@ class ActiveRecord::Relation
|
|
80
87
|
# ----------------------------------------------------------------
|
81
88
|
def cast_carrier_wave_uploader_url(attributes)
|
82
89
|
if defined?(CarrierWave) && klass.respond_to?(:uploaders)
|
90
|
+
@pluck_all_cast_need_columns ||= nil
|
83
91
|
@pluck_all_cast_klass ||= klass
|
84
92
|
@pluck_all_uploaders ||= @pluck_all_cast_klass.uploaders.select{|key, _uploader| attributes.key?(key.to_s) }
|
85
93
|
@pluck_all_uploaders.each do |key, _uploader|
|
86
94
|
{}.tap do |hash|
|
87
95
|
@pluck_all_cast_need_columns.each{|k| hash[k] = attributes[k] } if @pluck_all_cast_need_columns
|
88
|
-
obj = @pluck_all_cast_klass.
|
96
|
+
obj = @pluck_all_cast_klass.instantiate(hash)
|
89
97
|
obj[key] = attributes[key_s = key.to_s]
|
90
98
|
# https://github.com/carrierwaveuploader/carrierwave/blob/87c37b706c560de6d01816f9ebaa15ce1c51ed58/lib/carrierwave/mount.rb#L142
|
91
99
|
attributes[key_s] = obj.send(key)
|
@@ -1,70 +1,70 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
module Mongoid
|
3
|
-
module Document::ClassMethods
|
4
|
-
def pluck_array(*fields)
|
5
|
-
where(nil).pluck_array(*fields)
|
6
|
-
end
|
7
|
-
|
8
|
-
def pluck_all(*fields)
|
9
|
-
where(nil).pluck_all(*fields)
|
10
|
-
end
|
11
|
-
end
|
12
|
-
|
13
|
-
module Findable
|
14
|
-
delegate :pluck_all, :pluck_array, to: :with_default_scope
|
15
|
-
end
|
16
|
-
|
17
|
-
module Contextual
|
18
|
-
delegate :pluck_all, :pluck_array, to: :context
|
19
|
-
|
20
|
-
class None
|
21
|
-
def pluck_array(*)
|
22
|
-
[]
|
23
|
-
end
|
24
|
-
|
25
|
-
def pluck_all(*)
|
26
|
-
[]
|
27
|
-
end
|
28
|
-
end
|
29
|
-
|
30
|
-
class Mongo
|
31
|
-
def pluck_array(*fields)
|
32
|
-
normalized_select = get_normalized_select(fields)
|
33
|
-
get_query_data(normalized_select).reduce([]) do |plucked, doc|
|
34
|
-
values = normalized_select.keys.map(&plucked_value_mapper(:array, doc))
|
35
|
-
plucked << (values.size == 1 ? values.first : values)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
|
39
|
-
def pluck_all(*fields)
|
40
|
-
normalized_select = get_normalized_select(fields)
|
41
|
-
get_query_data(normalized_select).reduce([]) do |plucked, doc|
|
42
|
-
values = normalized_select.keys.map(&plucked_value_mapper(:all, doc))
|
43
|
-
plucked << values.to_h
|
44
|
-
end
|
45
|
-
end
|
46
|
-
|
47
|
-
private
|
48
|
-
|
49
|
-
def plucked_value_mapper(type, doc)
|
50
|
-
proc do |n|
|
51
|
-
values = [n, n =~ /\./ ? doc[n.partition('.')[0]] : doc[n]]
|
52
|
-
case type
|
53
|
-
when :array then values[1]
|
54
|
-
when :all then values
|
55
|
-
end
|
56
|
-
end
|
57
|
-
end
|
58
|
-
|
59
|
-
def get_query_data(normalized_select)
|
60
|
-
return (@view ? @view.projection(normalized_select) : query.dup.select(normalized_select))
|
61
|
-
end
|
62
|
-
|
63
|
-
def get_normalized_select(fields)
|
64
|
-
fields.each_with_object({}) do |f, hash|
|
65
|
-
hash[klass.database_field_name(f)] = 1
|
66
|
-
end
|
67
|
-
end
|
68
|
-
end
|
69
|
-
end
|
70
|
-
end
|
1
|
+
# frozen_string_literal: true
|
2
|
+
module Mongoid
|
3
|
+
module Document::ClassMethods
|
4
|
+
def pluck_array(*fields)
|
5
|
+
where(nil).pluck_array(*fields)
|
6
|
+
end
|
7
|
+
|
8
|
+
def pluck_all(*fields)
|
9
|
+
where(nil).pluck_all(*fields)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
module Findable
|
14
|
+
delegate :pluck_all, :pluck_array, to: :with_default_scope
|
15
|
+
end
|
16
|
+
|
17
|
+
module Contextual
|
18
|
+
delegate :pluck_all, :pluck_array, to: :context
|
19
|
+
|
20
|
+
class None
|
21
|
+
def pluck_array(*)
|
22
|
+
[]
|
23
|
+
end
|
24
|
+
|
25
|
+
def pluck_all(*)
|
26
|
+
[]
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
class Mongo
|
31
|
+
def pluck_array(*fields)
|
32
|
+
normalized_select = get_normalized_select(fields)
|
33
|
+
get_query_data(normalized_select).reduce([]) do |plucked, doc|
|
34
|
+
values = normalized_select.keys.map(&plucked_value_mapper(:array, doc))
|
35
|
+
plucked << (values.size == 1 ? values.first : values)
|
36
|
+
end
|
37
|
+
end
|
38
|
+
|
39
|
+
def pluck_all(*fields)
|
40
|
+
normalized_select = get_normalized_select(fields)
|
41
|
+
get_query_data(normalized_select).reduce([]) do |plucked, doc|
|
42
|
+
values = normalized_select.keys.map(&plucked_value_mapper(:all, doc))
|
43
|
+
plucked << values.to_h
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
private
|
48
|
+
|
49
|
+
def plucked_value_mapper(type, doc)
|
50
|
+
proc do |n|
|
51
|
+
values = [n, n =~ /\./ ? doc[n.partition('.')[0]] : doc[n]]
|
52
|
+
case type
|
53
|
+
when :array then values[1]
|
54
|
+
when :all then values
|
55
|
+
end
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
def get_query_data(normalized_select)
|
60
|
+
return (@view ? @view.projection(normalized_select) : query.dup.select(normalized_select))
|
61
|
+
end
|
62
|
+
|
63
|
+
def get_normalized_select(fields)
|
64
|
+
fields.each_with_object({}) do |f, hash|
|
65
|
+
hash[klass.database_field_name(f)] = 1
|
66
|
+
end
|
67
|
+
end
|
68
|
+
end
|
69
|
+
end
|
70
|
+
end
|
@@ -1,13 +1,13 @@
|
|
1
|
-
module ActiveRecord
|
2
|
-
[
|
3
|
-
*([Type::Value, Type::Integer, Type::Serialized] if defined?(Type::Value)),
|
4
|
-
*([Enum::EnumType] if defined?(Enum::EnumType)),
|
5
|
-
].each do |s|
|
6
|
-
s.class_eval do
|
7
|
-
if !method_defined?(:deserialize) && method_defined?(:type_cast_from_database)
|
8
|
-
# deserialize was changed to type_cast_from_database in Rails 5
|
9
|
-
alias_method :deserialize, :type_cast_from_database
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
13
|
-
end
|
1
|
+
module ActiveRecord
|
2
|
+
[
|
3
|
+
*([Type::Value, Type::Integer, Type::Serialized] if defined?(Type::Value)),
|
4
|
+
*([Enum::EnumType] if defined?(Enum::EnumType)),
|
5
|
+
].each do |s|
|
6
|
+
s.class_eval do
|
7
|
+
if !method_defined?(:deserialize) && method_defined?(:type_cast_from_database)
|
8
|
+
# deserialize was changed to type_cast_from_database in Rails 5
|
9
|
+
alias_method :deserialize, :type_cast_from_database
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/lib/pluck_all/version.rb
CHANGED
data/pluck_all.gemspec
CHANGED
@@ -1,35 +1,43 @@
|
|
1
|
-
# coding: utf-8
|
2
|
-
lib = File.expand_path('../lib', __FILE__)
|
3
|
-
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
-
require 'pluck_all/version'
|
5
|
-
|
6
|
-
Gem::Specification.new do |spec|
|
7
|
-
spec.name = 'pluck_all'
|
8
|
-
spec.version = PluckAll::VERSION
|
9
|
-
spec.authors = ['khiav reoy']
|
10
|
-
spec.email = ['mrtmrt15xn@yahoo.com.tw']
|
11
|
-
|
12
|
-
spec.summary = 'Pluck multiple columns/attributes and return array of hashes. Support Rails 3, 4, 5.'
|
13
|
-
spec.description = 'Pluck multiple columns/attributes and return array of hashes. Support Rails 3, 4, 5. If you have a Rails 3 project, and want to pluck not only one column, feel free to use this gem and no need to worry about upgrading to Rails 4, 5 in the future will break this.'
|
14
|
-
spec.homepage = 'https://github.com/khiav223577/pluck_all'
|
15
|
-
spec.license = 'MIT'
|
16
|
-
|
17
|
-
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
18
|
-
# delete this section to allow pushing this gem to any host.
|
19
|
-
# if spec.respond_to?(:metadata)
|
20
|
-
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
21
|
-
# else
|
22
|
-
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
23
|
-
# end
|
24
|
-
|
25
|
-
spec.files = `git ls-files -z`.split("\x0").reject{|f| f.match(%r{^(test|spec|features)/}) }
|
26
|
-
spec.bindir = 'exe'
|
27
|
-
spec.executables = spec.files.grep(%r{^exe/}){|f| File.basename(f) }
|
28
|
-
spec.require_paths = ['lib']
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
1
|
+
# coding: utf-8
|
2
|
+
lib = File.expand_path('../lib', __FILE__)
|
3
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
4
|
+
require 'pluck_all/version'
|
5
|
+
|
6
|
+
Gem::Specification.new do |spec|
|
7
|
+
spec.name = 'pluck_all'
|
8
|
+
spec.version = PluckAll::VERSION
|
9
|
+
spec.authors = ['khiav reoy']
|
10
|
+
spec.email = ['mrtmrt15xn@yahoo.com.tw']
|
11
|
+
|
12
|
+
spec.summary = 'Pluck multiple columns/attributes and return array of hashes. Support Rails 3, 4, 5.'
|
13
|
+
spec.description = 'Pluck multiple columns/attributes and return array of hashes. Support Rails 3, 4, 5. If you have a Rails 3 project, and want to pluck not only one column, feel free to use this gem and no need to worry about upgrading to Rails 4, 5 in the future will break this.'
|
14
|
+
spec.homepage = 'https://github.com/khiav223577/pluck_all'
|
15
|
+
spec.license = 'MIT'
|
16
|
+
|
17
|
+
# Prevent pushing this gem to RubyGems.org by setting 'allowed_push_host', or
|
18
|
+
# delete this section to allow pushing this gem to any host.
|
19
|
+
# if spec.respond_to?(:metadata)
|
20
|
+
# spec.metadata['allowed_push_host'] = "TODO: Set to 'http://mygemserver.com'"
|
21
|
+
# else
|
22
|
+
# raise "RubyGems 2.0 or newer is required to protect against public gem pushes."
|
23
|
+
# end
|
24
|
+
|
25
|
+
spec.files = `git ls-files -z`.split("\x0").reject{|f| f.match(%r{^(test|spec|features)/}) }
|
26
|
+
spec.bindir = 'exe'
|
27
|
+
spec.executables = spec.files.grep(%r{^exe/}){|f| File.basename(f) }
|
28
|
+
spec.require_paths = ['lib']
|
29
|
+
spec.metadata = {
|
30
|
+
'homepage_uri' => 'https://github.com/khiav223577/pluck_all',
|
31
|
+
'changelog_uri' => 'https://github.com/khiav223577/pluck_all/blob/master/CHANGELOG.md',
|
32
|
+
'source_code_uri' => 'https://github.com/khiav223577/pluck_all',
|
33
|
+
'documentation_uri' => 'https://www.rubydoc.info/gems/pluck_all',
|
34
|
+
'bug_tracker_uri' => 'https://github.com/khiav223577/pluck_all/issues',
|
35
|
+
}
|
36
|
+
|
37
|
+
spec.add_dependency 'activesupport', '>= 3.0.0'
|
38
|
+
spec.add_dependency 'rails_compatibility', '>= 0.0.7'
|
39
|
+
|
40
|
+
spec.add_development_dependency 'bundler', '>= 1.17', '< 3.x'
|
41
|
+
spec.add_development_dependency 'rake', '~> 12.0'
|
42
|
+
spec.add_development_dependency 'minitest', '~> 5.0'
|
43
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pluck_all
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.3.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- khiav reoy
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-06-10 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -24,6 +24,20 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 3.0.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails_compatibility
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.0.7
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.0.7
|
27
41
|
- !ruby/object:Gem::Dependency
|
28
42
|
name: bundler
|
29
43
|
requirement: !ruby/object:Gem::Requirement
|
@@ -82,9 +96,9 @@ executables: []
|
|
82
96
|
extensions: []
|
83
97
|
extra_rdoc_files: []
|
84
98
|
files:
|
99
|
+
- ".github/workflows/ruby.yml"
|
85
100
|
- ".gitignore"
|
86
101
|
- ".rubocop.yml"
|
87
|
-
- ".travis.yml"
|
88
102
|
- CHANGELOG.md
|
89
103
|
- CODE_OF_CONDUCT.md
|
90
104
|
- LICENSE.txt
|
@@ -97,6 +111,8 @@ files:
|
|
97
111
|
- gemfiles/active_record_50.gemfile
|
98
112
|
- gemfiles/active_record_51.gemfile
|
99
113
|
- gemfiles/active_record_52.gemfile
|
114
|
+
- gemfiles/active_record_60.gemfile
|
115
|
+
- gemfiles/active_record_61.gemfile
|
100
116
|
- gemfiles/mongoid_54.gemfile
|
101
117
|
- gemfiles/mongoid_64.gemfile
|
102
118
|
- gemfiles/mongoid_70.gemfile
|
@@ -104,14 +120,18 @@ files:
|
|
104
120
|
- lib/pluck_all/hooks.rb
|
105
121
|
- lib/pluck_all/models/active_record_extension.rb
|
106
122
|
- lib/pluck_all/models/mongoid_extension.rb
|
107
|
-
- lib/pluck_all/models/patches/attribute_types.rb
|
108
123
|
- lib/pluck_all/models/patches/deserialize.rb
|
109
124
|
- lib/pluck_all/version.rb
|
110
125
|
- pluck_all.gemspec
|
111
126
|
homepage: https://github.com/khiav223577/pluck_all
|
112
127
|
licenses:
|
113
128
|
- MIT
|
114
|
-
metadata:
|
129
|
+
metadata:
|
130
|
+
homepage_uri: https://github.com/khiav223577/pluck_all
|
131
|
+
changelog_uri: https://github.com/khiav223577/pluck_all/blob/master/CHANGELOG.md
|
132
|
+
source_code_uri: https://github.com/khiav223577/pluck_all
|
133
|
+
documentation_uri: https://www.rubydoc.info/gems/pluck_all
|
134
|
+
bug_tracker_uri: https://github.com/khiav223577/pluck_all/issues
|
115
135
|
post_install_message:
|
116
136
|
rdoc_options: []
|
117
137
|
require_paths:
|
@@ -127,8 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
127
147
|
- !ruby/object:Gem::Version
|
128
148
|
version: '0'
|
129
149
|
requirements: []
|
130
|
-
|
131
|
-
rubygems_version: 2.7.6
|
150
|
+
rubygems_version: 3.2.14
|
132
151
|
signing_key:
|
133
152
|
specification_version: 4
|
134
153
|
summary: Pluck multiple columns/attributes and return array of hashes. Support Rails
|