Module: Seorel::Controller::InstanceMethods

Defined in:
lib/seorel/controller/instance_methods.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.included(klass) ⇒ Object



35
36
37
38
39
# File 'lib/seorel/controller/instance_methods.rb', line 35

def self.included(klass)
  return if klass.respond_to? :add_metatags
  alias_method :add_metatags, :add_seorel_meta
  protected :add_seorel_meta, :add_seorel_hash, :add_seorel_model, :seorel_params
end

Instance Method Details

#add_seorel_hash(values = {}) ⇒ Object



17
18
19
20
21
22
# File 'lib/seorel/controller/instance_methods.rb', line 17

def add_seorel_hash(values = {})
  seorel_params.title = values[:title] if values[:title].present?
  seorel_params.description = values[:description] if values[:description].present?
  seorel_params.image = values[:image] if values[:image].present?
  seorel_params
end

#add_seorel_meta(obj = {}) ⇒ Object



7
8
9
10
11
12
13
14
15
# File 'lib/seorel/controller/instance_methods.rb', line 7

def add_seorel_meta(obj = {})
  if obj.class.name == 'Hash'
    add_seorel_hash obj
  elsif obj.respond_to? :seorel
    add_seorel_model obj
  else
    raise 'Seorel `add_seorel_meta` invalid argument'
  end
end

#add_seorel_model(model) ⇒ Object



24
25
26
27
28
29
# File 'lib/seorel/controller/instance_methods.rb', line 24

def add_seorel_model(model)
  seorel_params.title = model.seo_title if model.seo_title?
  seorel_params.description = model.seo_description if model.seo_description?
  seorel_params.image = model.seo_image if model.seo_image?
  seorel_params
end

#seorel_paramsObject



31
32
33
# File 'lib/seorel/controller/instance_methods.rb', line 31

def seorel_params
  @seosel_metatags ||= ::Seorel::Controller::Params.new(self)
end