tag_columns 0.1.5 → 0.1.10
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 +5 -5
- data/Gemfile +1 -1
- data/Gemfile.lock +74 -57
- data/README.md +4 -6
- data/bin/loc +3 -0
- data/bin/standardize +3 -0
- data/lib/tag_columns.rb +64 -22
- data/lib/tag_columns/version.rb +1 -1
- data/tag_columns.gemspec +21 -0
- data/tags +12 -0
- data/test/test_tag_columns.rb +24 -2
- metadata +8 -5
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
|
-
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 6ff159c5c446ddf8b7ed9c075a5bdc200d86f752be429de79b0fcfc96460d437
|
|
4
|
+
data.tar.gz: 6c94c7984d4edb22400d3a2c547d20217d1b6985f495aa56884695283b936655
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d57ab0bf42cc73ece60d40442fa009365246951b05bed00862dcba15a894e867c6cb8df7bcea0711123c05be31a9516e605275940e11743b296c2c92a4176a03
|
|
7
|
+
data.tar.gz: ae6222763a85f42eaea517c81bb065d81b3ccbf77a928948beb9f77c553b0d799c5f150473a18d4cc72f3bcdc981a1bc763bdb281c9622faabbf55fb325e8a8e
|
data/Gemfile
CHANGED
data/Gemfile.lock
CHANGED
|
@@ -1,82 +1,99 @@
|
|
|
1
1
|
PATH
|
|
2
2
|
remote: .
|
|
3
3
|
specs:
|
|
4
|
-
tag_columns (0.1.
|
|
4
|
+
tag_columns (0.1.10)
|
|
5
5
|
activesupport
|
|
6
6
|
|
|
7
7
|
GEM
|
|
8
8
|
remote: https://rubygems.org/
|
|
9
9
|
specs:
|
|
10
|
-
activesupport (
|
|
10
|
+
activesupport (6.1.2.1)
|
|
11
11
|
concurrent-ruby (~> 1.0, >= 1.0.2)
|
|
12
|
-
i18n (
|
|
13
|
-
minitest (
|
|
14
|
-
tzinfo (~>
|
|
15
|
-
|
|
16
|
-
|
|
12
|
+
i18n (>= 1.6, < 2)
|
|
13
|
+
minitest (>= 5.1)
|
|
14
|
+
tzinfo (~> 2.0)
|
|
15
|
+
zeitwerk (~> 2.3)
|
|
16
|
+
ast (2.4.2)
|
|
17
|
+
binding_of_caller (1.0.0)
|
|
17
18
|
debug_inspector (>= 0.0.1)
|
|
18
|
-
byebug (
|
|
19
|
-
coderay (1.1.
|
|
20
|
-
concurrent-ruby (1.
|
|
21
|
-
coveralls (0.8.
|
|
19
|
+
byebug (11.1.3)
|
|
20
|
+
coderay (1.1.3)
|
|
21
|
+
concurrent-ruby (1.1.8)
|
|
22
|
+
coveralls (0.8.23)
|
|
22
23
|
json (>= 1.8, < 3)
|
|
23
|
-
simplecov (~> 0.
|
|
24
|
+
simplecov (~> 0.16.1)
|
|
24
25
|
term-ansicolor (~> 1.3)
|
|
25
|
-
thor (
|
|
26
|
+
thor (>= 0.19.4, < 2.0)
|
|
26
27
|
tins (~> 1.6)
|
|
27
|
-
debug_inspector (0.0
|
|
28
|
-
docile (1.
|
|
29
|
-
i18n (
|
|
28
|
+
debug_inspector (1.0.0)
|
|
29
|
+
docile (1.3.5)
|
|
30
|
+
i18n (1.8.8)
|
|
31
|
+
concurrent-ruby (~> 1.0)
|
|
30
32
|
interception (0.5)
|
|
31
|
-
json (2.
|
|
32
|
-
method_source (0.
|
|
33
|
-
minitest (5.
|
|
34
|
-
os (1.
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
pry (0.
|
|
39
|
-
coderay (~> 1.1
|
|
40
|
-
method_source (~> 0
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
pry-rescue (1.4.5)
|
|
33
|
+
json (2.5.1)
|
|
34
|
+
method_source (1.0.0)
|
|
35
|
+
minitest (5.14.3)
|
|
36
|
+
os (1.1.1)
|
|
37
|
+
parallel (1.20.1)
|
|
38
|
+
parser (3.0.0.0)
|
|
39
|
+
ast (~> 2.4.1)
|
|
40
|
+
pry (0.13.1)
|
|
41
|
+
coderay (~> 1.1)
|
|
42
|
+
method_source (~> 1.0)
|
|
43
|
+
pry-byebug (3.9.0)
|
|
44
|
+
byebug (~> 11.0)
|
|
45
|
+
pry (~> 0.13.0)
|
|
46
|
+
pry-rescue (1.5.2)
|
|
46
47
|
interception (>= 0.5)
|
|
47
|
-
pry
|
|
48
|
-
pry-stack_explorer (0.
|
|
49
|
-
binding_of_caller (
|
|
50
|
-
pry (
|
|
51
|
-
pry-test (0.6.
|
|
48
|
+
pry (>= 0.12.0)
|
|
49
|
+
pry-stack_explorer (0.6.1)
|
|
50
|
+
binding_of_caller (~> 1.0)
|
|
51
|
+
pry (~> 0.13)
|
|
52
|
+
pry-test (0.6.6)
|
|
52
53
|
os
|
|
53
54
|
pry
|
|
54
55
|
pry-byebug
|
|
55
56
|
pry-rescue
|
|
56
57
|
pry-stack_explorer
|
|
57
|
-
rainbow (
|
|
58
|
-
rake (
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
58
|
+
rainbow (3.0.0)
|
|
59
|
+
rake (13.0.3)
|
|
60
|
+
regexp_parser (2.0.3)
|
|
61
|
+
rexml (3.2.4)
|
|
62
|
+
rubocop (1.8.1)
|
|
63
|
+
parallel (~> 1.10)
|
|
64
|
+
parser (>= 3.0.0.0)
|
|
65
|
+
rainbow (>= 2.2.2, < 4.0)
|
|
66
|
+
regexp_parser (>= 1.8, < 3.0)
|
|
67
|
+
rexml
|
|
68
|
+
rubocop-ast (>= 1.2.0, < 2.0)
|
|
63
69
|
ruby-progressbar (~> 1.7)
|
|
64
|
-
unicode-display_width (
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
70
|
+
unicode-display_width (>= 1.4.0, < 3.0)
|
|
71
|
+
rubocop-ast (1.4.1)
|
|
72
|
+
parser (>= 2.7.1.5)
|
|
73
|
+
rubocop-performance (1.9.2)
|
|
74
|
+
rubocop (>= 0.90.0, < 2.0)
|
|
75
|
+
rubocop-ast (>= 0.4.0)
|
|
76
|
+
ruby-progressbar (1.11.0)
|
|
77
|
+
simplecov (0.16.1)
|
|
78
|
+
docile (~> 1.1)
|
|
68
79
|
json (>= 1.8, < 3)
|
|
69
80
|
simplecov-html (~> 0.10.0)
|
|
70
|
-
simplecov-html (0.10.
|
|
71
|
-
|
|
72
|
-
|
|
81
|
+
simplecov-html (0.10.2)
|
|
82
|
+
standard (0.12.0)
|
|
83
|
+
rubocop (= 1.8.1)
|
|
84
|
+
rubocop-performance (= 1.9.2)
|
|
85
|
+
standardrb (1.0.0)
|
|
86
|
+
standard
|
|
87
|
+
sync (0.5.0)
|
|
88
|
+
term-ansicolor (1.7.1)
|
|
73
89
|
tins (~> 1.0)
|
|
74
|
-
thor (
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
tzinfo (
|
|
78
|
-
|
|
79
|
-
unicode-display_width (
|
|
90
|
+
thor (1.1.0)
|
|
91
|
+
tins (1.28.0)
|
|
92
|
+
sync
|
|
93
|
+
tzinfo (2.0.4)
|
|
94
|
+
concurrent-ruby (~> 1.0)
|
|
95
|
+
unicode-display_width (2.0.0)
|
|
96
|
+
zeitwerk (2.4.2)
|
|
80
97
|
|
|
81
98
|
PLATFORMS
|
|
82
99
|
ruby
|
|
@@ -85,8 +102,8 @@ DEPENDENCIES
|
|
|
85
102
|
coveralls
|
|
86
103
|
pry-test
|
|
87
104
|
rake
|
|
88
|
-
|
|
105
|
+
standardrb
|
|
89
106
|
tag_columns!
|
|
90
107
|
|
|
91
108
|
BUNDLED WITH
|
|
92
|
-
1.
|
|
109
|
+
2.1.4
|
data/README.md
CHANGED
|
@@ -1,16 +1,12 @@
|
|
|
1
|
-
[](https://gemnasium.com/hopsoft/tag_columns)
|
|
1
|
+
[](http://blog.codinghorror.com/the-best-code-is-no-code-at-all/)
|
|
2
|
+
[](https://codeclimate.com/github/hopsoft/tag_columns/maintainability)
|
|
4
3
|
[](https://travis-ci.org/hopsoft/tag_columns)
|
|
5
4
|
[](https://coveralls.io/r/hopsoft/tag_columns?branch=master)
|
|
6
5
|
[](http://rubygems.org/gems/tag_columns)
|
|
7
6
|
|
|
8
|
-
[](https://app.codesponsor.io/link/QMSjMHrtPhvfmCnk5Hbikhhr/hopsoft/tag_columns)
|
|
9
|
-
|
|
10
7
|
# TagColumns
|
|
11
8
|
|
|
12
9
|
Fast & simple Rails ActiveRecord model tagging using [PostgreSQL's](https://www.postgresql.org/) [Array datatype](https://www.postgresql.org/docs/current/static/arrays.html).
|
|
13
|
-
|
|
14
10
|
*Similar to [acts_as_taggable_on](https://github.com/mbleigh/acts-as-taggable-on) but lighter weight with fewer features.*
|
|
15
11
|
*Also, be sure to check out [acts_as_taggable_array_on](https://github.com/tmiyamon/acts-as-taggable-array-on).*
|
|
16
12
|
|
|
@@ -61,6 +57,8 @@ is_reader_or_writer = user.has_any_groups?(:reader, :writer)
|
|
|
61
57
|
is_reader_and_writer = user.has_all_groups?(:reader, :writer)
|
|
62
58
|
|
|
63
59
|
# finding tagged records
|
|
60
|
+
assigned = User.with_groups
|
|
61
|
+
unassigned = User.without_groups
|
|
64
62
|
writers = User.with_any_groups(:writer)
|
|
65
63
|
non_writers = User.without_any_groups(:writer)
|
|
66
64
|
readers_or_writers = User.with_any_groups(:reader, :writer)
|
data/bin/loc
ADDED
data/bin/standardize
ADDED
data/lib/tag_columns.rb
CHANGED
|
@@ -3,10 +3,11 @@ require "active_support/core_ext/string/inflections"
|
|
|
3
3
|
require "tag_columns/version"
|
|
4
4
|
|
|
5
5
|
module TagColumns
|
|
6
|
-
extend
|
|
6
|
+
extend ActiveSupport::Concern
|
|
7
7
|
|
|
8
8
|
module ClassMethods
|
|
9
|
-
def tag_columns_sanitize_list(values=[])
|
|
9
|
+
def tag_columns_sanitize_list(values = [])
|
|
10
|
+
return [] if values.nil?
|
|
10
11
|
values.select(&:present?).map(&:to_s).uniq.sort
|
|
11
12
|
end
|
|
12
13
|
|
|
@@ -20,39 +21,80 @@ module TagColumns
|
|
|
20
21
|
@tag_columns.each do |column_name, initialized|
|
|
21
22
|
next if initialized
|
|
22
23
|
|
|
24
|
+
column_name = column_name.to_s
|
|
23
25
|
method_name = column_name.downcase
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
26
|
+
|
|
27
|
+
define_singleton_method :"unique_#{method_name}" do |conditions = "true"|
|
|
28
|
+
unnest = Arel::Nodes::NamedFunction.new("unnest", [arel_table[column_name]])
|
|
29
|
+
query = distinct.select(unnest)
|
|
30
|
+
.where(conditions)
|
|
31
|
+
.where.not(arel_table[column_name].eq(nil))
|
|
32
|
+
.where.not(arel_table[column_name].eq("{}"))
|
|
33
|
+
connection.execute(query.to_sql).values.flatten.sort
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
define_singleton_method :"#{method_name}_cloud" do |conditions = "true"|
|
|
37
|
+
unnest = Arel::Nodes::NamedFunction.new("unnest", [arel_table[column_name]])
|
|
38
|
+
query = unscoped.select(unnest.as("tag"))
|
|
39
|
+
.where(conditions)
|
|
40
|
+
.where.not(arel_table[column_name].eq(nil))
|
|
41
|
+
.where.not(arel_table[column_name].eq("{}"))
|
|
42
|
+
from(query).group("tag").order("tag").pluck(Arel.sql("tag, count(*) as count"))
|
|
36
43
|
end
|
|
37
44
|
|
|
38
|
-
scope :"
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
45
|
+
scope :"with_#{method_name}", -> {
|
|
46
|
+
where.not(arel_table[column_name].eq(nil)).where.not(arel_table[column_name].eq("{}"))
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
scope :"without_#{method_name}", -> {
|
|
50
|
+
where(arel_table[column_name].eq(nil)).or(where(arel_table[column_name].eq("{}")))
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
scope :"with_any_#{method_name}", ->(*tags) {
|
|
54
|
+
column_cast = Arel::Nodes::NamedFunction.new("CAST", [arel_table[column_name].as("text[]")])
|
|
55
|
+
value = Arel::Nodes::SqlLiteral.new(sanitize_sql_array(["ARRAY[?]", tag_columns_sanitize_list(tags)]))
|
|
56
|
+
value_cast = Arel::Nodes::NamedFunction.new("CAST", [value.as("text[]")])
|
|
57
|
+
overlap = Arel::Nodes::InfixOperation.new("&&", column_cast, value_cast)
|
|
58
|
+
where overlap
|
|
59
|
+
}
|
|
42
60
|
|
|
43
|
-
|
|
61
|
+
scope :"with_all_#{method_name}", ->(*tags) {
|
|
62
|
+
column_cast = Arel::Nodes::NamedFunction.new("CAST", [arel_table[column_name].as("text[]")])
|
|
63
|
+
value = Arel::Nodes::SqlLiteral.new(sanitize_sql_array(["ARRAY[?]", tag_columns_sanitize_list(tags)]))
|
|
64
|
+
value_cast = Arel::Nodes::NamedFunction.new("CAST", [value.as("text[]")])
|
|
65
|
+
contains = Arel::Nodes::InfixOperation.new("@>", column_cast, value_cast)
|
|
66
|
+
where contains
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
scope :"without_any_#{method_name}", ->(*tags) {
|
|
70
|
+
column_cast = Arel::Nodes::NamedFunction.new("CAST", [arel_table[column_name].as("text[]")])
|
|
71
|
+
value = Arel::Nodes::SqlLiteral.new(sanitize_sql_array(["ARRAY[?]", tag_columns_sanitize_list(tags)]))
|
|
72
|
+
value_cast = Arel::Nodes::NamedFunction.new("CAST", [value.as("text[]")])
|
|
73
|
+
overlap = Arel::Nodes::InfixOperation.new("&&", column_cast, value_cast)
|
|
74
|
+
where.not overlap
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
scope :"without_all_#{method_name}", ->(*tags) {
|
|
78
|
+
column_cast = Arel::Nodes::NamedFunction.new("CAST", [arel_table[column_name].as("text[]")])
|
|
79
|
+
value = Arel::Nodes::SqlLiteral.new(sanitize_sql_array(["ARRAY[?]", tag_columns_sanitize_list(tags)]))
|
|
80
|
+
value_cast = Arel::Nodes::NamedFunction.new("CAST", [value.as("text[]")])
|
|
81
|
+
contains = Arel::Nodes::InfixOperation.new("@>", column_cast, value_cast)
|
|
82
|
+
where.not contains
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
before_validation -> { self[column_name] = self.class.tag_columns_sanitize_list(self[column_name]) }
|
|
44
86
|
|
|
45
87
|
define_method :"has_any_#{method_name}?" do |*values|
|
|
46
88
|
values = self.class.tag_columns_sanitize_list(values)
|
|
47
|
-
existing = self.class.tag_columns_sanitize_list(self[column_name]
|
|
89
|
+
existing = self.class.tag_columns_sanitize_list(self[column_name])
|
|
48
90
|
(values & existing).present?
|
|
49
91
|
end
|
|
50
92
|
|
|
51
93
|
define_method :"has_all_#{method_name}?" do |*values|
|
|
52
94
|
values = self.class.tag_columns_sanitize_list(values)
|
|
53
|
-
existing = self.class.tag_columns_sanitize_list(self[column_name]
|
|
95
|
+
existing = self.class.tag_columns_sanitize_list(self[column_name])
|
|
54
96
|
(values & existing).size == values.size
|
|
55
|
-
|
|
97
|
+
end
|
|
56
98
|
|
|
57
99
|
alias_method :"has_#{method_name.singularize}?", :"has_all_#{method_name}?"
|
|
58
100
|
|
data/lib/tag_columns/version.rb
CHANGED
data/tag_columns.gemspec
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require File.expand_path("../lib/tag_columns/version", __FILE__)
|
|
2
|
+
|
|
3
|
+
Gem::Specification.new do |gem|
|
|
4
|
+
gem.name = "tag_columns"
|
|
5
|
+
gem.license = "MIT"
|
|
6
|
+
gem.version = TagColumns::VERSION
|
|
7
|
+
gem.authors = ["Nathan Hopkins"]
|
|
8
|
+
gem.email = ["natehop@gmail.com"]
|
|
9
|
+
gem.homepage = "https://github.com/hopsoft/tag_columns"
|
|
10
|
+
gem.summary = "Fast & simple Rails ActiveRecord model tagging using PostgreSQL's Array datatype"
|
|
11
|
+
|
|
12
|
+
gem.files = Dir["lib/**/*.rb", "bin/*", "[A-Z]*"]
|
|
13
|
+
gem.test_files = Dir["test/**/*.rb"]
|
|
14
|
+
|
|
15
|
+
gem.add_dependency "activesupport"
|
|
16
|
+
|
|
17
|
+
gem.add_development_dependency "rake"
|
|
18
|
+
gem.add_development_dependency "pry-test"
|
|
19
|
+
gem.add_development_dependency "coveralls"
|
|
20
|
+
gem.add_development_dependency "standardrb"
|
|
21
|
+
end
|
data/tags
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
!_TAG_FILE_FORMAT 2 /extended format; --format=1 will not append ;" to lines/
|
|
2
|
+
!_TAG_FILE_SORTED 1 /0=unsorted, 1=sorted, 2=foldcase/
|
|
3
|
+
!_TAG_PROGRAM_AUTHOR Darren Hiebert /dhiebert@users.sourceforge.net/
|
|
4
|
+
!_TAG_PROGRAM_NAME Exuberant Ctags //
|
|
5
|
+
!_TAG_PROGRAM_URL http://ctags.sourceforge.net /official site/
|
|
6
|
+
!_TAG_PROGRAM_VERSION 5.8 //
|
|
7
|
+
ClassMethods lib/tag_columns.rb /^ module ClassMethods$/;" m class:TagColumns
|
|
8
|
+
TagColumns lib/tag_columns.rb /^module TagColumns$/;" m
|
|
9
|
+
TagColumns lib/tag_columns/version.rb /^module TagColumns$/;" m
|
|
10
|
+
TestTagColumns test/test_tag_columns.rb /^class TestTagColumns < PryTest::Test$/;" c
|
|
11
|
+
tag_columns lib/tag_columns.rb /^ def tag_columns(*column_names)$/;" f class:TagColumns.ClassMethods
|
|
12
|
+
tag_columns_sanitize_list lib/tag_columns.rb /^ def tag_columns_sanitize_list(values = [])$/;" f class:TagColumns.ClassMethods
|
data/test/test_tag_columns.rb
CHANGED
|
@@ -4,8 +4,30 @@ Coveralls.wear!
|
|
|
4
4
|
SimpleCov.command_name "pry-test"
|
|
5
5
|
require_relative "../lib/tag_columns"
|
|
6
6
|
|
|
7
|
+
class TagColumnsTester
|
|
8
|
+
include TagColumns
|
|
9
|
+
end
|
|
10
|
+
|
|
7
11
|
class TestTagColumns < PryTest::Test
|
|
8
|
-
|
|
9
|
-
|
|
12
|
+
include TagColumns
|
|
13
|
+
|
|
14
|
+
test "tag_columns_sanitize_list with no arg" do
|
|
15
|
+
assert TagColumnsTester.tag_columns_sanitize_list == []
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
test "tag_columns_sanitize_list with empty list arg" do
|
|
19
|
+
assert TagColumnsTester.tag_columns_sanitize_list([]) == []
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
test "tag_columns_sanitize_list with nil arg" do
|
|
23
|
+
assert TagColumnsTester.tag_columns_sanitize_list(nil) == []
|
|
24
|
+
end
|
|
25
|
+
|
|
26
|
+
test "tag_columns_sanitize_list with upper case list" do
|
|
27
|
+
assert TagColumnsTester.tag_columns_sanitize_list(%w[C B A]) == %w[A B C]
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
test "tag_columns_sanitize_list with lower case list" do
|
|
31
|
+
assert TagColumnsTester.tag_columns_sanitize_list(%w[c b a]) == %w[a b c]
|
|
10
32
|
end
|
|
11
33
|
end
|
metadata
CHANGED
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: tag_columns
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.1.
|
|
4
|
+
version: 0.1.10
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Nathan Hopkins
|
|
8
8
|
autorequire:
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
|
-
date:
|
|
11
|
+
date: 2021-02-12 00:00:00.000000000 Z
|
|
12
12
|
dependencies:
|
|
13
13
|
- !ruby/object:Gem::Dependency
|
|
14
14
|
name: activesupport
|
|
@@ -67,7 +67,7 @@ dependencies:
|
|
|
67
67
|
- !ruby/object:Gem::Version
|
|
68
68
|
version: '0'
|
|
69
69
|
- !ruby/object:Gem::Dependency
|
|
70
|
-
name:
|
|
70
|
+
name: standardrb
|
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
|
72
72
|
requirements:
|
|
73
73
|
- - ">="
|
|
@@ -93,9 +93,13 @@ files:
|
|
|
93
93
|
- README.md
|
|
94
94
|
- Rakefile
|
|
95
95
|
- bin/console
|
|
96
|
+
- bin/loc
|
|
96
97
|
- bin/setup
|
|
98
|
+
- bin/standardize
|
|
97
99
|
- lib/tag_columns.rb
|
|
98
100
|
- lib/tag_columns/version.rb
|
|
101
|
+
- tag_columns.gemspec
|
|
102
|
+
- tags
|
|
99
103
|
- test/test_tag_columns.rb
|
|
100
104
|
homepage: https://github.com/hopsoft/tag_columns
|
|
101
105
|
licenses:
|
|
@@ -116,8 +120,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
|
116
120
|
- !ruby/object:Gem::Version
|
|
117
121
|
version: '0'
|
|
118
122
|
requirements: []
|
|
119
|
-
|
|
120
|
-
rubygems_version: 2.6.13
|
|
123
|
+
rubygems_version: 3.1.2
|
|
121
124
|
signing_key:
|
|
122
125
|
specification_version: 4
|
|
123
126
|
summary: Fast & simple Rails ActiveRecord model tagging using PostgreSQL's Array datatype
|