tagtical 1.5.2 → 1.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.5.2
1
+ 1.5.3
data/lib/tagtical/tag.rb CHANGED
@@ -187,7 +187,7 @@ module Tagtical
187
187
 
188
188
  def validate_possible_values
189
189
  if possible_values && !possible_values.include?(value)
190
- errors.add(:value, %{Value "#{value}" not found in list: #{possible_values.inspect}})
190
+ errors.add(:value, %{"#{value}" not found in list: #{possible_values.inspect}})
191
191
  end
192
192
  end
193
193
 
@@ -296,7 +296,7 @@ module Tagtical::Taggable
296
296
  tag_list = tag_list.uniq
297
297
 
298
298
  # Find existing tags or create non-existing tags:
299
- tag_value_lookup = tag_type.scoping { find_or_create_tags(tag_list) }
299
+ tag_value_lookup = tag_type.klass.find_or_create_tags(tag_list)
300
300
  tags = tag_value_lookup.keys
301
301
 
302
302
 
@@ -41,7 +41,7 @@ describe Tagtical::Tag do
41
41
  it "should not be valid if value is not in possible_values" do
42
42
  @tag.value = "glass"
43
43
  @tag.should be_invalid
44
- @tag.errors[:value][0].should == %{Value "glass" not found in list: ["knife", "fork", "spoon"]}
44
+ @tag.errors[:value][0].should == %{"glass" not found in list: ["knife", "fork", "spoon"]}
45
45
  end
46
46
 
47
47
  it "should be valid even if cases are different" do
@@ -113,10 +113,15 @@ describe Tagtical::Taggable do
113
113
  @taggable.should have_only_tag_values %w{Knitting Ruby Pottery}
114
114
  end
115
115
 
116
+ it "should raise an error when saved with value not in possible_values" do
117
+ @taggable.craft_list << "not-in-list"
118
+ lambda { @taggable.save! }.should raise_error(ActiveRecord::RecordInvalid)
119
+ end
120
+
116
121
  end
117
122
 
118
123
  describe "#cascade_set_tag_list!" do
119
- when_possible_values_specified(:values => %w{Knitting Ruby Pottery}, :klass => Tag::Skill) do
124
+ when_possible_values_specified(:values => %w{Knitting Ruby Pottery Basketball}, :klass => Tag::Skill) do
120
125
  before do
121
126
  @taggable.update_attributes!(:tag_list => "tree, train", :skill_list => "basketball", :craft_list => "pottery")
122
127
  @taggable.reload
@@ -175,7 +180,7 @@ describe Tagtical::Taggable do
175
180
  end
176
181
 
177
182
  it "should not change the tags in skill" do
178
- @taggable.skill_list.should have_same_elements ["basketball", "pottery"]
183
+ @taggable.skill_list.should have_same_elements ["Basketball", "Pottery"]
179
184
  end
180
185
 
181
186
  it "should have set the values at the tag level" do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tagtical
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.5.2
4
+ version: 1.5.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,12 +9,12 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2011-08-06 00:00:00.000000000 -07:00
12
+ date: 2011-09-30 00:00:00.000000000 -05:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &2166310680 !ruby/object:Gem::Requirement
17
+ requirement: &2172699060 !ruby/object:Gem::Requirement
18
18
  none: false
19
19
  requirements:
20
20
  - - <=
@@ -22,10 +22,10 @@ dependencies:
22
22
  version: 3.0.5
23
23
  type: :runtime
24
24
  prerelease: false
25
- version_requirements: *2166310680
25
+ version_requirements: *2172699060
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2166310200 !ruby/object:Gem::Requirement
28
+ requirement: &2172698580 !ruby/object:Gem::Requirement
29
29
  none: false
30
30
  requirements:
31
31
  - - <=
@@ -33,10 +33,10 @@ dependencies:
33
33
  version: 2.6.0
34
34
  type: :runtime
35
35
  prerelease: false
36
- version_requirements: *2166310200
36
+ version_requirements: *2172698580
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sqlite3-ruby
39
- requirement: &2166309720 !ruby/object:Gem::Requirement
39
+ requirement: &2172698100 !ruby/object:Gem::Requirement
40
40
  none: false
41
41
  requirements:
42
42
  - - ! '>='
@@ -44,10 +44,10 @@ dependencies:
44
44
  version: '0'
45
45
  type: :runtime
46
46
  prerelease: false
47
- version_requirements: *2166309720
47
+ version_requirements: *2172698100
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: mysql
50
- requirement: &2166309240 !ruby/object:Gem::Requirement
50
+ requirement: &2172697620 !ruby/object:Gem::Requirement
51
51
  none: false
52
52
  requirements:
53
53
  - - ! '>='
@@ -55,10 +55,10 @@ dependencies:
55
55
  version: '0'
56
56
  type: :runtime
57
57
  prerelease: false
58
- version_requirements: *2166309240
58
+ version_requirements: *2172697620
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: jeweler
61
- requirement: &2166308760 !ruby/object:Gem::Requirement
61
+ requirement: &2172697140 !ruby/object:Gem::Requirement
62
62
  none: false
63
63
  requirements:
64
64
  - - ! '>='
@@ -66,10 +66,10 @@ dependencies:
66
66
  version: '0'
67
67
  type: :runtime
68
68
  prerelease: false
69
- version_requirements: *2166308760
69
+ version_requirements: *2172697140
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rcov
72
- requirement: &2166308280 !ruby/object:Gem::Requirement
72
+ requirement: &2172713800 !ruby/object:Gem::Requirement
73
73
  none: false
74
74
  requirements:
75
75
  - - ! '>='
@@ -77,7 +77,7 @@ dependencies:
77
77
  version: '0'
78
78
  type: :runtime
79
79
  prerelease: false
80
- version_requirements: *2166308280
80
+ version_requirements: *2172713800
81
81
  description: Tagtical allows you do create subclasses for Tag and add additional functionality
82
82
  in an STI fashion. For example. You could do Tag::Color.find_by_name('blue').to_rgb.
83
83
  It also supports storing weights or relevance on the taggings.