Module: Dolly::Slugable::ClassMethods

Defined in:
lib/dolly/slugable.rb

Constant Summary collapse

DEFAULT_SEPARATOR =
'_'

Instance Method Summary collapse

Instance Method Details

#set_slug(*slugable_properties, separator: DEFAULT_SEPARATOR) ⇒ Object



39
40
41
42
43
# File 'lib/dolly/slugable.rb', line 39

def set_slug(*slugable_properties, separator: DEFAULT_SEPARATOR)
  validate_slug_property_presence!(slugable_properties)
  define_method(:slugable_separator) { separator }
  define_method(:slugable_properties) { slugable_properties }
end

#validate_slug_property_presence!(slugable_properties) ⇒ Object



45
46
47
48
49
50
51
52
53
# File 'lib/dolly/slugable.rb', line 45

def validate_slug_property_presence!(slugable_properties)
  missing_properties = slugable_properties.select do |prop|
    !instance_methods(false).include?(prop)
  end

  unless missing_properties.empty?
    raise Dolly::MissingSlugableProperties, missing_properties
  end
end