tagtical 1.5.1 → 1.5.2

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