my_tags 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/models/my_tags/tag.rb +5 -0
- data/app/models/my_tags/tagging.rb +7 -0
- data/db/migrate/1_tag_tables.rb +27 -0
- data/lib/my_tags/active_record.rb +12 -0
- data/lib/my_tags/engine.rb +9 -0
- data/lib/my_tags.rb +6 -0
- data/my_tags.gemspec +1 -1
- metadata +6 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 826c46163180baa502768530f2577a7b707df855
|
4
|
+
data.tar.gz: a3439e8d3e217b79bf5fe6362b06dd7c12d53602
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 39e5ecc03e06811ac8e419c88c175f1dacb1c15f4e317e0cde60b976e11ae7102ae0ded3da17acc7f852236c2f5c5fb9bb0632a497c582c09454b54674f62719
|
7
|
+
data.tar.gz: c371b5ae5a91024a68d45b539c07d398d840036991bddd446753e2565517c883ec8b6e926ac98d63cbcbf0eadd3f15d78af5f9bcfb97dc4cae186fda804e2e92
|
@@ -0,0 +1,27 @@
|
|
1
|
+
class TagTables < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
create_table :taggings do |t|
|
4
|
+
t.integer :tag_id, :null => false
|
5
|
+
t.integer :taggable_id, :null => false
|
6
|
+
t.string :taggable_type, :null => false
|
7
|
+
t.timestamps
|
8
|
+
end
|
9
|
+
|
10
|
+
add_index :taggings, :tag_id
|
11
|
+
add_index :taggings, [:taggable_type, :taggable_id]
|
12
|
+
add_index :taggings, [:taggable_type, :taggable_id, :tag_id],
|
13
|
+
:unique => true, :name => 'unique_taggings'
|
14
|
+
|
15
|
+
create_table :tags do |t|
|
16
|
+
t.string :name, :null => false
|
17
|
+
t.timestamps
|
18
|
+
end
|
19
|
+
|
20
|
+
add_index :tags, :name, :unique => true
|
21
|
+
end
|
22
|
+
|
23
|
+
def down
|
24
|
+
drop_table :tags
|
25
|
+
drop_table :taggings
|
26
|
+
end
|
27
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
module MyTags::ActiveRecord
|
2
|
+
def self.included(base)
|
3
|
+
base.extend MyTags::ActiveRecord::ClassMethods
|
4
|
+
end
|
5
|
+
|
6
|
+
module ClassMethods
|
7
|
+
def has_many_tags
|
8
|
+
has_many :taggings, :class_name => 'MyTags::Tagging', :as => :taggable, :dependent => :destroy
|
9
|
+
has_many :tags, :class_name => 'MyTags::Tag', :through => :taggings
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
data/lib/my_tags.rb
CHANGED
data/my_tags.gemspec
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_tags
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Vitaly Omelchenko
|
@@ -17,7 +17,12 @@ executables: []
|
|
17
17
|
extensions: []
|
18
18
|
extra_rdoc_files: []
|
19
19
|
files:
|
20
|
+
- app/models/my_tags/tag.rb
|
21
|
+
- app/models/my_tags/tagging.rb
|
22
|
+
- db/migrate/1_tag_tables.rb
|
20
23
|
- lib/my_tags.rb
|
24
|
+
- lib/my_tags/active_record.rb
|
25
|
+
- lib/my_tags/engine.rb
|
21
26
|
- my_tags.gemspec
|
22
27
|
homepage: https://github.com/vintyara/my_tags
|
23
28
|
licenses: []
|