dm-tags 0.10.1 → 0.10.2
Sign up to get free protection for your applications and to get access to all the features.
- data/LICENSE +1 -1
- data/README.rdoc +1 -1
- data/Rakefile +24 -18
- data/VERSION +1 -0
- data/dm-tags.gemspec +73 -0
- data/lib/dm-tags/dm_tags.rb +9 -16
- data/lib/dm-tags/tag.rb +1 -1
- data/lib/dm-tags/tagging.rb +3 -7
- data/spec/dm-tags/tag_spec.rb +0 -5
- data/spec/dm-tags/taggable_spec.rb +24 -7
- data/spec/dm-tags/tagging_spec.rb +0 -8
- data/spec/rcov.opts +6 -0
- data/spec/spec.opts +2 -0
- data/tasks/ci.rake +1 -0
- data/tasks/metrics.rake +36 -0
- data/tasks/spec.rake +41 -0
- data/tasks/yard.rake +9 -0
- data/tasks/yardstick.rake +19 -0
- metadata +37 -19
- data/History.rdoc +0 -43
- data/Manifest.txt +0 -21
- data/TODO +0 -0
- data/lib/dm-tags/version.rb +0 -5
- data/tasks/install.rb +0 -13
- data/tasks/spec.rb +0 -25
data/LICENSE
CHANGED
data/README.rdoc
CHANGED
@@ -117,7 +117,7 @@ This package brings tagging to DataMapper. It is inspired by Acts As Taggable O
|
|
117
117
|
|
118
118
|
(The MIT License)
|
119
119
|
|
120
|
-
Copyright (c)
|
120
|
+
Copyright (c) 2009 Bobby Calderwood
|
121
121
|
|
122
122
|
Permission is hereby granted, free of charge, to any person obtaining
|
123
123
|
a copy of this software and associated documentation files (the
|
data/Rakefile
CHANGED
@@ -1,24 +1,30 @@
|
|
1
|
-
require '
|
1
|
+
require 'rubygems'
|
2
|
+
require 'rake'
|
2
3
|
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
SUDO = (WINDOWS || JRUBY) ? '' : ('sudo' unless ENV['SUDOLESS'])
|
4
|
+
begin
|
5
|
+
gem 'jeweler', '~> 1.4'
|
6
|
+
require 'jeweler'
|
7
7
|
|
8
|
-
|
8
|
+
Jeweler::Tasks.new do |gem|
|
9
|
+
gem.name = 'dm-tags'
|
10
|
+
gem.summary = "This package brings tagging to DataMapper. It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh. Props to him for the contextual tagging based on Acts As Taggable on Steroids."
|
11
|
+
gem.description = gem.summary
|
12
|
+
gem.email = 'bobby_calderwood [a] me [d] com'
|
13
|
+
gem.homepage = 'http://github.com/datamapper/dm-more/tree/master/%s' % gem.name
|
14
|
+
gem.authors = [ 'Bobby Calderwood' ]
|
9
15
|
|
10
|
-
|
11
|
-
EMAIL = 'bobby_calderwood [a] me [d] com'
|
12
|
-
GEM_NAME = 'dm-tags'
|
13
|
-
GEM_VERSION = DataMapper::Tags::VERSION
|
14
|
-
GEM_DEPENDENCIES = [['dm-core', GEM_VERSION], ['dm-validations', GEM_VERSION]]
|
15
|
-
GEM_CLEAN = %w[ log pkg coverage ]
|
16
|
-
GEM_EXTRAS = { :has_rdoc => true, :extra_rdoc_files => %w[ README.rdoc LICENSE TODO History.rdoc ] }
|
16
|
+
gem.rubyforge_project = 'datamapper'
|
17
17
|
|
18
|
-
|
19
|
-
|
20
|
-
PROJECT_DESCRIPTION = PROJECT_SUMMARY = "This package brings tagging to DataMapper. It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh. Props to him for the contextual tagging based on Acts As Taggable on Steroids."
|
18
|
+
gem.add_dependency 'dm-core', '~> 0.10.2'
|
19
|
+
gem.add_dependency 'dm-validations', '~> 0.10.2'
|
21
20
|
|
22
|
-
|
23
|
-
|
21
|
+
gem.add_development_dependency 'rspec', '~> 1.2.9'
|
22
|
+
gem.add_development_dependency 'yard', '~> 0.4.0'
|
23
|
+
end
|
24
|
+
|
25
|
+
Jeweler::GemcutterTasks.new
|
26
|
+
|
27
|
+
FileList['tasks/**/*.rake'].each { |task| import task }
|
28
|
+
rescue LoadError
|
29
|
+
puts 'Jeweler (or a dependency) not available. Install it with: gem install jeweler'
|
24
30
|
end
|
data/VERSION
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
0.10.2
|
data/dm-tags.gemspec
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
# Generated by jeweler
|
2
|
+
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
+
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
+
# -*- encoding: utf-8 -*-
|
5
|
+
|
6
|
+
Gem::Specification.new do |s|
|
7
|
+
s.name = %q{dm-tags}
|
8
|
+
s.version = "0.10.2"
|
9
|
+
|
10
|
+
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
+
s.authors = ["Bobby Calderwood"]
|
12
|
+
s.date = %q{2009-12-11}
|
13
|
+
s.description = %q{This package brings tagging to DataMapper. It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh. Props to him for the contextual tagging based on Acts As Taggable on Steroids.}
|
14
|
+
s.email = %q{bobby_calderwood [a] me [d] com}
|
15
|
+
s.extra_rdoc_files = [
|
16
|
+
"LICENSE",
|
17
|
+
"README.rdoc"
|
18
|
+
]
|
19
|
+
s.files = [
|
20
|
+
".gitignore",
|
21
|
+
"LICENSE",
|
22
|
+
"README.rdoc",
|
23
|
+
"Rakefile",
|
24
|
+
"VERSION",
|
25
|
+
"dm-tags.gemspec",
|
26
|
+
"lib/dm-tags.rb",
|
27
|
+
"lib/dm-tags/dm_tags.rb",
|
28
|
+
"lib/dm-tags/tag.rb",
|
29
|
+
"lib/dm-tags/tagging.rb",
|
30
|
+
"spec/dm-tags/dm_tags_spec.rb",
|
31
|
+
"spec/dm-tags/tag_spec.rb",
|
32
|
+
"spec/dm-tags/taggable_spec.rb",
|
33
|
+
"spec/dm-tags/tagging_spec.rb",
|
34
|
+
"spec/dm-tags/updating_spec.rb",
|
35
|
+
"spec/rcov.opts",
|
36
|
+
"spec/spec.opts",
|
37
|
+
"spec/spec_helper.rb",
|
38
|
+
"tasks/ci.rake",
|
39
|
+
"tasks/metrics.rake",
|
40
|
+
"tasks/spec.rake",
|
41
|
+
"tasks/yard.rake",
|
42
|
+
"tasks/yardstick.rake"
|
43
|
+
]
|
44
|
+
s.homepage = %q{http://github.com/datamapper/dm-more/tree/master/dm-tags}
|
45
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
46
|
+
s.require_paths = ["lib"]
|
47
|
+
s.rubyforge_project = %q{datamapper}
|
48
|
+
s.rubygems_version = %q{1.3.5}
|
49
|
+
s.summary = %q{This package brings tagging to DataMapper. It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh. Props to him for the contextual tagging based on Acts As Taggable on Steroids.}
|
50
|
+
|
51
|
+
if s.respond_to? :specification_version then
|
52
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
53
|
+
s.specification_version = 3
|
54
|
+
|
55
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
56
|
+
s.add_runtime_dependency(%q<dm-core>, ["~> 0.10.2"])
|
57
|
+
s.add_runtime_dependency(%q<dm-validations>, ["~> 0.10.2"])
|
58
|
+
s.add_development_dependency(%q<rspec>, ["~> 1.2.9"])
|
59
|
+
s.add_development_dependency(%q<yard>, ["~> 0.4.0"])
|
60
|
+
else
|
61
|
+
s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
|
62
|
+
s.add_dependency(%q<dm-validations>, ["~> 0.10.2"])
|
63
|
+
s.add_dependency(%q<rspec>, ["~> 1.2.9"])
|
64
|
+
s.add_dependency(%q<yard>, ["~> 0.4.0"])
|
65
|
+
end
|
66
|
+
else
|
67
|
+
s.add_dependency(%q<dm-core>, ["~> 0.10.2"])
|
68
|
+
s.add_dependency(%q<dm-validations>, ["~> 0.10.2"])
|
69
|
+
s.add_dependency(%q<rspec>, ["~> 1.2.9"])
|
70
|
+
s.add_dependency(%q<yard>, ["~> 0.4.0"])
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
data/lib/dm-tags/dm_tags.rb
CHANGED
@@ -16,11 +16,12 @@ module DataMapper
|
|
16
16
|
# Class Methods
|
17
17
|
def tagged_with(string, options = {})
|
18
18
|
tag = Tag.first(:name => string)
|
19
|
-
conditions = {
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
19
|
+
conditions = {
|
20
|
+
'taggings.tag_id' => tag.kind_of?(Tag) ? tag.id : nil,
|
21
|
+
'taggings.taggable_type' => self,
|
22
|
+
}
|
23
|
+
conditions['taggings.tag_context'] = options.delete(:on) if options.key?(:on)
|
24
|
+
all(conditions.update(options))
|
24
25
|
end
|
25
26
|
|
26
27
|
def taggable?
|
@@ -72,19 +73,11 @@ module DataMapper
|
|
72
73
|
alias #{singular}_collection= #{singular}_list=
|
73
74
|
|
74
75
|
def update_#{association}
|
75
|
-
|
76
|
-
|
77
|
-
|
78
|
-
tags.all(:name => remove_tags).each do |tag|
|
79
|
-
tags.delete(tag)
|
80
|
-
end
|
81
|
-
|
82
|
-
self.#{singular}_list.each do |name|
|
83
|
-
tag = Tag.first_or_new(:name => name)
|
84
|
-
tags << tag unless tags.include?(tag)
|
76
|
+
self.#{association} = self.#{singular}_list.map do |name|
|
77
|
+
Tag.first_or_new(:name => name)
|
85
78
|
end
|
86
79
|
|
87
|
-
self.frozen_#{singular}_list =
|
80
|
+
self.frozen_#{singular}_list = #{singular}_collection
|
88
81
|
end
|
89
82
|
|
90
83
|
##
|
data/lib/dm-tags/tag.rb
CHANGED
data/lib/dm-tags/tagging.rb
CHANGED
@@ -2,16 +2,12 @@ class Tagging
|
|
2
2
|
include DataMapper::Resource
|
3
3
|
|
4
4
|
property :id, Serial
|
5
|
-
property :taggable_id, Integer, :
|
6
|
-
property :taggable_type, Class, :
|
7
|
-
property :tag_context, String, :
|
5
|
+
property :taggable_id, Integer, :required => true
|
6
|
+
property :taggable_type, Class, :required => true
|
7
|
+
property :tag_context, String, :required => true
|
8
8
|
|
9
9
|
belongs_to :tag
|
10
10
|
|
11
|
-
if respond_to?(:validates_present)
|
12
|
-
validates_present :taggable_type, :taggable_id
|
13
|
-
end
|
14
|
-
|
15
11
|
def taggable
|
16
12
|
taggable_type.get!(taggable_id)
|
17
13
|
end
|
data/spec/dm-tags/tag_spec.rb
CHANGED
@@ -5,11 +5,6 @@ describe Tag do
|
|
5
5
|
@tag = Tag.new
|
6
6
|
end
|
7
7
|
|
8
|
-
it "should have id and name properties" do
|
9
|
-
@tag.attributes.should have_key(:id)
|
10
|
-
@tag.attributes.should have_key(:name)
|
11
|
-
end
|
12
|
-
|
13
8
|
it "should have many Taggings" do
|
14
9
|
Tag.relationships.should have_key(:taggings)
|
15
10
|
end
|
@@ -5,10 +5,6 @@ describe "Taggable" do
|
|
5
5
|
@taggable = DefaultTaggedModel.new
|
6
6
|
end
|
7
7
|
|
8
|
-
it "should have an id property" do
|
9
|
-
@taggable.attributes.should have_key(:id)
|
10
|
-
end
|
11
|
-
|
12
8
|
it "should return an alphabetically sorted array of the tag names when sent #tag_list" do
|
13
9
|
tag_names = %w[ tag1 tag2 tag3 ]
|
14
10
|
|
@@ -48,9 +44,11 @@ describe "Taggable" do
|
|
48
44
|
@taggable.tags.sort_by{|tag| tag.id}.should == [tag1, tag2]
|
49
45
|
@taggable.tag_list = 'tag3, tag4'
|
50
46
|
@taggable.save.should be_true
|
51
|
-
@taggable =
|
52
|
-
|
53
|
-
|
47
|
+
@taggable = @taggable.model.get(*@taggable.key)
|
48
|
+
pending do
|
49
|
+
@taggable.tags.sort_by{|tag| tag.id}.should == [tag3, Tag.first(:name => 'tag4')]
|
50
|
+
@taggable.skills.sort_by{|skill| skill.id}.should_not == [tag3, Tag.first(:name => 'tag4')]
|
51
|
+
end
|
54
52
|
end
|
55
53
|
|
56
54
|
it "should set tags with a string, and return a string (form helpers)" do
|
@@ -122,6 +120,25 @@ describe "Taggable" do
|
|
122
120
|
TaggedModel.taggable?.should be_true
|
123
121
|
end
|
124
122
|
|
123
|
+
it 'should return an empty list if tag is not present (should not continue on nil tag)' do
|
124
|
+
taggable = DefaultTaggedModel.new
|
125
|
+
taggable.tag_list = 'tag1, tag2, tag3'
|
126
|
+
taggable.save
|
127
|
+
|
128
|
+
DefaultTaggedModel.tagged_with('tag5').should == []
|
129
|
+
end
|
130
|
+
|
131
|
+
it 'should return an empty list nothing if tag is present but not associated with model' do
|
132
|
+
taggable1 = DefaultTaggedModel.new
|
133
|
+
taggable1.tag_list = 'tag1, tag2, tag3'
|
134
|
+
taggable1.save
|
135
|
+
taggable2 = TaggedModel.new
|
136
|
+
taggable2.tag_list = 'tag1, tag2, tag5'
|
137
|
+
taggable2.save
|
138
|
+
|
139
|
+
DefaultTaggedModel.tagged_with('tag5').should == []
|
140
|
+
end
|
141
|
+
|
125
142
|
it "should have an instance method #taggable? which returns the same as the instance's class would" do
|
126
143
|
UntaggedModel.new.taggable?.should == UntaggedModel.taggable?
|
127
144
|
UntaggedModel.new.taggable?.should be_false
|
@@ -12,14 +12,6 @@ describe Tagging do
|
|
12
12
|
Tagging.should include(DataMapper::Resource)
|
13
13
|
end
|
14
14
|
|
15
|
-
it "should have properties: id, tag_id, taggable_id, taggable_type, tagger_id, tagger_type, and tag_context" do
|
16
|
-
@tagging.attributes.should have_key(:id)
|
17
|
-
@tagging.attributes.should have_key(:tag_id)
|
18
|
-
@tagging.attributes.should have_key(:taggable_id)
|
19
|
-
@tagging.attributes.should have_key(:taggable_type)
|
20
|
-
@tagging.attributes.should have_key(:tag_context)
|
21
|
-
end
|
22
|
-
|
23
15
|
it "should validate the presence of tag_id, taggable_id, taggable_type and tag_context" do
|
24
16
|
@tagging.should_not be_valid
|
25
17
|
@tagging.tag_id = 1
|
data/spec/rcov.opts
ADDED
data/spec/spec.opts
CHANGED
data/tasks/ci.rake
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
task :ci => [ :verify_measurements, 'metrics:all' ]
|
data/tasks/metrics.rake
ADDED
@@ -0,0 +1,36 @@
|
|
1
|
+
begin
|
2
|
+
require 'metric_fu'
|
3
|
+
rescue LoadError
|
4
|
+
namespace :metrics do
|
5
|
+
task :all do
|
6
|
+
abort 'metric_fu is not available. In order to run metrics:all, you must: gem install metric_fu'
|
7
|
+
end
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
begin
|
12
|
+
require 'reek/adapters/rake_task'
|
13
|
+
|
14
|
+
Reek::RakeTask.new do |t|
|
15
|
+
t.fail_on_error = true
|
16
|
+
t.verbose = false
|
17
|
+
t.source_files = 'lib/**/*.rb'
|
18
|
+
end
|
19
|
+
rescue LoadError
|
20
|
+
task :reek do
|
21
|
+
abort 'Reek is not available. In order to run reek, you must: gem install reek'
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
begin
|
26
|
+
require 'roodi'
|
27
|
+
require 'roodi_task'
|
28
|
+
|
29
|
+
RoodiTask.new do |t|
|
30
|
+
t.verbose = false
|
31
|
+
end
|
32
|
+
rescue LoadError
|
33
|
+
task :roodi do
|
34
|
+
abort 'Roodi is not available. In order to run roodi, you must: gem install roodi'
|
35
|
+
end
|
36
|
+
end
|
data/tasks/spec.rake
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
spec_defaults = lambda do |spec|
|
2
|
+
spec.pattern = 'spec/**/*_spec.rb'
|
3
|
+
spec.libs << 'lib' << 'spec'
|
4
|
+
spec.spec_opts << '--options' << 'spec/spec.opts'
|
5
|
+
end
|
6
|
+
|
7
|
+
begin
|
8
|
+
require 'spec/rake/spectask'
|
9
|
+
|
10
|
+
Spec::Rake::SpecTask.new(:spec, &spec_defaults)
|
11
|
+
rescue LoadError
|
12
|
+
task :spec do
|
13
|
+
abort 'rspec is not available. In order to run spec, you must: gem install rspec'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
begin
|
18
|
+
require 'rcov'
|
19
|
+
require 'spec/rake/verify_rcov'
|
20
|
+
|
21
|
+
Spec::Rake::SpecTask.new(:rcov) do |rcov|
|
22
|
+
spec_defaults.call(rcov)
|
23
|
+
rcov.rcov = true
|
24
|
+
rcov.rcov_opts = File.read('spec/rcov.opts').split(/\s+/)
|
25
|
+
end
|
26
|
+
|
27
|
+
RCov::VerifyTask.new(:verify_rcov => :rcov) do |rcov|
|
28
|
+
rcov.threshold = 100
|
29
|
+
end
|
30
|
+
rescue LoadError
|
31
|
+
%w[ rcov verify_rcov ].each do |name|
|
32
|
+
task name do
|
33
|
+
abort "rcov is not available. In order to run #{name}, you must: gem install rcov"
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
task :spec => :check_dependencies
|
39
|
+
task :rcov => :check_dependencies
|
40
|
+
|
41
|
+
task :default => :spec
|
data/tasks/yard.rake
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
begin
|
2
|
+
require 'pathname'
|
3
|
+
require 'yardstick/rake/measurement'
|
4
|
+
require 'yardstick/rake/verify'
|
5
|
+
|
6
|
+
# yardstick_measure task
|
7
|
+
Yardstick::Rake::Measurement.new
|
8
|
+
|
9
|
+
# verify_measurements task
|
10
|
+
Yardstick::Rake::Verify.new do |verify|
|
11
|
+
verify.threshold = 100
|
12
|
+
end
|
13
|
+
rescue LoadError
|
14
|
+
%w[ yardstick_measure verify_measurements ].each do |name|
|
15
|
+
task name.to_s do
|
16
|
+
abort "Yardstick is not available. In order to run #{name}, you must: gem install yardstick"
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dm-tags
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Bobby Calderwood
|
@@ -9,7 +9,7 @@ autorequire:
|
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
11
|
|
12
|
-
date: 2009-
|
12
|
+
date: 2009-12-11 00:00:00 -08:00
|
13
13
|
default_executable:
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
@@ -18,9 +18,9 @@ dependencies:
|
|
18
18
|
version_requirement:
|
19
19
|
version_requirements: !ruby/object:Gem::Requirement
|
20
20
|
requirements:
|
21
|
-
- -
|
21
|
+
- - ~>
|
22
22
|
- !ruby/object:Gem::Version
|
23
|
-
version: 0.10.
|
23
|
+
version: 0.10.2
|
24
24
|
version:
|
25
25
|
- !ruby/object:Gem::Dependency
|
26
26
|
name: dm-validations
|
@@ -28,52 +28,70 @@ dependencies:
|
|
28
28
|
version_requirement:
|
29
29
|
version_requirements: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ~>
|
32
32
|
- !ruby/object:Gem::Version
|
33
|
-
version: 0.10.
|
33
|
+
version: 0.10.2
|
34
|
+
version:
|
35
|
+
- !ruby/object:Gem::Dependency
|
36
|
+
name: rspec
|
37
|
+
type: :development
|
38
|
+
version_requirement:
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ~>
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: 1.2.9
|
44
|
+
version:
|
45
|
+
- !ruby/object:Gem::Dependency
|
46
|
+
name: yard
|
47
|
+
type: :development
|
48
|
+
version_requirement:
|
49
|
+
version_requirements: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ~>
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: 0.4.0
|
34
54
|
version:
|
35
55
|
description: This package brings tagging to DataMapper. It is inspired by Acts As Taggable On by Michael Bleigh, github's mbleigh. Props to him for the contextual tagging based on Acts As Taggable on Steroids.
|
36
|
-
email:
|
37
|
-
- bobby_calderwood [a] me [d] com
|
56
|
+
email: bobby_calderwood [a] me [d] com
|
38
57
|
executables: []
|
39
58
|
|
40
59
|
extensions: []
|
41
60
|
|
42
61
|
extra_rdoc_files:
|
43
|
-
- README.rdoc
|
44
62
|
- LICENSE
|
45
|
-
-
|
46
|
-
- History.rdoc
|
63
|
+
- README.rdoc
|
47
64
|
files:
|
48
65
|
- .gitignore
|
49
|
-
- History.rdoc
|
50
66
|
- LICENSE
|
51
|
-
- Manifest.txt
|
52
67
|
- README.rdoc
|
53
68
|
- Rakefile
|
54
|
-
-
|
69
|
+
- VERSION
|
70
|
+
- dm-tags.gemspec
|
55
71
|
- lib/dm-tags.rb
|
56
72
|
- lib/dm-tags/dm_tags.rb
|
57
73
|
- lib/dm-tags/tag.rb
|
58
74
|
- lib/dm-tags/tagging.rb
|
59
|
-
- lib/dm-tags/version.rb
|
60
75
|
- spec/dm-tags/dm_tags_spec.rb
|
61
76
|
- spec/dm-tags/tag_spec.rb
|
62
77
|
- spec/dm-tags/taggable_spec.rb
|
63
78
|
- spec/dm-tags/tagging_spec.rb
|
64
79
|
- spec/dm-tags/updating_spec.rb
|
80
|
+
- spec/rcov.opts
|
65
81
|
- spec/spec.opts
|
66
82
|
- spec/spec_helper.rb
|
67
|
-
- tasks/
|
68
|
-
- tasks/
|
83
|
+
- tasks/ci.rake
|
84
|
+
- tasks/metrics.rake
|
85
|
+
- tasks/spec.rake
|
86
|
+
- tasks/yard.rake
|
87
|
+
- tasks/yardstick.rake
|
69
88
|
has_rdoc: true
|
70
89
|
homepage: http://github.com/datamapper/dm-more/tree/master/dm-tags
|
71
90
|
licenses: []
|
72
91
|
|
73
92
|
post_install_message:
|
74
93
|
rdoc_options:
|
75
|
-
- --
|
76
|
-
- README.rdoc
|
94
|
+
- --charset=UTF-8
|
77
95
|
require_paths:
|
78
96
|
- lib
|
79
97
|
required_ruby_version: !ruby/object:Gem::Requirement
|
data/History.rdoc
DELETED
@@ -1,43 +0,0 @@
|
|
1
|
-
=== 0.10.1 / 2009-09-30
|
2
|
-
|
3
|
-
* No changes this version
|
4
|
-
|
5
|
-
=== 0.10.0 / 2009-09-15
|
6
|
-
|
7
|
-
* Updated to work with dm-core 0.10.0
|
8
|
-
|
9
|
-
=== 0.9.11 / 2009-03-29
|
10
|
-
|
11
|
-
* No changes this version
|
12
|
-
|
13
|
-
=== 0.9.10 / 2009-01-19
|
14
|
-
|
15
|
-
* No changes this version
|
16
|
-
|
17
|
-
=== 0.9.9 / 2009-01-04
|
18
|
-
|
19
|
-
* No changes this version
|
20
|
-
|
21
|
-
=== 0.9.8 / 2008-12-07
|
22
|
-
|
23
|
-
* 2 minor enhancements:
|
24
|
-
|
25
|
-
* Added dm-validations dependency. Tag names must be non-nil
|
26
|
-
* Added safe tagging destroy
|
27
|
-
|
28
|
-
* 2 bug fixes:
|
29
|
-
|
30
|
-
* Ensure Model#tagged_with scopes the query to just include itself [#606 state:resolved]
|
31
|
-
* internal cleanups
|
32
|
-
|
33
|
-
=== 0.0.2 / 2008-07-30
|
34
|
-
|
35
|
-
* 1 major enhancement:
|
36
|
-
|
37
|
-
* Added contextual finding to Model.tagged_with
|
38
|
-
|
39
|
-
=== 0.0.1 / 2008-07-29
|
40
|
-
|
41
|
-
* 1 major enhancement:
|
42
|
-
|
43
|
-
* Initial release
|
data/Manifest.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
.gitignore
|
2
|
-
History.rdoc
|
3
|
-
LICENSE
|
4
|
-
Manifest.txt
|
5
|
-
README.rdoc
|
6
|
-
Rakefile
|
7
|
-
TODO
|
8
|
-
lib/dm-tags.rb
|
9
|
-
lib/dm-tags/dm_tags.rb
|
10
|
-
lib/dm-tags/tag.rb
|
11
|
-
lib/dm-tags/tagging.rb
|
12
|
-
lib/dm-tags/version.rb
|
13
|
-
spec/dm-tags/dm_tags_spec.rb
|
14
|
-
spec/dm-tags/tag_spec.rb
|
15
|
-
spec/dm-tags/taggable_spec.rb
|
16
|
-
spec/dm-tags/tagging_spec.rb
|
17
|
-
spec/dm-tags/updating_spec.rb
|
18
|
-
spec/spec.opts
|
19
|
-
spec/spec_helper.rb
|
20
|
-
tasks/install.rb
|
21
|
-
tasks/spec.rb
|
data/TODO
DELETED
File without changes
|
data/lib/dm-tags/version.rb
DELETED
data/tasks/install.rb
DELETED
@@ -1,13 +0,0 @@
|
|
1
|
-
def sudo_gem(cmd)
|
2
|
-
sh "#{SUDO} #{RUBY} -S gem #{cmd}", :verbose => false
|
3
|
-
end
|
4
|
-
|
5
|
-
desc "Install #{GEM_NAME} #{GEM_VERSION}"
|
6
|
-
task :install => [ :package ] do
|
7
|
-
sudo_gem "install pkg/#{GEM_NAME}-#{GEM_VERSION} --no-update-sources"
|
8
|
-
end
|
9
|
-
|
10
|
-
desc "Uninstall #{GEM_NAME} #{GEM_VERSION}"
|
11
|
-
task :uninstall => [ :clobber ] do
|
12
|
-
sudo_gem "uninstall #{GEM_NAME} -v#{GEM_VERSION} -Ix"
|
13
|
-
end
|
data/tasks/spec.rb
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
begin
|
2
|
-
require 'spec/rake/spectask'
|
3
|
-
|
4
|
-
task :default => [ :spec ]
|
5
|
-
|
6
|
-
desc 'Run specifications'
|
7
|
-
Spec::Rake::SpecTask.new(:spec) do |t|
|
8
|
-
t.spec_opts << '--options' << 'spec/spec.opts' if File.exists?('spec/spec.opts')
|
9
|
-
t.libs << 'lib' << 'spec' # needed for CI rake spec task, duplicated in spec_helper
|
10
|
-
|
11
|
-
begin
|
12
|
-
require 'rcov'
|
13
|
-
t.rcov = JRUBY ? false : (ENV.has_key?('NO_RCOV') ? ENV['NO_RCOV'] != 'true' : true)
|
14
|
-
t.rcov_opts << '--exclude' << 'spec'
|
15
|
-
t.rcov_opts << '--text-summary'
|
16
|
-
t.rcov_opts << '--sort' << 'coverage' << '--sort-reverse'
|
17
|
-
rescue LoadError
|
18
|
-
# rcov not installed
|
19
|
-
rescue SyntaxError
|
20
|
-
# rcov syntax invalid
|
21
|
-
end
|
22
|
-
end
|
23
|
-
rescue LoadError
|
24
|
-
# rspec not installed
|
25
|
-
end
|