lean_tag 1.0.0 → 1.0.1
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/lib/lean_tag/engine.rb +0 -2
- data/lib/lean_tag/tag.rb +0 -2
- data/lib/lean_tag/taggable.rb +1 -12
- data/lib/lean_tag/tagging.rb +0 -2
- data/lib/lean_tag/version.rb +1 -3
- data/lib/lean_tag.rb +0 -5
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9a5597de96b7f9ec49591cf11c3d4c4969d2beb1
|
4
|
+
data.tar.gz: 88328d047bad479c91c3249181be49decee783d9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ab0269cf7dc8a631806289b29a1f3713c71e19a55ca0fcd43be9b22ec6c6ec98961b425cd2b723e7a7e8fc6dcd99ebfe1d2553d7ced573cf079a7c9bc9b38e3e
|
7
|
+
data.tar.gz: 13dafdafb371590755c1d77d04d6e8ecd501fcc88b0c15954729dea98dd13e003b2afd3ba9b751d2a7d8e371dc57b3b7f7d612503e934c000ef37149ea05db7b
|
data/lib/lean_tag/engine.rb
CHANGED
data/lib/lean_tag/tag.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module LeanTag
|
2
2
|
class Tag < ActiveRecord::Base
|
3
|
-
|
4
3
|
self.table_name = :tags
|
5
4
|
|
6
5
|
has_many :records, through: :taggings
|
@@ -17,6 +16,5 @@ module LeanTag
|
|
17
16
|
self[:name] = self[:name].downcase if LeanTag.config.force_lowercase
|
18
17
|
end
|
19
18
|
end
|
20
|
-
|
21
19
|
end
|
22
20
|
end
|
data/lib/lean_tag/taggable.rb
CHANGED
@@ -1,8 +1,6 @@
|
|
1
1
|
module LeanTag
|
2
2
|
module Taggable
|
3
|
-
|
4
3
|
def self.extended(base)
|
5
|
-
|
6
4
|
def taggable_on(relation="tags")
|
7
5
|
extend ClassMethods
|
8
6
|
|
@@ -20,16 +18,13 @@ module LeanTag
|
|
20
18
|
define_method "add_#{tag_relation.to_s.singularize}!", ->(tag) { _add_tag!(tag, tag_relation) }
|
21
19
|
define_method "#{tag_relation.to_s.singularize}_list", ->() { _get_tag_list(tag_relation) }
|
22
20
|
define_method "remove_#{tag_relation.to_s.singularize}", ->(tag) { _remove_tag(tag, tag_relation) }
|
23
|
-
define_method "remove_#{tag_relation.to_s.singularize}!", ->(tag) { _remove_tag(tag, tag_relation) }
|
21
|
+
define_method "remove_#{tag_relation.to_s.singularize}!", ->(tag) { _remove_tag!(tag, tag_relation) }
|
24
22
|
define_method "#{tag_relation.to_s.singularize}_list=", ->(list) { _set_tag_list(list, tag_relation) }
|
25
23
|
end
|
26
24
|
end
|
27
|
-
|
28
25
|
end
|
29
26
|
|
30
|
-
|
31
27
|
module ClassMethods
|
32
|
-
|
33
28
|
##
|
34
29
|
# Returns all records which include at least one of the passed tags
|
35
30
|
def tagged_with(list, filter="tags")
|
@@ -39,19 +34,15 @@ module LeanTag
|
|
39
34
|
return self.where(id: taggings.select(:record_id).distinct)
|
40
35
|
end
|
41
36
|
|
42
|
-
|
43
37
|
##
|
44
38
|
# Get all tags used by this class
|
45
39
|
def tags(filter="tags")
|
46
40
|
taggings = Tagging.where(record_type: self.name, filter: filter).where(filter: filter)
|
47
41
|
return Tag.where(id: taggings.select(:tag_id).distinct)
|
48
42
|
end
|
49
|
-
|
50
43
|
end
|
51
44
|
|
52
|
-
|
53
45
|
module InstanceMethods
|
54
|
-
|
55
46
|
##
|
56
47
|
# Adds a single tag on parent save
|
57
48
|
def _add_tag(tag, filter="tags")
|
@@ -124,8 +115,6 @@ module LeanTag
|
|
124
115
|
def _taggings(filter)
|
125
116
|
self.send("#{filter}_taggings")
|
126
117
|
end
|
127
|
-
|
128
118
|
end
|
129
|
-
|
130
119
|
end
|
131
120
|
end
|
data/lib/lean_tag/tagging.rb
CHANGED
@@ -1,6 +1,5 @@
|
|
1
1
|
module LeanTag
|
2
2
|
class Tagging < ActiveRecord::Base
|
3
|
-
|
4
3
|
self.table_name = :taggings
|
5
4
|
|
6
5
|
belongs_to :record, polymorphic: true, inverse_of: :taggings
|
@@ -11,6 +10,5 @@ module LeanTag
|
|
11
10
|
validates :record_id, presence: true
|
12
11
|
validates :record_type, presence: true
|
13
12
|
validates :tag, presence: true, uniqueness: { scope: [:record_type, :record_id] }
|
14
|
-
|
15
13
|
end
|
16
14
|
end
|
data/lib/lean_tag/version.rb
CHANGED
data/lib/lean_tag.rb
CHANGED
@@ -5,7 +5,6 @@ require 'active_support/core_ext/module'
|
|
5
5
|
require_relative 'lean_tag/engine' if defined?(Rails)
|
6
6
|
|
7
7
|
module LeanTag
|
8
|
-
|
9
8
|
def self.config
|
10
9
|
@configuration ||= Configuration.new
|
11
10
|
end
|
@@ -15,9 +14,7 @@ module LeanTag
|
|
15
14
|
yield self.config if block_given?
|
16
15
|
end
|
17
16
|
|
18
|
-
|
19
17
|
class Configuration
|
20
|
-
|
21
18
|
attr_accessor :delimiter, :force_lowercase, :remove_unused
|
22
19
|
|
23
20
|
def initialize
|
@@ -25,7 +22,5 @@ module LeanTag
|
|
25
22
|
self.force_lowercase = true
|
26
23
|
self.remove_unused = true
|
27
24
|
end
|
28
|
-
|
29
25
|
end
|
30
|
-
|
31
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lean_tag
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Matt Ellis
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2017-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rspec
|
@@ -103,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
103
103
|
version: '0'
|
104
104
|
requirements: []
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.6.14
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: A lightweight method for tagging content
|