friendly_id-globalize 1.0.0.alpha3 → 1.0.0.alpha4

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: 26844163b66ff103307b8f064989dd81cd75dde5
4
- data.tar.gz: 8fa22695b5243a5a024477d47f82864305c00691
2
+ SHA256:
3
+ metadata.gz: 3c63abb7940af7e1cfb45dc6bcc7203699a4993ee7fb7d2bda9a8f788c2710a2
4
+ data.tar.gz: c87d245f950ef8da97062015d6bd05be41e4c2466953d0dcf689077d1a160839
5
5
  SHA512:
6
- metadata.gz: d33a80f8d66e16a97169a66230f7042ef4767adb3b7ee7425205aa1fe969026c0774f2f093d4f5207927ce6de4d440916a9c1554d34a7fabce070d507a3131fb
7
- data.tar.gz: 24eff53635369319398cb77547f6edd11a7b7a70531504b9e7d95d99c7c9d81af84dba24a66b0e6fb0f3b8a1210af79122ec9238fbedc451a693f1dc320a8479
6
+ metadata.gz: 70275b9abdc134b05ec8e0836b0a22894f02faa18304f8962231bcb55052312dde373d115b2ee16aeed1e33220bb063776535c3911d6ec3a56cae30f13079f52
7
+ data.tar.gz: 94721821b35d7ad98055e76498ac403d964af9ad03a26daf982bf2e1bc4081e650749f4b5d6ca481260a198d04fc1970c37b98a09775c35406145c7c800e7523
@@ -16,7 +16,7 @@ Gem::Specification.new do |s|
16
16
 
17
17
  s.required_ruby_version = '>= 1.9.3'
18
18
 
19
- s.add_dependency 'friendly_id', '>= 5.2.0', '< 6.0'
19
+ s.add_dependency 'friendly_id', '>= 5.1.0', '< 6.0'
20
20
  s.add_development_dependency 'minitest'
21
21
  s.add_development_dependency 'yard'
22
22
  s.add_development_dependency "globalize"
@@ -1,5 +1,5 @@
1
1
  module FriendlyId
2
2
  module Globalize
3
- VERSION = '1.0.0.alpha3'
3
+ VERSION = '1.0.0.alpha4'
4
4
  end
5
5
  end
@@ -7,7 +7,7 @@ module FriendlyId
7
7
  == Translating Slugs Using Globalize
8
8
 
9
9
  The {FriendlyId::Globalize Globalize} module lets you use
10
- Globalize[https://github.com/svenfuchs/globalize3] to translate slugs. This
10
+ Globalize[https://github.com/globalize/globalize] to translate slugs. This
11
11
  module is most suitable for applications that need to be localized to many
12
12
  languages. If your application only needs to be localized to one or two
13
13
  languages, you may wish to consider the {FriendlyId::SimpleI18n SimpleI18n}
@@ -85,7 +85,7 @@ current locale:
85
85
 
86
86
  def set_friendly_id(text, locale = nil)
87
87
  ::Globalize.with_locale(locale || ::Globalize.locale) do
88
- set_slug normalize_friendly_id(text)
88
+ super_set_slug normalize_friendly_id(text)
89
89
  end
90
90
  end
91
91
 
@@ -94,12 +94,8 @@ current locale:
94
94
  end
95
95
 
96
96
  def set_slug(normalized_slug = nil)
97
- if self.translations.size > 1
98
- self.translations.map(&:locale).each do |locale|
99
- ::Globalize.with_locale(locale) { super_set_slug(normalized_slug) }
100
- end
101
- else
102
- ::Globalize.with_locale(::Globalize.locale) { super_set_slug(normalized_slug) }
97
+ (self.translations.map(&:locale).presence || [::Globalize.locale]).each do |locale|
98
+ ::Globalize.with_locale(locale) { super_set_slug(normalized_slug) }
103
99
  end
104
100
  end
105
101
 
@@ -107,9 +103,8 @@ current locale:
107
103
  if should_generate_new_friendly_id?
108
104
  candidates = FriendlyId::Candidates.new(self, normalized_slug || send(friendly_id_config.base))
109
105
  slug = slug_generator.generate(candidates) || resolve_friendly_id_conflict(candidates)
110
- translation.slug = slug
106
+ translation.send("#{friendly_id_config.slug_column}=", slug)
111
107
  end
112
108
  end
113
109
  end
114
110
  end
115
-
@@ -70,11 +70,11 @@ method.
70
70
  # Configures the model instance to use the History add-on.
71
71
  def self.included(model_class)
72
72
  model_class.class_eval do
73
- has_many :slugs, -> {order("#{Slug.quoted_table_name}.id DESC")}, {
74
- :as => :sluggable,
75
- :dependent => :destroy,
76
- :class_name => Slug.to_s
77
- }
73
+ has_many :slugs, -> {order(Slug.arel_table[:id].desc)},
74
+ as: :sluggable,
75
+ dependent: :destroy,
76
+ class_name: Slug.to_s
77
+
78
78
  after_save :create_slug
79
79
  end
80
80
  end
@@ -22,14 +22,14 @@ ActiveRecord::Migration.verbose = false
22
22
  FriendlyIdGlobalizeTest.up
23
23
 
24
24
  class Article < ActiveRecord::Base
25
- translates :slug, :title, fallbacks_for_empty_translations: true
25
+ translates :my_slug, :title, fallbacks_for_empty_translations: true
26
26
  accepts_nested_attributes_for :translations
27
27
 
28
28
  extend FriendlyId
29
- friendly_id :title, :use => [:slugged, :globalize]
29
+ friendly_id :title, :use => :globalize, :slug_column => 'my_slug'
30
30
  end
31
31
 
32
- Article.create_translation_table! :slug => :string, :title => :string
32
+ Article.create_translation_table! :my_slug => :string, :title => :string
33
33
 
34
34
  class Module
35
35
  def test(name, &block)
@@ -77,21 +77,25 @@ class GlobalizeTest < MiniTest::Unit::TestCase
77
77
  transaction do
78
78
  article = Article.create!(:title => "War and Peace")
79
79
  article.set_friendly_id("Guerra y paz", :es)
80
+ article.set_friendly_id("Guerra e pace", :it)
80
81
  article.save!
81
82
  found_article = Article.friendly.find('war-and-peace')
82
83
  I18n.with_locale(:es) { assert_equal "guerra-y-paz", found_article.friendly_id }
83
84
  I18n.with_locale(:en) { assert_equal "war-and-peace", found_article.friendly_id }
85
+ I18n.with_locale(:it) { assert_equal "guerra-e-pace", found_article.friendly_id }
84
86
  end
85
87
  end
86
88
 
87
89
  test "should set all friendly ids for each nested translation" do
88
90
  transaction do
89
91
  article = Article.create!(translations_attributes: {
90
- xx: { :title => "Guerra e pace", locale: 'it' },
91
- yy: { title: 'Guerre et paix', locale: 'fr' }
92
+ xx: { title: 'Guerra e pace', locale: 'it' },
93
+ yy: { title: 'Guerre et paix', locale: 'fr' },
94
+ zz: { title: 'Guerra y paz', locale: 'es' }
92
95
  })
93
96
  I18n.with_locale(:it) { assert_equal "guerra-e-pace", article.friendly_id }
94
97
  I18n.with_locale(:fr) { assert_equal "guerre-et-paix", article.friendly_id }
98
+ I18n.with_locale(:es) { assert_equal "guerra-y-paz", article.friendly_id }
95
99
  end
96
100
  end
97
101
 
@@ -110,4 +114,3 @@ class GlobalizeTest < MiniTest::Unit::TestCase
110
114
  end
111
115
  end
112
116
  end
113
-
metadata CHANGED
@@ -1,76 +1,75 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: friendly_id-globalize
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.0.alpha3
4
+ version: 1.0.0.alpha4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Norman Clarke
8
8
  - Philip Arndt
9
- autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2017-04-30 00:00:00.000000000 Z
11
+ date: 2025-03-04 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: friendly_id
16
15
  requirement: !ruby/object:Gem::Requirement
17
16
  requirements:
18
- - - '>='
17
+ - - ">="
19
18
  - !ruby/object:Gem::Version
20
- version: 5.2.0
21
- - - <
19
+ version: 5.1.0
20
+ - - "<"
22
21
  - !ruby/object:Gem::Version
23
22
  version: '6.0'
24
23
  type: :runtime
25
24
  prerelease: false
26
25
  version_requirements: !ruby/object:Gem::Requirement
27
26
  requirements:
28
- - - '>='
27
+ - - ">="
29
28
  - !ruby/object:Gem::Version
30
- version: 5.2.0
31
- - - <
29
+ version: 5.1.0
30
+ - - "<"
32
31
  - !ruby/object:Gem::Version
33
32
  version: '6.0'
34
33
  - !ruby/object:Gem::Dependency
35
34
  name: minitest
36
35
  requirement: !ruby/object:Gem::Requirement
37
36
  requirements:
38
- - - '>='
37
+ - - ">="
39
38
  - !ruby/object:Gem::Version
40
39
  version: '0'
41
40
  type: :development
42
41
  prerelease: false
43
42
  version_requirements: !ruby/object:Gem::Requirement
44
43
  requirements:
45
- - - '>='
44
+ - - ">="
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0'
48
47
  - !ruby/object:Gem::Dependency
49
48
  name: yard
50
49
  requirement: !ruby/object:Gem::Requirement
51
50
  requirements:
52
- - - '>='
51
+ - - ">="
53
52
  - !ruby/object:Gem::Version
54
53
  version: '0'
55
54
  type: :development
56
55
  prerelease: false
57
56
  version_requirements: !ruby/object:Gem::Requirement
58
57
  requirements:
59
- - - '>='
58
+ - - ">="
60
59
  - !ruby/object:Gem::Version
61
60
  version: '0'
62
61
  - !ruby/object:Gem::Dependency
63
62
  name: globalize
64
63
  requirement: !ruby/object:Gem::Requirement
65
64
  requirements:
66
- - - '>='
65
+ - - ">="
67
66
  - !ruby/object:Gem::Version
68
67
  version: '0'
69
68
  type: :development
70
69
  prerelease: false
71
70
  version_requirements: !ruby/object:Gem::Requirement
72
71
  requirements:
73
- - - '>='
72
+ - - ">="
74
73
  - !ruby/object:Gem::Version
75
74
  version: '0'
76
75
  description: Adds Globalize support to the FriendlyId gem.
@@ -81,8 +80,8 @@ executables: []
81
80
  extensions: []
82
81
  extra_rdoc_files: []
83
82
  files:
84
- - .gitignore
85
- - .yardopts
83
+ - ".gitignore"
84
+ - ".yardopts"
86
85
  - Gemfile
87
86
  - MIT-LICENSE
88
87
  - README.md
@@ -98,24 +97,21 @@ homepage: http://github.com/norman/friendly_id-globalize
98
97
  licenses:
99
98
  - MIT
100
99
  metadata: {}
101
- post_install_message:
102
100
  rdoc_options: []
103
101
  require_paths:
104
102
  - lib
105
103
  required_ruby_version: !ruby/object:Gem::Requirement
106
104
  requirements:
107
- - - '>='
105
+ - - ">="
108
106
  - !ruby/object:Gem::Version
109
107
  version: 1.9.3
110
108
  required_rubygems_version: !ruby/object:Gem::Requirement
111
109
  requirements:
112
- - - '>'
110
+ - - ">="
113
111
  - !ruby/object:Gem::Version
114
- version: 1.3.1
112
+ version: '0'
115
113
  requirements: []
116
- rubyforge_project:
117
- rubygems_version: 2.0.14.1
118
- signing_key:
114
+ rubygems_version: 3.6.2
119
115
  specification_version: 4
120
116
  summary: Globalize support for FriendlyId.
121
117
  test_files: []