active_permalink 0.5.2 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5fa20c1f3b8d87d139d4a4dd071f4eaf254e920f9c548d8972bee1d039d50447
4
- data.tar.gz: fcfc097109ae5c2a061d248047d3afce7846281caca1af726531d957b8ce19a6
3
+ metadata.gz: df15e663dd9dd5bb8b4b873ccdd92a6d0b116547d143336ed9520bd4ac25ea81
4
+ data.tar.gz: 3bd4f5b7cdaef63d23ffd393647a4207d5d57c2ded5c98838e92ad91c1b62dcd
5
5
  SHA512:
6
- metadata.gz: 983b44808444eac00eec9208294601a8dd354e63ea2fe301b1ac6e18e704923d323dab9cb9a04ac1a0ae4ef3d799bdba1cd475083fe82e6b6362853b57e6ea69
7
- data.tar.gz: 73f7a8cf127e57656898024e6f6c9f80b7111a1d32a347cfc585ad3dd41327482f428cc826e7dd8c77557298cf8124d7cd196c3d36136389c90bbfdfc2a3a9a9
6
+ metadata.gz: d14ea28b8b4d5ef42ad0272f3a265c51dba1aa07f42349dcea0ed7c8c35e36c8b416f069e81573ce7e284509d31c7c8f6053d9bdcd925b1475208129f968a0d2
7
+ data.tar.gz: 1086cd95f88ba1a9d516026fa5376f549209a06b93334efe4a68ae7fc95dd35b53c19e1da2ddaa2f30bda46787c5f92e2633405eb44ae8391d7e6303f1df97c2
@@ -3,10 +3,10 @@ require 'any_ascii'
3
3
  module ActivePermalink
4
4
  class Generator
5
5
  class << self
6
- def generate(record, value, locale = nil)
6
+ def generate(record, value, locale = nil, raw: false)
7
7
  return if value.nil? && !record.slug_should_generate?
8
8
 
9
- options = record.permalink_options.merge(locale: locale)
9
+ options = record.permalink_options.merge(locale: locale, raw: raw)
10
10
  generator = Generator.new(record, options)
11
11
  generator.generate(value)
12
12
 
@@ -93,6 +93,8 @@ module ActivePermalink
93
93
  value = @new_value.presence || @record.send(@field)
94
94
  return if value.blank?
95
95
 
96
+ return value if @options[:raw] == true
97
+
96
98
  value = AnyAscii.transliterate(value)
97
99
  value.parameterize
98
100
  end
@@ -29,8 +29,8 @@ module ActivePermalink
29
29
 
30
30
  private
31
31
 
32
- def _generate_permalink_slug(value)
33
- slug_backend.write(value, I18n.locale)
32
+ def _generate_permalink_slug(value, **options)
33
+ slug_backend.write(value, I18n.locale, **options)
34
34
  end
35
35
  end
36
36
 
@@ -60,9 +60,9 @@ module ActivePermalink
60
60
  find_slug(locale)
61
61
  end
62
62
 
63
- def write(value, locale)
63
+ def write(value, locale, **options)
64
64
  enforce_available_locales!(locale)
65
- update_slug(value, locale)
65
+ update_slug(value, locale, **options)
66
66
  end
67
67
 
68
68
  private
@@ -97,8 +97,8 @@ module ActivePermalink
97
97
  permalink.try(:slug)
98
98
  end
99
99
 
100
- def update_slug(value, locale)
101
- Generator.generate(record, value, locale)
100
+ def update_slug(value, locale, **options)
101
+ Generator.generate(record, value, locale, **options)
102
102
  @permalinks = record.permalinks.to_a
103
103
  end
104
104
  end
@@ -12,6 +12,10 @@ module ActivePermalink
12
12
  on: [:create, :update],
13
13
  if: :slug_needs_generate?
14
14
 
15
+ def raw_slug=(value)
16
+ _generate_permalink_slug(value, raw: true)
17
+ end
18
+
15
19
  def slug=(value)
16
20
  _generate_permalink_slug(value)
17
21
  end
@@ -37,8 +41,8 @@ module ActivePermalink
37
41
  @slug_should_generate = false
38
42
  end
39
43
 
40
- def _generate_permalink_slug(value)
41
- Generator.generate(self, value)
44
+ def _generate_permalink_slug(value, **options)
45
+ Generator.generate(self, value, **options)
42
46
  end
43
47
  end
44
48
  end
@@ -1,3 +1,3 @@
1
1
  module ActivePermalink
2
- VERSION = '0.5.2'
2
+ VERSION = '0.5.3'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: active_permalink
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.2
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jonian Guveli
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-12-19 00:00:00.000000000 Z
11
+ date: 2022-02-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activerecord
@@ -142,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
142
142
  - !ruby/object:Gem::Version
143
143
  version: '0'
144
144
  requirements: []
145
- rubygems_version: 3.1.4
145
+ rubygems_version: 3.1.6
146
146
  signing_key:
147
147
  specification_version: 4
148
148
  summary: Add permalinks to ActiveRecord models