categoryz3 0.1 → 0.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.
data/README.rdoc CHANGED
@@ -7,7 +7,7 @@ Simple categorization to ActiveRecord models.
7
7
 
8
8
  Works like a simple tagging system, but instead of tags it has categories, and categories may have an ilimited level of subcategories.
9
9
 
10
- Using an auxiliary table, it's easy and fast to fetch items from any category, including all level of subcategories it may have.
10
+ Fetches items in any level of subcategories with a single join.
11
11
 
12
12
  == Motivation
13
13
 
@@ -109,4 +109,4 @@ Lists all objects that belongs to the category. (No subcategory objects).
109
109
 
110
110
  = License
111
111
 
112
- This project rocks and uses MIT-LICENSE.
112
+ MIT License. Copyright 2012 Tiago Scolari.
@@ -7,7 +7,7 @@ class CreateCategoryz3ChildItems < ActiveRecord::Migration
7
7
  t.timestamps
8
8
  end
9
9
  add_index :categoryz3_child_items, [:category_id, :created_at]
10
- add_index :categoryz3_child_items, [:category_id, :categorizable_type, :categorizable_id], unique: true, name: 'child_items_unq_idx'
10
+ add_index :categoryz3_child_items, [:category_id, :categorizable_type, :categorizable_id, :master_item_id], unique: true, name: 'child_items_unq_idx'
11
11
  add_index :categoryz3_child_items, [:categorizable_type, :categorizable_id], name: 'child_items_categorizable_idx'
12
12
  add_index :categoryz3_child_items, [:master_item_id]
13
13
  end
@@ -63,14 +63,15 @@ module Categoryz3
63
63
  # Public: Returns the id list of the categories linked to the model
64
64
  #
65
65
  def categories_list
66
- categories.map(&:id).join(", ")
66
+ categories.map(&:id).join(",")
67
67
  end
68
68
 
69
69
  # Public: Accepts an array of category ids as parameter and adds all
70
70
  # of them to the model
71
71
  #
72
72
  def categories_list=(ids)
73
- self.categories = ids.split(",").map do |id|
73
+ ids = ids.is_a?(String) ? ids.split(',') : ids
74
+ self.categories = ids.map do |id|
74
75
  Category.where(id: id).first
75
76
  end
76
77
  end
@@ -1,3 +1,3 @@
1
1
  module Categoryz3
2
- VERSION = "0.1"
2
+ VERSION = "0.2"
3
3
  end
metadata CHANGED
@@ -1,97 +1,98 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: categoryz3
3
3
  version: !ruby/object:Gem::Version
4
- prerelease:
5
- version: '0.1'
4
+ version: '0.2'
5
+ prerelease:
6
6
  platform: ruby
7
7
  authors:
8
8
  - Tiago Scolari
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-10-06 00:00:00.000000000 Z
12
+ date: 2012-10-07 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rails
16
- version_requirements: !ruby/object:Gem::Requirement
16
+ requirement: !ruby/object:Gem::Requirement
17
+ none: false
17
18
  requirements:
18
19
  - - ~>
19
20
  - !ruby/object:Gem::Version
20
21
  version: 3.2.8
22
+ type: :runtime
23
+ prerelease: false
24
+ version_requirements: !ruby/object:Gem::Requirement
21
25
  none: false
22
- requirement: !ruby/object:Gem::Requirement
23
26
  requirements:
24
27
  - - ~>
25
28
  - !ruby/object:Gem::Version
26
29
  version: 3.2.8
27
- none: false
28
- prerelease: false
29
- type: :runtime
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rspec-rails
32
- version_requirements: !ruby/object:Gem::Requirement
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
33
34
  requirements:
34
35
  - - ! '>='
35
36
  - !ruby/object:Gem::Version
36
37
  version: '0'
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
37
41
  none: false
38
- requirement: !ruby/object:Gem::Requirement
39
42
  requirements:
40
43
  - - ! '>='
41
44
  - !ruby/object:Gem::Version
42
45
  version: '0'
43
- none: false
44
- prerelease: false
45
- type: :development
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: database_cleaner
48
- version_requirements: !ruby/object:Gem::Requirement
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
49
50
  requirements:
50
51
  - - ! '>='
51
52
  - !ruby/object:Gem::Version
52
53
  version: '0'
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
53
57
  none: false
54
- requirement: !ruby/object:Gem::Requirement
55
58
  requirements:
56
59
  - - ! '>='
57
60
  - !ruby/object:Gem::Version
58
61
  version: '0'
59
- none: false
60
- prerelease: false
61
- type: :development
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: factory_girl_rails
64
- version_requirements: !ruby/object:Gem::Requirement
64
+ requirement: !ruby/object:Gem::Requirement
65
+ none: false
65
66
  requirements:
66
67
  - - ! '>='
67
68
  - !ruby/object:Gem::Version
68
69
  version: '0'
70
+ type: :development
71
+ prerelease: false
72
+ version_requirements: !ruby/object:Gem::Requirement
69
73
  none: false
70
- requirement: !ruby/object:Gem::Requirement
71
74
  requirements:
72
75
  - - ! '>='
73
76
  - !ruby/object:Gem::Version
74
77
  version: '0'
75
- none: false
76
- prerelease: false
77
- type: :development
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: ffaker
80
- version_requirements: !ruby/object:Gem::Requirement
80
+ requirement: !ruby/object:Gem::Requirement
81
+ none: false
81
82
  requirements:
82
83
  - - ! '>='
83
84
  - !ruby/object:Gem::Version
84
85
  version: '0'
86
+ type: :development
87
+ prerelease: false
88
+ version_requirements: !ruby/object:Gem::Requirement
85
89
  none: false
86
- requirement: !ruby/object:Gem::Requirement
87
90
  requirements:
88
91
  - - ! '>='
89
92
  - !ruby/object:Gem::Version
90
93
  version: '0'
91
- none: false
92
- prerelease: false
93
- type: :development
94
- description: Works like a simple tagging system, but instead of tags it has categories, and categories may have an ilimited level of subcategories.
94
+ description: Works like a simple tagging system, but instead of tags it has categories,
95
+ and categories may have an ilimited level of subcategories.
95
96
  email:
96
97
  - tscolari@gmail.com
97
98
  executables: []
@@ -105,11 +106,11 @@ files:
105
106
  - db/migrate/20121003060539_create_categoryz3_categories.rb
106
107
  - db/migrate/20121003060933_create_categoryz3_items.rb
107
108
  - db/migrate/20121003061056_create_categoryz3_child_items.rb
108
- - lib/categoryz3.rb
109
109
  - lib/categoryz3/categorizable.rb
110
110
  - lib/categoryz3/engine.rb
111
- - lib/categoryz3/version.rb
112
111
  - lib/categoryz3/validators/child_item_category_validator.rb
112
+ - lib/categoryz3/version.rb
113
+ - lib/categoryz3.rb
113
114
  - lib/generators/categoryz3/migrations/migrations_generator.rb
114
115
  - lib/generators/categoryz3/migrations/USAGE
115
116
  - lib/tasks/categoryz3_tasks.rake
@@ -118,33 +119,32 @@ files:
118
119
  - README.rdoc
119
120
  homepage: https://github.com/tscolari/categoryz3
120
121
  licenses: []
121
- post_install_message:
122
+ post_install_message:
122
123
  rdoc_options: []
123
124
  require_paths:
124
125
  - lib
125
126
  required_ruby_version: !ruby/object:Gem::Requirement
127
+ none: false
126
128
  requirements:
127
129
  - - ! '>='
128
130
  - !ruby/object:Gem::Version
131
+ version: '0'
129
132
  segments:
130
133
  - 0
131
- hash: 2
132
- version: '0'
133
- none: false
134
+ hash: -20425421856423707
134
135
  required_rubygems_version: !ruby/object:Gem::Requirement
136
+ none: false
135
137
  requirements:
136
138
  - - ! '>='
137
139
  - !ruby/object:Gem::Version
140
+ version: '0'
138
141
  segments:
139
142
  - 0
140
- hash: 2
141
- version: '0'
142
- none: false
143
+ hash: -20425421856423707
143
144
  requirements: []
144
- rubyforge_project:
145
+ rubyforge_project:
145
146
  rubygems_version: 1.8.24
146
- signing_key:
147
+ signing_key:
147
148
  specification_version: 3
148
149
  summary: Simple categorization to ActiveRecord models.
149
150
  test_files: []
150
- ...