Sha256: 60f1a5bcca1e8348d0082d35ac7ba9c093a698481762cf66736b7fa80fb04a6a

Contents?: true

Size: 437 Bytes

Versions: 26

Compression:

Stored size: 437 Bytes

Contents

module MinimumViableProduct
  module Slugification
    extend ActiveSupport::Concern

    module ClassMethods
      def slugify(name, opts={})
        _opts = opts.reverse_merge(:if => lambda{ |obj| obj.send("#{name}_changed?".to_sym) })
        before_validation -> { self.slug = slugify(self.send(name.to_sym)) }, _opts
      end
    end

    private

    def slugify(str)
      str.gsub(/\s/,'_').dasherize.downcase
    end
  end
end

Version data entries

26 entries across 26 versions & 1 rubygems

Version Path
minimum_viable_product-0.2.5 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.2.4 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.2.3 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.2.2 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.2.1 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.2.0 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.1.2 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.1.1 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.1.0 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.42 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.41 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.40 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.39 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.38 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.37 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.36 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.35 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.34 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.33 app/models/concerns/minimum_viable_product/slugification.rb
minimum_viable_product-0.0.32 app/models/concerns/minimum_viable_product/slugification.rb