categoryz3 0.8.4 → 0.9.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 +4 -4
- data/README.rdoc +2 -0
- data/app/models/categoryz3/item.rb +1 -1
- data/lib/categoryz3/categorizable.rb +30 -5
- data/lib/categoryz3/version.rb +1 -1
- metadata +5 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 69526af5ee6719afe5a192596c08e14854349b0d
|
4
|
+
data.tar.gz: 2f3ceeec6fba79a8632aceb7828f5eb0841457e4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 908aa26903456b8323248feac36cfc39e3aaba3ca6778d8976806cc62455697916e55854e38ba2e020b248f8bcfb43d2501da29c4fca2383f837406bc54a0a5a
|
7
|
+
data.tar.gz: a111b9674dbe7e13f7f8708298d8fce57aa36cb8bb31c0c2598ca7b50a0aa1ae5793982988b550f812080a51563f5acecb12614ad6eca3ba6be6b1b797b66021
|
data/README.rdoc
CHANGED
@@ -2,6 +2,8 @@
|
|
2
2
|
{<img src="https://secure.travis-ci.org/tscolari/categoryz3.png" />}[http://travis-ci.org/tscolari/categoryz3]
|
3
3
|
{<img src="https://codeclimate.com/badge.png" />}[https://codeclimate.com/github/tscolari/categoryz3]
|
4
4
|
|
5
|
+
__Version 0.9+ is rails4 compatible__
|
6
|
+
|
5
7
|
Simple categorization to ActiveRecord models.
|
6
8
|
|
7
9
|
Works like a simple tagging system, but instead of tags it has categories, and categories may have an ilimited level of subcategories.
|
@@ -21,7 +21,7 @@ module Categoryz3
|
|
21
21
|
# Private: Creates a child item for the category
|
22
22
|
#
|
23
23
|
def create_child_item_for_category(category)
|
24
|
-
category.child_items.
|
24
|
+
category.child_items.find_or_create_by(categorizable_type: self.categorizable.class.base_class.name, categorizable_id: self.categorizable.id, master_item_id: self.id)
|
25
25
|
end
|
26
26
|
|
27
27
|
# Private: Create a child_item for each subcategory the category from this item have
|
@@ -14,11 +14,36 @@ module Categoryz3
|
|
14
14
|
module Categorizable
|
15
15
|
extend ActiveSupport::Concern
|
16
16
|
included do
|
17
|
-
has_many :direct_category_items
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
17
|
+
has_many :direct_category_items,
|
18
|
+
class_name: 'Categoryz3::Item',
|
19
|
+
as: :categorizable,
|
20
|
+
inverse_of: :categorizable
|
21
|
+
|
22
|
+
has_many :child_category_items,
|
23
|
+
class_name: 'Categoryz3::ChildItem',
|
24
|
+
as: :categorizable,
|
25
|
+
inverse_of: :categorizable
|
26
|
+
|
27
|
+
has_many :categories,
|
28
|
+
through: :direct_category_items,
|
29
|
+
source: 'category',
|
30
|
+
class_name: 'Categoryz3::Category'
|
31
|
+
|
32
|
+
has_many :all_categories,
|
33
|
+
through: :child_category_items,
|
34
|
+
source: 'category',
|
35
|
+
class_name: 'Categoryz3::Category'
|
36
|
+
|
37
|
+
has_many :root_categories,
|
38
|
+
through: :child_category_items,
|
39
|
+
source: 'category',
|
40
|
+
class_name: 'Categoryz3::Category',
|
41
|
+
conditions: { parent_id: nil }
|
42
|
+
|
43
|
+
scope :inside_category ,
|
44
|
+
->(category) { joins(:child_category_items).where('categoryz3_child_items.category_id = ?' , category.id) }
|
45
|
+
scope :having_category ,
|
46
|
+
->(category) { joins(:direct_category_items).where('categoryz3_items.category_id = ?' , category.id) }
|
22
47
|
end
|
23
48
|
|
24
49
|
# Public: Removes a category, or categories, from the model
|
data/lib/categoryz3/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: categoryz3
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tiago Scolari
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-27 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -16,14 +16,14 @@ dependencies:
|
|
16
16
|
requirements:
|
17
17
|
- - '>='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 4.0.0
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
24
|
- - '>='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 4.0.0
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: rspec-rails
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -126,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
126
126
|
version: '0'
|
127
127
|
requirements: []
|
128
128
|
rubyforge_project:
|
129
|
-
rubygems_version: 2.0.
|
129
|
+
rubygems_version: 2.0.3
|
130
130
|
signing_key:
|
131
131
|
specification_version: 4
|
132
132
|
summary: Simple categorization to ActiveRecord models.
|