rails_slugs 1.0.10 → 1.1.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- metadata +18 -133
- data/MIT-LICENSE +0 -20
- data/README.rdoc +0 -38
- data/Rakefile +0 -38
- data/lib/rails_slugs.rb +0 -7
- data/lib/rails_slugs/active_record/base.rb +0 -156
- data/lib/rails_slugs/active_record/relation.rb +0 -17
- data/lib/rails_slugs/railtie.rb +0 -10
- data/lib/rails_slugs/version.rb +0 -5
- data/test/dummy/README.rdoc +0 -261
- data/test/dummy/Rakefile +0 -7
- data/test/dummy/app/assets/javascripts/application.js +0 -15
- data/test/dummy/app/assets/stylesheets/application.css +0 -13
- data/test/dummy/app/controllers/application_controller.rb +0 -3
- data/test/dummy/app/helpers/application_helper.rb +0 -2
- data/test/dummy/app/models/simple.rb +0 -7
- data/test/dummy/app/models/translatable.rb +0 -8
- data/test/dummy/app/models/translatable_translation.rb +0 -13
- data/test/dummy/app/models/without.rb +0 -5
- data/test/dummy/app/views/layouts/application.html.erb +0 -14
- data/test/dummy/config.ru +0 -4
- data/test/dummy/config/application.rb +0 -59
- data/test/dummy/config/boot.rb +0 -10
- data/test/dummy/config/database.yml +0 -25
- data/test/dummy/config/environment.rb +0 -5
- data/test/dummy/config/environments/development.rb +0 -37
- data/test/dummy/config/environments/production.rb +0 -67
- data/test/dummy/config/environments/test.rb +0 -37
- data/test/dummy/config/initializers/backtrace_silencers.rb +0 -7
- data/test/dummy/config/initializers/inflections.rb +0 -15
- data/test/dummy/config/initializers/mime_types.rb +0 -5
- data/test/dummy/config/initializers/secret_token.rb +0 -7
- data/test/dummy/config/initializers/session_store.rb +0 -8
- data/test/dummy/config/initializers/wrap_parameters.rb +0 -14
- data/test/dummy/config/locales/en.yml +0 -5
- data/test/dummy/config/routes.rb +0 -58
- data/test/dummy/db/development.sqlite3 +0 -0
- data/test/dummy/db/migrate/20120923194640_create_translatables.rb +0 -9
- data/test/dummy/db/migrate/20120923195534_create_translatables_i18n.rb +0 -13
- data/test/dummy/db/migrate/20120924010158_create_simples.rb +0 -11
- data/test/dummy/db/migrate/20130128234241_create_withouts.rb +0 -9
- data/test/dummy/db/schema.rb +0 -38
- data/test/dummy/db/test.sqlite3 +0 -0
- data/test/dummy/log/development.log +0 -776
- data/test/dummy/log/test.log +0 -11455
- data/test/dummy/public/404.html +0 -26
- data/test/dummy/public/422.html +0 -26
- data/test/dummy/public/500.html +0 -25
- data/test/dummy/public/favicon.ico +0 -0
- data/test/dummy/script/rails +0 -6
- data/test/rails_slugs_test.rb +0 -9
- data/test/records_test.rb +0 -82
- data/test/test_helper.rb +0 -21
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: f847421d929cd21042320896e2de96ff65b9c2d4
|
4
|
+
data.tar.gz: 691fb3fcb4f734b5768b49a2afe00b4fb64b5d85
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 3475ab92c2f10034be853bdbb5f205518fbc01b45012d6d26772a3a6ed29295a96777f0f430a08993a2f33a8de5b419df063daf3fd23c63efb8ba7a9848ab311
|
7
|
+
data.tar.gz: e3c09bb2a6bd17306620707b046782c24405aea6f4e6c4eb9944c067267a354a38cc3ca12552169e620fc065025640731342bb8ac2bc1b4fd46e3f55f9900313
|
metadata
CHANGED
@@ -1,173 +1,58 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rails_slugs
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0
|
5
|
-
prerelease:
|
4
|
+
version: 1.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Mattways
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-08-19 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
|
-
name:
|
14
|
+
name: slugs
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
20
|
-
- !ruby/object:Gem::Version
|
21
|
-
version: 3.2.8
|
22
|
-
type: :runtime
|
23
|
-
prerelease: false
|
24
|
-
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
version: 3.2.8
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: sqlite3
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
17
|
+
- - '>='
|
36
18
|
- !ruby/object:Gem::Version
|
37
19
|
version: '0'
|
38
|
-
type: :
|
20
|
+
type: :runtime
|
39
21
|
prerelease: false
|
40
22
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
23
|
requirements:
|
43
|
-
- -
|
24
|
+
- - '>='
|
44
25
|
- !ruby/object:Gem::Version
|
45
26
|
version: '0'
|
46
|
-
description:
|
27
|
+
description: This gem has been renamed to just "slugs".
|
47
28
|
email:
|
48
29
|
- contact@mattways.com
|
49
30
|
executables: []
|
50
31
|
extensions: []
|
51
32
|
extra_rdoc_files: []
|
52
|
-
files:
|
53
|
-
|
54
|
-
|
55
|
-
-
|
56
|
-
|
57
|
-
- lib/rails_slugs.rb
|
58
|
-
- MIT-LICENSE
|
59
|
-
- Rakefile
|
60
|
-
- README.rdoc
|
61
|
-
- test/dummy/app/assets/javascripts/application.js
|
62
|
-
- test/dummy/app/assets/stylesheets/application.css
|
63
|
-
- test/dummy/app/controllers/application_controller.rb
|
64
|
-
- test/dummy/app/helpers/application_helper.rb
|
65
|
-
- test/dummy/app/models/simple.rb
|
66
|
-
- test/dummy/app/models/translatable.rb
|
67
|
-
- test/dummy/app/models/translatable_translation.rb
|
68
|
-
- test/dummy/app/models/without.rb
|
69
|
-
- test/dummy/app/views/layouts/application.html.erb
|
70
|
-
- test/dummy/config/application.rb
|
71
|
-
- test/dummy/config/boot.rb
|
72
|
-
- test/dummy/config/database.yml
|
73
|
-
- test/dummy/config/environment.rb
|
74
|
-
- test/dummy/config/environments/development.rb
|
75
|
-
- test/dummy/config/environments/production.rb
|
76
|
-
- test/dummy/config/environments/test.rb
|
77
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
78
|
-
- test/dummy/config/initializers/inflections.rb
|
79
|
-
- test/dummy/config/initializers/mime_types.rb
|
80
|
-
- test/dummy/config/initializers/secret_token.rb
|
81
|
-
- test/dummy/config/initializers/session_store.rb
|
82
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
83
|
-
- test/dummy/config/locales/en.yml
|
84
|
-
- test/dummy/config/routes.rb
|
85
|
-
- test/dummy/config.ru
|
86
|
-
- test/dummy/db/development.sqlite3
|
87
|
-
- test/dummy/db/migrate/20120923194640_create_translatables.rb
|
88
|
-
- test/dummy/db/migrate/20120923195534_create_translatables_i18n.rb
|
89
|
-
- test/dummy/db/migrate/20120924010158_create_simples.rb
|
90
|
-
- test/dummy/db/migrate/20130128234241_create_withouts.rb
|
91
|
-
- test/dummy/db/schema.rb
|
92
|
-
- test/dummy/db/test.sqlite3
|
93
|
-
- test/dummy/log/development.log
|
94
|
-
- test/dummy/log/test.log
|
95
|
-
- test/dummy/public/404.html
|
96
|
-
- test/dummy/public/422.html
|
97
|
-
- test/dummy/public/500.html
|
98
|
-
- test/dummy/public/favicon.ico
|
99
|
-
- test/dummy/Rakefile
|
100
|
-
- test/dummy/README.rdoc
|
101
|
-
- test/dummy/script/rails
|
102
|
-
- test/rails_slugs_test.rb
|
103
|
-
- test/records_test.rb
|
104
|
-
- test/test_helper.rb
|
105
|
-
homepage: https://github.com/mattways/rails_slugs
|
106
|
-
licenses: []
|
33
|
+
files: []
|
34
|
+
homepage: https://github.com/mattways/slugs
|
35
|
+
licenses:
|
36
|
+
- MIT
|
37
|
+
metadata: {}
|
107
38
|
post_install_message:
|
108
39
|
rdoc_options: []
|
109
40
|
require_paths:
|
110
41
|
- lib
|
111
42
|
required_ruby_version: !ruby/object:Gem::Requirement
|
112
|
-
none: false
|
113
43
|
requirements:
|
114
|
-
- -
|
44
|
+
- - '>='
|
115
45
|
- !ruby/object:Gem::Version
|
116
46
|
version: '0'
|
117
47
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
118
|
-
none: false
|
119
48
|
requirements:
|
120
|
-
- -
|
49
|
+
- - '>='
|
121
50
|
- !ruby/object:Gem::Version
|
122
51
|
version: '0'
|
123
52
|
requirements: []
|
124
53
|
rubyforge_project:
|
125
|
-
rubygems_version:
|
54
|
+
rubygems_version: 2.0.3
|
126
55
|
signing_key:
|
127
|
-
specification_version:
|
128
|
-
summary:
|
129
|
-
test_files:
|
130
|
-
- test/dummy/app/assets/javascripts/application.js
|
131
|
-
- test/dummy/app/assets/stylesheets/application.css
|
132
|
-
- test/dummy/app/controllers/application_controller.rb
|
133
|
-
- test/dummy/app/helpers/application_helper.rb
|
134
|
-
- test/dummy/app/models/simple.rb
|
135
|
-
- test/dummy/app/models/translatable.rb
|
136
|
-
- test/dummy/app/models/translatable_translation.rb
|
137
|
-
- test/dummy/app/models/without.rb
|
138
|
-
- test/dummy/app/views/layouts/application.html.erb
|
139
|
-
- test/dummy/config/application.rb
|
140
|
-
- test/dummy/config/boot.rb
|
141
|
-
- test/dummy/config/database.yml
|
142
|
-
- test/dummy/config/environment.rb
|
143
|
-
- test/dummy/config/environments/development.rb
|
144
|
-
- test/dummy/config/environments/production.rb
|
145
|
-
- test/dummy/config/environments/test.rb
|
146
|
-
- test/dummy/config/initializers/backtrace_silencers.rb
|
147
|
-
- test/dummy/config/initializers/inflections.rb
|
148
|
-
- test/dummy/config/initializers/mime_types.rb
|
149
|
-
- test/dummy/config/initializers/secret_token.rb
|
150
|
-
- test/dummy/config/initializers/session_store.rb
|
151
|
-
- test/dummy/config/initializers/wrap_parameters.rb
|
152
|
-
- test/dummy/config/locales/en.yml
|
153
|
-
- test/dummy/config/routes.rb
|
154
|
-
- test/dummy/config.ru
|
155
|
-
- test/dummy/db/development.sqlite3
|
156
|
-
- test/dummy/db/migrate/20120923194640_create_translatables.rb
|
157
|
-
- test/dummy/db/migrate/20120923195534_create_translatables_i18n.rb
|
158
|
-
- test/dummy/db/migrate/20120924010158_create_simples.rb
|
159
|
-
- test/dummy/db/migrate/20130128234241_create_withouts.rb
|
160
|
-
- test/dummy/db/schema.rb
|
161
|
-
- test/dummy/db/test.sqlite3
|
162
|
-
- test/dummy/log/development.log
|
163
|
-
- test/dummy/log/test.log
|
164
|
-
- test/dummy/public/404.html
|
165
|
-
- test/dummy/public/422.html
|
166
|
-
- test/dummy/public/500.html
|
167
|
-
- test/dummy/public/favicon.ico
|
168
|
-
- test/dummy/Rakefile
|
169
|
-
- test/dummy/README.rdoc
|
170
|
-
- test/dummy/script/rails
|
171
|
-
- test/rails_slugs_test.rb
|
172
|
-
- test/records_test.rb
|
173
|
-
- test/test_helper.rb
|
56
|
+
specification_version: 4
|
57
|
+
summary: Renamed to just "slugs"
|
58
|
+
test_files: []
|
data/MIT-LICENSE
DELETED
@@ -1,20 +0,0 @@
|
|
1
|
-
Copyright 2012 Mattways
|
2
|
-
|
3
|
-
Permission is hereby granted, free of charge, to any person obtaining
|
4
|
-
a copy of this software and associated documentation files (the
|
5
|
-
"Software"), to deal in the Software without restriction, including
|
6
|
-
without limitation the rights to use, copy, modify, merge, publish,
|
7
|
-
distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
-
permit persons to whom the Software is furnished to do so, subject to
|
9
|
-
the following conditions:
|
10
|
-
|
11
|
-
The above copyright notice and this permission notice shall be
|
12
|
-
included in all copies or substantial portions of the Software.
|
13
|
-
|
14
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
-
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
-
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
-
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
-
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
-
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
-
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.rdoc
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
=== NOTE: From version 1.0.5 and above a index it appended if a new slug it's equal to a old one
|
2
|
-
|
3
|
-
---
|
4
|
-
|
5
|
-
{<img src="https://codeclimate.com/github/mattways/rails_slugs.png" />}[https://codeclimate.com/github/mattways/rails_slugs] {<img src="https://secure.travis-ci.org/mattways/rails_slugs.png?branch=master" alt="Build Status" />}[https://travis-ci.org/mattways/rails_slugs] {<img src="https://gemnasium.com/mattways/rails_slugs.png" alt="Dependency Status" />}[https://gemnasium.com/mattways/rails_slugs]
|
6
|
-
|
7
|
-
= Rails Slugs
|
8
|
-
|
9
|
-
Inspired in friendly_id but more minimalistic.
|
10
|
-
|
11
|
-
= Install
|
12
|
-
|
13
|
-
Put this line in your Gemfile:
|
14
|
-
gem 'rails_slugs'
|
15
|
-
|
16
|
-
Then bundle:
|
17
|
-
$ bundle
|
18
|
-
|
19
|
-
= Usage
|
20
|
-
|
21
|
-
Add the column in your migration:
|
22
|
-
t.string :slug
|
23
|
-
|
24
|
-
(If you are using rails-i18n-record you need to place the column in the translation table, this has been done this way because it's easier to maintain and your queries will be faster avoiding extra joins)
|
25
|
-
|
26
|
-
Update your db:
|
27
|
-
rake db:migrate
|
28
|
-
|
29
|
-
Call the slug method in your model:
|
30
|
-
|
31
|
-
If you want to use the value of one field:
|
32
|
-
slug :prop
|
33
|
-
|
34
|
-
To concatenate the value of multiple fields:
|
35
|
-
slug :prop1, :prop2, :prop3
|
36
|
-
|
37
|
-
Or if you need a very custom slug:
|
38
|
-
slug proc { |record| "#{record.prop}-custom" }
|
data/Rakefile
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
#!/usr/bin/env rake
|
2
|
-
begin
|
3
|
-
require 'bundler/setup'
|
4
|
-
rescue LoadError
|
5
|
-
puts 'You must `gem install bundler` and `bundle install` to run rake tasks'
|
6
|
-
end
|
7
|
-
begin
|
8
|
-
require 'rdoc/task'
|
9
|
-
rescue LoadError
|
10
|
-
require 'rdoc/rdoc'
|
11
|
-
require 'rake/rdoctask'
|
12
|
-
RDoc::Task = Rake::RDocTask
|
13
|
-
end
|
14
|
-
|
15
|
-
RDoc::Task.new(:rdoc) do |rdoc|
|
16
|
-
rdoc.rdoc_dir = 'rdoc'
|
17
|
-
rdoc.title = 'RailsSlugs'
|
18
|
-
rdoc.options << '--line-numbers'
|
19
|
-
rdoc.rdoc_files.include('README.rdoc')
|
20
|
-
rdoc.rdoc_files.include('lib/**/*.rb')
|
21
|
-
end
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
Bundler::GemHelper.install_tasks
|
27
|
-
|
28
|
-
require 'rake/testtask'
|
29
|
-
|
30
|
-
Rake::TestTask.new(:test) do |t|
|
31
|
-
t.libs << 'lib'
|
32
|
-
t.libs << 'test'
|
33
|
-
t.pattern = 'test/**/*_test.rb'
|
34
|
-
t.verbose = false
|
35
|
-
end
|
36
|
-
|
37
|
-
|
38
|
-
task :default => :test
|
data/lib/rails_slugs.rb
DELETED
@@ -1,156 +0,0 @@
|
|
1
|
-
module RailsSlugs
|
2
|
-
module ActiveRecord
|
3
|
-
module Base
|
4
|
-
|
5
|
-
def self.included(base)
|
6
|
-
base.extend ClassMethods
|
7
|
-
end
|
8
|
-
|
9
|
-
def to_param
|
10
|
-
self.class.sluggable? ? (slug_changed? ? slug_was : slug) : super
|
11
|
-
end
|
12
|
-
|
13
|
-
protected
|
14
|
-
|
15
|
-
def assign_slug
|
16
|
-
if slug.nil? or not slug_changed?
|
17
|
-
options = self.class.slug
|
18
|
-
case options
|
19
|
-
when Symbol
|
20
|
-
value = send(options)
|
21
|
-
when Array
|
22
|
-
value = options.each.map{|p|send(p)}.join(' ')
|
23
|
-
when Proc
|
24
|
-
value = options.call(self)
|
25
|
-
end
|
26
|
-
if value.present?
|
27
|
-
value = value.parameterize
|
28
|
-
previous_value = previous_slug?(value)
|
29
|
-
if previous_value != false
|
30
|
-
if previous_value.present?
|
31
|
-
index = Regexp.new(value + '-(\d+)$').match(previous_value)
|
32
|
-
if index.present?
|
33
|
-
value << "-#{index[1].to_i + 1}"
|
34
|
-
else
|
35
|
-
value << '-1'
|
36
|
-
end
|
37
|
-
end
|
38
|
-
self.slug = value
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end
|
42
|
-
end
|
43
|
-
|
44
|
-
module ClassMethods
|
45
|
-
|
46
|
-
def inherited(subclass)
|
47
|
-
subclass.instance_variable_set(:@slug, @slug)
|
48
|
-
super
|
49
|
-
end
|
50
|
-
|
51
|
-
def sluggable?
|
52
|
-
@slug.present?
|
53
|
-
end
|
54
|
-
|
55
|
-
def slug(*args)
|
56
|
-
if args.any?
|
57
|
-
unless sluggable?
|
58
|
-
if respond_to? :translatable? and translatable?
|
59
|
-
include RailsSlugs::ActiveRecord::Base::Translatable
|
60
|
-
attr_translatable :slug
|
61
|
-
before_validation :generate_slugs
|
62
|
-
else
|
63
|
-
include RailsSlugs::ActiveRecord::Base::NonTranslatable
|
64
|
-
before_validation :generate_slug
|
65
|
-
end
|
66
|
-
@slug = args.size == 1 ? args[0] : args
|
67
|
-
end
|
68
|
-
end
|
69
|
-
@slug
|
70
|
-
end
|
71
|
-
|
72
|
-
end
|
73
|
-
module NonTranslatable
|
74
|
-
|
75
|
-
def self.included(base)
|
76
|
-
base.extend ClassMethods
|
77
|
-
end
|
78
|
-
|
79
|
-
protected
|
80
|
-
|
81
|
-
def previous_slug?(slug)
|
82
|
-
r = self.class.where(
|
83
|
-
"(slug = '#{slug}' OR slug LIKE '#{slug}-_')"
|
84
|
-
).order(
|
85
|
-
'slug DESC'
|
86
|
-
).first
|
87
|
-
r.respond_to?(:slug) ? (r == self ? false : r.slug) : nil
|
88
|
-
end
|
89
|
-
|
90
|
-
def generate_slug
|
91
|
-
assign_slug
|
92
|
-
end
|
93
|
-
|
94
|
-
module ClassMethods
|
95
|
-
|
96
|
-
def exists_by_slug(id)
|
97
|
-
exists? :slug => id
|
98
|
-
end
|
99
|
-
|
100
|
-
end
|
101
|
-
end
|
102
|
-
module Translatable
|
103
|
-
|
104
|
-
def self.included(base)
|
105
|
-
base.extend ClassMethods
|
106
|
-
end
|
107
|
-
|
108
|
-
protected
|
109
|
-
|
110
|
-
def change_locale(locale)
|
111
|
-
I18n.locale = locale
|
112
|
-
with_locale locale
|
113
|
-
end
|
114
|
-
|
115
|
-
def previous_slug?(slug)
|
116
|
-
t = self.class.reflect_on_association(:translations)
|
117
|
-
r = self.class.joins(
|
118
|
-
"INNER JOIN #{t.table_name} t ON t.#{t.foreign_key} = #{self.class.table_name}.#{t.active_record_primary_key}"
|
119
|
-
).where(
|
120
|
-
"(t.slug = '#{slug}' OR t.slug LIKE '#{slug}-_') AND t.locale = '#{I18n.locale.to_s}'"
|
121
|
-
).order(
|
122
|
-
't.slug DESC'
|
123
|
-
).first
|
124
|
-
r.respond_to?(:slug) ? (r == self ? false : r.slug) : nil
|
125
|
-
end
|
126
|
-
|
127
|
-
def generate_slugs
|
128
|
-
locale = current_locale
|
129
|
-
I18n.available_locales.each do |locale|
|
130
|
-
change_locale locale
|
131
|
-
assign_slug
|
132
|
-
end
|
133
|
-
change_locale locale
|
134
|
-
end
|
135
|
-
|
136
|
-
module ClassMethods
|
137
|
-
|
138
|
-
def find_by_slug(id)
|
139
|
-
t = reflect_on_association(:translations)
|
140
|
-
joins(
|
141
|
-
"INNER JOIN #{t.table_name} t ON t.#{t.foreign_key} = #{table_name}.#{t.active_record_primary_key}"
|
142
|
-
).where(
|
143
|
-
"t.slug = '#{id}' AND t.locale = '#{I18n.locale.to_s}'"
|
144
|
-
).readonly(false).first
|
145
|
-
end
|
146
|
-
|
147
|
-
def exists_by_slug(id)
|
148
|
-
t = reflect_on_association(:translations)
|
149
|
-
joins(:translations).exists?(t.table_name.to_sym => {:slug => id, :locale => I18n.locale})
|
150
|
-
end
|
151
|
-
|
152
|
-
end
|
153
|
-
end
|
154
|
-
end
|
155
|
-
end
|
156
|
-
end
|