tagtical 1.5.2 → 1.5.3

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/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.