tagtical 1.5.1 → 1.5.2

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.1
1
+ 1.5.2
@@ -88,15 +88,15 @@ module Tagtical
88
88
  # The tags are joined with <tt>TagList.delimiter</tt> and quoted if necessary.
89
89
  #
90
90
  # Example:
91
- # tag_list = TagList.new("Round", "Square,Cube")
92
- # tag_list.to_s # 'Round, "Square,Cube"'
93
- def to_s
91
+ # tag_list = TagList.new("Round: 1.3", "Square,Cube")
92
+ # tag_list.to_s # 'Round, "Square,Cube"'
93
+ # tag_list.to_s(:relevance) # 'Round:1.3, "Square,Cube"'
94
+ def to_s(mode=nil)
94
95
  tag_list = frozen? ? self.dup : self
95
96
  tag_list.send(:clean!)
96
-
97
97
  tag_list.map do |tag_value|
98
98
  value = tag_value.include?(delimiter) ? %{"#{tag_value}"} : tag_value
99
- [value, tag_value.relevance].compact.join(TagValue.relevance_delimiter)
99
+ [value, (tag_value.relevance if mode==:relevance)].compact.join(TagValue.relevance_delimiter)
100
100
  end.join(delimiter.gsub(/(\S)$/, '\1 '))
101
101
  end
102
102
 
@@ -123,19 +123,31 @@ describe Tagtical::TagList do
123
123
  @taggable.save
124
124
  @taggable.reload
125
125
  end
126
-
127
- it "should contain relevance with the relevance delimiter" do
128
- @tag_list.to_s.should include("awesome:4.0, radical:3.0")
129
- end
130
126
 
131
127
  it "should keep quotations in words when parse is false" do
132
- @tag_list.to_s.should include(%{"car, bar":10.3})
128
+ @tag_list.to_s.should include(%{"car, bar"})
133
129
  end
134
130
 
135
- it "should include relevance in string" do
136
- @taggable.tag_list.to_s.should == "retro:6.0, car:4.0, nature:1.0, test:2.7"
131
+ it "should not include relevance in string" do
132
+ @taggable.tag_list.to_s.should == "retro, car, nature, test"
137
133
  end
138
134
 
135
+ context "when :relevance is specified" do
136
+
137
+ it "should contain relevance with the relevance delimiter" do
138
+ @tag_list.to_s(:relevance).should include("awesome:4.0, radical:3.0")
139
+ end
140
+
141
+ it "should keep quotations in words when parse is false" do
142
+ @tag_list.to_s(:relevance).should include(%{"car, bar":10.3})
143
+ end
144
+
145
+ it "should include relevance in string" do
146
+ @taggable.tag_list.to_s(:relevance).should == "retro:6.0, car:4.0, nature:1.0, test:2.7"
147
+ end
148
+
149
+ end
150
+
139
151
  end
140
152
 
141
153
  it "should quote escape tags with commas in them" 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.1
4
+ version: 1.5.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -14,7 +14,7 @@ default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
17
- requirement: &2160337900 !ruby/object:Gem::Requirement
17
+ requirement: &2166310680 !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: *2160337900
25
+ version_requirements: *2166310680
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
- requirement: &2160337420 !ruby/object:Gem::Requirement
28
+ requirement: &2166310200 !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: *2160337420
36
+ version_requirements: *2166310200
37
37
  - !ruby/object:Gem::Dependency
38
38
  name: sqlite3-ruby
39
- requirement: &2160336940 !ruby/object:Gem::Requirement
39
+ requirement: &2166309720 !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: *2160336940
47
+ version_requirements: *2166309720
48
48
  - !ruby/object:Gem::Dependency
49
49
  name: mysql
50
- requirement: &2160336460 !ruby/object:Gem::Requirement
50
+ requirement: &2166309240 !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: *2160336460
58
+ version_requirements: *2166309240
59
59
  - !ruby/object:Gem::Dependency
60
60
  name: jeweler
61
- requirement: &2160335980 !ruby/object:Gem::Requirement
61
+ requirement: &2166308760 !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: *2160335980
69
+ version_requirements: *2166308760
70
70
  - !ruby/object:Gem::Dependency
71
71
  name: rcov
72
- requirement: &2160335500 !ruby/object:Gem::Requirement
72
+ requirement: &2166308280 !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: *2160335500
80
+ version_requirements: *2166308280
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.