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



33
34
35
36
37
# File 'lib/seorel/controller/instance_methods.rb', line 33

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



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

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



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

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



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

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



29
30
31
# File 'lib/seorel/controller/instance_methods.rb', line 29

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