7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/seorel/model/base.rb', line 7
def seorelify(*args)
extend ClassMethods
include InstanceMethods
cattr_accessor :seorel_title_field, :seorel_description_field, :seorel_image_field
if args[0].class.name == 'Hash'
class_variable_set '@@seorel_title_field', args[0][:title]
class_variable_set '@@seorel_description_field', args[0][:description] || args[0][:title]
class_variable_set '@@seorel_image_field', args[0][:image]
else
class_variable_set '@@seorel_title_field', args[0]
class_variable_set '@@seorel_description_field', args[1] || args[0]
class_variable_set '@@seorel_image_field', args[2]
end
has_one :seorel, as: :seorelable,
dependent: :destroy,
class_name: 'Seorel::Seorel',
autosave: true,
inverse_of: :seorelable
accepts_nested_attributes_for :seorel, allow_destroy: true
delegate :title, :title?, :description, :description?, :image, :image?,
to: :seorel, prefix: :seo, allow_nil: true
before_save :set_seorel
end
|