Class: ActivePermalink::Generator
- Inherits:
-
Object
- Object
- ActivePermalink::Generator
- Defined in:
- lib/active_permalink/generator.rb
Class Method Summary collapse
Instance Method Summary collapse
- #generate(new_value) ⇒ Object
-
#initialize(record, options = {}) ⇒ Generator
constructor
A new instance of Generator.
- #permalinks ⇒ Object
Constructor Details
#initialize(record, options = {}) ⇒ Generator
Returns a new instance of Generator.
17 18 19 20 21 22 23 24 |
# File 'lib/active_permalink/generator.rb', line 17 def initialize(record, = {}) [:locale] = .fetch(:locale, I18n.locale).to_s @record = record @options = @field = [:field] @scope = .fetch(:scope, :global) end |
Class Method Details
.generate(record, value, locale = nil, raw: false) ⇒ Object
6 7 8 9 10 11 12 13 14 |
# File 'lib/active_permalink/generator.rb', line 6 def generate(record, value, locale = nil, raw: false) return if value.nil? && !record.slug_should_generate? = record..merge(locale: locale, raw: raw) generator = Generator.new(record, ) generator.generate(value) record.permalinks = generator.permalinks end |
Instance Method Details
#generate(new_value) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/active_permalink/generator.rb', line 26 def generate(new_value) @new_value = new_value return unless changed? deactivate_active_permalink assign_active_permalink end |
#permalinks ⇒ Object
34 35 36 |
# File 'lib/active_permalink/generator.rb', line 34 def permalinks @permalinks ||= @record.permalinks end |