alphabetical_paginate 1.4.0 → 1.5.0
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/README.md +5 -0
- data/lib/alphabetical_paginate/array.rb +10 -5
- data/lib/alphabetical_paginate/language.rb +45 -0
- data/lib/alphabetical_paginate/version.rb +1 -1
- data/lib/alphabetical_paginate/view_helpers.rb +9 -6
- data/lib/alphabetical_paginate.rb +1 -0
- data/spec/alphabetical_paginate_spec.rb +143 -72
- data/spec/language_spec.rb +64 -0
- metadata +5 -2
data/README.md
CHANGED
@@ -8,6 +8,8 @@ AlphabeticalPaginate incorporates efficient javascript partial page rerendering
|
|
8
8
|
|
9
9
|
It has two modes - if you're working with MySQL, it allows for low level database regex queries. Otherwise, it uses a buffered search to build an array. You should be able to easily modify the gem to work with other SQL databases (please make a pull-request if you do!).
|
10
10
|
|
11
|
+
We also now have Russian language support.
|
12
|
+
|
11
13
|
Some code was inspired by [will_paginate](https://github.com/mislav/will_paginate).
|
12
14
|
|
13
15
|
|
@@ -98,6 +100,8 @@ The available options are as follows:
|
|
98
100
|
|
99
101
|
Key | Value | Default |Description
|
100
102
|
--- | --- | --- | ---
|
103
|
+
`:db_mode` | `Boolean` | `false` | Whether to activate low level SQL that are faster and more memory efficient (forces `:paginate_all` to enable)
|
104
|
+
`:db_field` | `String` | `id` | Required if `db_mode` is `true`. The field to paginate / sort by (on the same collection).
|
101
105
|
`:enumerate` | `Boolean` | `false` | Whether you want the number field collapsed (all numbers go into `0`) or separate (`0`, `1`, `2`...).
|
102
106
|
`:default_field` | `String` | `"a"` | Which field you want the page to default to on first load (`"0"`, `"a"`. `"*"`).
|
103
107
|
`:paginate_all` | `Boolean` | `false` | Whether you want empty fields to still render in pagination.
|
@@ -106,6 +110,7 @@ Key | Value | Default |Description
|
|
106
110
|
`:others` | `Boolean` | `true` | Whether you want all other characters (non alphanumeric) to be included in the pagination at all.
|
107
111
|
`:pagination_class` | `String` | `"pagination-centered"` | All the classes you would like to add to the rendered pagination selector div (for CSS purposes).
|
108
112
|
`:js` | `Boolean` | `"true"` | If you want the javascript with page-rerendering to be enabled.
|
113
|
+
`:support_language` | `Symbol` | `:en` | If you want russian letters support set this value to `:ru` (only if `I18n.locale` in your application set to `:ru`).
|
109
114
|
|
110
115
|
## Advanced Pagination
|
111
116
|
|
@@ -1,14 +1,17 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
class Array
|
2
3
|
def alpha_paginate current_field, params = {enumerate:false, default_field: "a",
|
3
4
|
paginate_all: false, numbers: true, include_all: true,
|
4
5
|
others: true, pagination_class: "pagination-centered",
|
5
|
-
js: true}
|
6
|
+
js: true, support_language: :en}
|
6
7
|
params[:paginate_all] ||= false
|
8
|
+
params[:support_language] ||= :en
|
9
|
+
params[:language] = AlphabeticalPaginate::Language.new(params[:support_language])
|
7
10
|
params[:include_all] = true if !params.has_key? :include_all
|
8
11
|
params[:numbers] = true if !params.has_key? :numbers
|
9
12
|
params[:others] = true if !params.has_key? :others
|
10
13
|
params[:js] = true if !params.has_key? :js
|
11
|
-
params[:default_field] ||= params[:include_all] ? "all" :
|
14
|
+
params[:default_field] ||= params[:include_all] ? "all" : params[:language].default_letter
|
12
15
|
params[:pagination_class] ||= "pagination-centered"
|
13
16
|
output = []
|
14
17
|
availableLetters = {}
|
@@ -16,13 +19,14 @@ class Array
|
|
16
19
|
current_field = params[:default_field]
|
17
20
|
end
|
18
21
|
all = params[:include_all] && current_field.downcase == "all"
|
22
|
+
|
19
23
|
self.each do |x|
|
20
24
|
field_val = block_given? ? yield(x).to_s : x.id.to_s
|
21
|
-
field_letter = field_val[0].downcase
|
25
|
+
field_letter = field_val[0].mb_chars.downcase.to_s
|
22
26
|
case field_letter
|
23
|
-
when
|
27
|
+
when params[:language].letters_regexp
|
24
28
|
availableLetters[field_letter] = true if !availableLetters.has_key? field_letter
|
25
|
-
output << x if all || (current_field =~
|
29
|
+
output << x if all || (current_field =~ params[:language].letters_regexp && field_letter == current_field)
|
26
30
|
when /[0-9]/
|
27
31
|
if params[:enumerate]
|
28
32
|
availableLetters[field_letter] = true if !availableLetters.has_key? field_letter
|
@@ -36,6 +40,7 @@ class Array
|
|
36
40
|
output << x if all || current_field == "*"
|
37
41
|
end
|
38
42
|
end
|
43
|
+
|
39
44
|
params[:availableLetters] = availableLetters.collect{|k,v| k.to_s}
|
40
45
|
params[:currentField] = current_field
|
41
46
|
output.sort! {|x, y| block_given? ? (yield(x).to_s <=> yield(y).to_s) : (x.id.to_s <=> y.id.to_s) }
|
@@ -0,0 +1,45 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
module AlphabeticalPaginate
|
3
|
+
class Language
|
4
|
+
attr_reader :code
|
5
|
+
|
6
|
+
def initialize(code)
|
7
|
+
@code = code
|
8
|
+
end
|
9
|
+
|
10
|
+
def russian?
|
11
|
+
defined?(I18n) && I18n.locale == :ru && code == :ru
|
12
|
+
end
|
13
|
+
|
14
|
+
def letters_regexp
|
15
|
+
russian? ? /[#{russian_letters}]/ : /[a-z]/
|
16
|
+
end
|
17
|
+
|
18
|
+
def letters_range
|
19
|
+
if russian?
|
20
|
+
letters = []
|
21
|
+
russian_letters.each_char{ |x| letters << x }
|
22
|
+
letters
|
23
|
+
else
|
24
|
+
('a'..'z').to_a
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def output_letter(l)
|
29
|
+
(l == "all") ? all_field : l
|
30
|
+
end
|
31
|
+
|
32
|
+
def all_field
|
33
|
+
russian? ? 'все' : "all"
|
34
|
+
end
|
35
|
+
|
36
|
+
def default_letter
|
37
|
+
russian? ? "а" : "a" # First 'a' is russian, second - english
|
38
|
+
end
|
39
|
+
|
40
|
+
private
|
41
|
+
def russian_letters
|
42
|
+
"абвгдежзиклмнопрстуфхцчшэюя"
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
module AlphabeticalPaginate
|
2
3
|
module ViewHelpers
|
3
4
|
def alphabetical_paginate params
|
@@ -7,7 +8,7 @@ module AlphabeticalPaginate
|
|
7
8
|
output += javascript_include_tag 'alphabetical_paginate' if params[:js]
|
8
9
|
|
9
10
|
if params[:paginate_all]
|
10
|
-
range =
|
11
|
+
range = params[:language].letters_range
|
11
12
|
if params[:others]
|
12
13
|
range += ["*"]
|
13
14
|
end
|
@@ -18,12 +19,13 @@ module AlphabeticalPaginate
|
|
18
19
|
end
|
19
20
|
range.unshift "all" if params[:include_all]
|
20
21
|
range.each do |l|
|
22
|
+
value = params[:language].output_letter(l)
|
21
23
|
if l == params[:currentField]
|
22
|
-
links += '<li class="active"><a href="#" data-letter="' + l + '">' +
|
24
|
+
links += '<li class="active"><a href="#" data-letter="' + l + '">' + value + "</a></li>"
|
23
25
|
elsif params[:db_mode] or params[:availableLetters].include? l
|
24
|
-
links += '<li><a href="?letter=' + l + '" data-letter="' + l + '">' +
|
26
|
+
links += '<li><a href="?letter=' + l + '" data-letter="' + l + '">' + value + "</a></li>"
|
25
27
|
else
|
26
|
-
links += '<li class="disabled"><a href="?letter=' + l + '" data-letter="' + l + '">' +
|
28
|
+
links += '<li class="disabled"><a href="?letter=' + l + '" data-letter="' + l + '">' + value + "</a></li>"
|
27
29
|
end
|
28
30
|
end
|
29
31
|
else
|
@@ -34,10 +36,11 @@ module AlphabeticalPaginate
|
|
34
36
|
params[:availableLetters] -= ["*"] if !params[:others]
|
35
37
|
|
36
38
|
params[:availableLetters].each do |l|
|
39
|
+
value = params[:language].output_letter(l)
|
37
40
|
if l == params[:currentField]
|
38
|
-
links += '<li class="active"><a href="?letter=' + l + '" data-letter="' + l + '">' +
|
41
|
+
links += '<li class="active"><a href="?letter=' + l + '" data-letter="' + l + '">' + value + '</a></li>'
|
39
42
|
else
|
40
|
-
links += '<li><a href="?letter=' + l + '" data-letter="' + l + '">' +
|
43
|
+
links += '<li><a href="?letter=' + l + '" data-letter="' + l + '">' + value + "</a></li>"
|
41
44
|
end
|
42
45
|
end
|
43
46
|
end
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# coding: utf-8
|
1
2
|
require 'alpha_example'
|
2
3
|
require 'alphabetical_paginate'
|
3
4
|
require_relative '#{File.dirname(__FILE__)}/../../lib/alphabetical_paginate/view_helpers'
|
@@ -59,84 +60,154 @@ module AlphabeticalPaginate
|
|
59
60
|
expectedParams.to_s
|
60
61
|
end
|
61
62
|
end
|
63
|
+
|
64
|
+
describe "#alpha_paginate in russian characters" do
|
65
|
+
before :each do
|
66
|
+
I18n.locale = :ru
|
67
|
+
@list = ["аа", "аб", "ас",
|
68
|
+
"ба", "бб", "бв",
|
69
|
+
"са", "сд", "се"].map do |x|
|
70
|
+
AlphaExample.new(x)
|
71
|
+
end
|
72
|
+
end
|
73
|
+
|
74
|
+
it "should paginate by id automatically" do
|
75
|
+
expectedCollection = ["са", "сд", "се"].map do |x|
|
76
|
+
AlphaExample.new(x)
|
77
|
+
end
|
78
|
+
expectedParams = {
|
79
|
+
availableLetters: ["а", "б", "с"],
|
80
|
+
currentField: "с",
|
81
|
+
enumerate: false,
|
82
|
+
}
|
83
|
+
collection, params = @list.alpha_paginate("с", { support_language: :ru })
|
84
|
+
collection.to_s.should ==
|
85
|
+
expectedCollection.to_s
|
86
|
+
params.to_s.should include
|
87
|
+
expectedParams.to_s
|
88
|
+
end
|
89
|
+
|
90
|
+
it "should paginate for russian characters with default 'a' character" do
|
91
|
+
expectedCollection = ["аа", "аб", "ас"].map do |x|
|
92
|
+
AlphaExample.new(x)
|
93
|
+
end
|
94
|
+
expectedParams = {
|
95
|
+
availableLetters: ["а", "б", "с"],
|
96
|
+
currentField: "а",
|
97
|
+
enumerate: false,
|
98
|
+
}
|
99
|
+
collection, params = @list.alpha_paginate(nil, { include_all: false, support_language: :ru })
|
100
|
+
collection.to_s.should ==
|
101
|
+
expectedCollection.to_s
|
102
|
+
params.to_s.should include
|
103
|
+
expectedParams.to_s
|
104
|
+
end
|
105
|
+
end
|
106
|
+
|
62
107
|
include ViewHelpers
|
63
108
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
end
|
109
|
+
describe "#alphabetical_paginate" do
|
110
|
+
before :each do
|
111
|
+
@list = []
|
112
|
+
(["@!#"] + (0..9).to_a.map{|x| x.to_s} + ("a".."z").to_a).each do |x|
|
113
|
+
("a".."y").to_a.each do |y|
|
114
|
+
@list << x + y
|
71
115
|
end
|
72
|
-
|
73
|
-
|
116
|
+
end
|
117
|
+
@list.map! do |x|
|
118
|
+
AlphaExample.new(x)
|
119
|
+
end
|
120
|
+
end
|
121
|
+
|
122
|
+
it "should have div tags and pagination classes" do
|
123
|
+
index, params = @list.alpha_paginate(nil)
|
124
|
+
pagination = alphabetical_paginate(params)
|
125
|
+
pagination.should include "div", "pagination"
|
126
|
+
end
|
127
|
+
|
128
|
+
it "should include a numbers and others field" do
|
129
|
+
index, params = @list.alpha_paginate(nil)
|
130
|
+
pagination = alphabetical_paginate(params)
|
131
|
+
(["*"] + ["0-9"] + ("a".."z").to_a.map{|x|
|
132
|
+
'data-letter="%s"'%x}).each do |x|
|
133
|
+
pagination.should include x
|
134
|
+
end
|
135
|
+
end
|
136
|
+
|
137
|
+
it "should default all values when necessary" do
|
138
|
+
index, params = @list.alpha_paginate(nil, {})
|
139
|
+
pagination = alphabetical_paginate(params)
|
140
|
+
(["*"] + ["0-9"] + ("a".."z").to_a.map{|x|
|
141
|
+
'data-letter="%s"'%x}).each do |x|
|
142
|
+
pagination.should include x
|
143
|
+
end
|
144
|
+
end
|
145
|
+
|
146
|
+
it "should hide values that don't exist" do
|
147
|
+
index, params = @list.alpha_paginate(nil){|x| x.word}
|
148
|
+
pagination = alphabetical_paginate(params)
|
149
|
+
(("a".."y").to_a.map{|x|
|
150
|
+
'data-letter="%s"'%x}).each do |x|
|
151
|
+
pagination.should include x
|
152
|
+
end
|
153
|
+
pagination.should_not include 'data-letter="z"', 'data-letter="*"',
|
154
|
+
'data-letter="0-9"'
|
155
|
+
end
|
156
|
+
|
157
|
+
it "should enumerate when asked" do
|
158
|
+
index, params = @list.alpha_paginate(nil, {enumerate: true})
|
159
|
+
pagination = alphabetical_paginate(params)
|
160
|
+
(("0".."9").to_a.map{|x|
|
161
|
+
'data-letter="%s"'% x.to_s }).each do |x|
|
162
|
+
pagination.should include x
|
163
|
+
end
|
164
|
+
|
165
|
+
end
|
166
|
+
|
167
|
+
it "should display all when asked" do
|
168
|
+
index, params = @list.alpha_paginate(nil, {paginate_all: true,
|
169
|
+
enumerate: true}){|x| x.word}
|
170
|
+
pagination = alphabetical_paginate(params)
|
171
|
+
(["*"] + (0..9).to_a.map{|x| x.to_s} + ("a".."z").to_a.map{|x|
|
172
|
+
'data-letter="%s"'%x}).each do |x|
|
173
|
+
pagination.should include x
|
174
|
+
end
|
175
|
+
end
|
176
|
+
|
177
|
+
it "should include 'all' and '0-9' fields" do
|
178
|
+
index, params = @list.alpha_paginate(nil, { include_all: true })
|
179
|
+
pagination = alphabetical_paginate(params)
|
180
|
+
(["all", "0-9"].map{|x|
|
181
|
+
'data-letter="%s"'%x}).each do |x|
|
182
|
+
pagination.should include x
|
183
|
+
end
|
184
|
+
end
|
185
|
+
end
|
186
|
+
|
187
|
+
describe "#alphabetical_paginate in russian characters" do
|
188
|
+
before :each do
|
189
|
+
@list = []
|
190
|
+
("а".."я").to_a.each do |x|
|
191
|
+
("а".."т").to_a.each do |y|
|
192
|
+
@list << x + y
|
74
193
|
end
|
75
194
|
end
|
195
|
+
@list.map! do |x|
|
196
|
+
AlphaExample.new(x)
|
197
|
+
end
|
198
|
+
@russian_array = []
|
199
|
+
"абвгдежзиклмнопрстуфхцчшэюя".each_char{ |x| @russian_array << x }
|
200
|
+
end
|
76
201
|
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
pagination = alphabetical_paginate(params)
|
86
|
-
(["*"] + ["0-9"] + ("a".."z").to_a.map{|x|
|
87
|
-
'data-letter="%s"'%x}).each do |x|
|
88
|
-
pagination.should include x
|
89
|
-
end
|
90
|
-
end
|
91
|
-
|
92
|
-
it "should default all values when necessary" do
|
93
|
-
index, params = @list.alpha_paginate(nil, {})
|
94
|
-
pagination = alphabetical_paginate(params)
|
95
|
-
(["*"] + ["0-9"] + ("a".."z").to_a.map{|x|
|
96
|
-
'data-letter="%s"'%x}).each do |x|
|
97
|
-
pagination.should include x
|
98
|
-
end
|
99
|
-
end
|
100
|
-
|
101
|
-
it "should hide values that don't exist" do
|
102
|
-
index, params = @list.alpha_paginate(nil){|x| x.word}
|
103
|
-
pagination = alphabetical_paginate(params)
|
104
|
-
(("a".."y").to_a.map{|x|
|
105
|
-
'data-letter="%s"'%x}).each do |x|
|
106
|
-
pagination.should include x
|
107
|
-
end
|
108
|
-
pagination.should_not include 'data-letter="z"', 'data-letter="*"',
|
109
|
-
'data-letter="0-9"'
|
110
|
-
end
|
111
|
-
|
112
|
-
it "should enumerate when asked" do
|
113
|
-
index, params = @list.alpha_paginate(nil, {enumerate: true})
|
114
|
-
pagination = alphabetical_paginate(params)
|
115
|
-
(("0".."9").to_a.map{|x|
|
116
|
-
'data-letter="%s"'% x.to_s }).each do |x|
|
117
|
-
pagination.should include x
|
118
|
-
end
|
119
|
-
|
120
|
-
end
|
121
|
-
|
122
|
-
it "should display all when asked" do
|
123
|
-
index, params = @list.alpha_paginate(nil, {paginate_all: true,
|
124
|
-
enumerate: true}){|x| x.word}
|
125
|
-
pagination = alphabetical_paginate(params)
|
126
|
-
(["*"] + (0..9).to_a.map{|x| x.to_s} + ("a".."z").to_a.map{|x|
|
127
|
-
'data-letter="%s"'%x}).each do |x|
|
128
|
-
pagination.should include x
|
129
|
-
end
|
130
|
-
end
|
131
|
-
|
132
|
-
it "should include 'all' and '0-9' fields" do
|
133
|
-
index, params = @list.alpha_paginate(nil, { include_all: true })
|
134
|
-
pagination = alphabetical_paginate(params)
|
135
|
-
(["all", "0-9"].map{|x|
|
136
|
-
'data-letter="%s"'%x}).each do |x|
|
137
|
-
pagination.should include x
|
138
|
-
end
|
139
|
-
end
|
202
|
+
it "should display russian characters through additional attribute(language)" do
|
203
|
+
I18n.locale = :ru
|
204
|
+
index, params = @list.alpha_paginate(nil, { paginate_all: true, others: false, support_language: :ru }){|x| x.word}
|
205
|
+
pagination = alphabetical_paginate(params)
|
206
|
+
(["0"] + @russian_array.map{|x|
|
207
|
+
'data-letter="%s"'%x}).each do |x|
|
208
|
+
pagination.should include x
|
209
|
+
end
|
140
210
|
end
|
141
211
|
end
|
212
|
+
end
|
142
213
|
end
|
@@ -0,0 +1,64 @@
|
|
1
|
+
# coding: utf-8
|
2
|
+
|
3
|
+
module AlphabeticalPaginate
|
4
|
+
describe Language do
|
5
|
+
context "English language" do
|
6
|
+
before(:all) do
|
7
|
+
@language = AlphabeticalPaginate::Language.new(:en)
|
8
|
+
end
|
9
|
+
|
10
|
+
it "should return false on russian? method" do
|
11
|
+
@language.russian?.should be_false
|
12
|
+
end
|
13
|
+
|
14
|
+
it "should return /[a-z]/ regexp" do
|
15
|
+
@language.letters_regexp.should eq(/[a-z]/)
|
16
|
+
end
|
17
|
+
|
18
|
+
it "should return array of english letters" do
|
19
|
+
@language.letters_range.should eq(("a".."z").to_a)
|
20
|
+
end
|
21
|
+
|
22
|
+
it "should return english representation of 'all' field and other english letters (for view helper)" do
|
23
|
+
(["all"] + ("a".."z").to_a).map do |l|
|
24
|
+
@language.output_letter(l).should eq(l)
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
it "should return english representation of 'a' letter" do
|
29
|
+
@language.default_letter.should eq("a")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
context "Russian language" do
|
34
|
+
before(:all) do
|
35
|
+
@language = AlphabeticalPaginate::Language.new(:ru)
|
36
|
+
@russian_string = "абвгдежзиклмнопрстуфхцчшэюя"
|
37
|
+
@russian_array = []
|
38
|
+
@russian_string.each_char{ |x| @russian_array << x }
|
39
|
+
end
|
40
|
+
|
41
|
+
it "should return true on russian? method" do
|
42
|
+
@language.russian?.should be_true
|
43
|
+
end
|
44
|
+
|
45
|
+
it "should return /[абвгдежзиклмнопрстуфхцчшэюя]/ regexp" do
|
46
|
+
@language.letters_regexp.should eq(/[#{@russian_string}]/)
|
47
|
+
end
|
48
|
+
|
49
|
+
it "should return array of russian letters" do
|
50
|
+
@language.letters_range.should eq(@russian_array)
|
51
|
+
end
|
52
|
+
|
53
|
+
it "should return russian representation of 'all' field and other russian letters (for view helper)" do
|
54
|
+
(["все"] + @russian_array).map do |l|
|
55
|
+
@language.output_letter(l).should eq(l)
|
56
|
+
end
|
57
|
+
end
|
58
|
+
|
59
|
+
it "should return russian representation of 'a' letter" do
|
60
|
+
@language.default_letter.should eq("а")
|
61
|
+
end
|
62
|
+
end
|
63
|
+
end
|
64
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: alphabetical_paginate
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-08-
|
12
|
+
date: 2013-08-13 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -92,11 +92,13 @@ files:
|
|
92
92
|
- lib/alphabetical_paginate/array.rb
|
93
93
|
- lib/alphabetical_paginate/controller_helper.rb
|
94
94
|
- lib/alphabetical_paginate/engine.rb
|
95
|
+
- lib/alphabetical_paginate/language.rb
|
95
96
|
- lib/alphabetical_paginate/railtie.rb
|
96
97
|
- lib/alphabetical_paginate/version.rb
|
97
98
|
- lib/alphabetical_paginate/view_helpers.rb
|
98
99
|
- spec/alpha_example.rb
|
99
100
|
- spec/alphabetical_paginate_spec.rb
|
101
|
+
- spec/language_spec.rb
|
100
102
|
- spec/support/helpers.rb
|
101
103
|
- vendor/assets/images/aloader.gif
|
102
104
|
- vendor/assets/javascripts/alphabetical_paginate.js
|
@@ -129,4 +131,5 @@ summary: Pagination
|
|
129
131
|
test_files:
|
130
132
|
- spec/alpha_example.rb
|
131
133
|
- spec/alphabetical_paginate_spec.rb
|
134
|
+
- spec/language_spec.rb
|
132
135
|
- spec/support/helpers.rb
|