Sha256: 0a4791ff0e45555c548e3936968052bdedbf42c8075e433a3ed27038b174f66d

Contents?: true

Size: 1.23 KB

Versions: 10

Compression:

Stored size: 1.23 KB

Contents

module Stringex
  module Configuration
    class ActsAsUrl < Base
      def initialize(options = {})
        if options[:scope]
          options[:scope_for_url] = options.delete(:scope)
        end
        super
      end

      def string_extensions_settings
        [
          :allow_slash,
          :exclude,
          :force_downcase,
          :limit,
          :replace_whitespace_with,
          :truncate_words
        ].inject(Hash.new){|m, x| m[x] = settings.send(x); m}
      end

      def self.settings
        @settings
      end

    private

      def default_settings
        self.class.default_settings
      end

      def self.default_settings
        @default_settings ||= {
          allow_duplicates: false,
          callback_method: :before_validation,
          duplicate_count_separator: "-",
          enforce_uniqueness_on_sti_base_class: false,
          only_when_blank: false,
          scope_for_url: nil,
          sync_url: false,
          url_attribute: "url",
          blacklist: %w[new],
          blacklist_policy: lambda { |instance, url|
            "#{url}-#{instance.class.to_s.downcase}"
          }
        }.merge(Stringex::Configuration::StringExtensions.new.default_settings)
      end
    end
  end
end

Version data entries

10 entries across 9 versions & 2 rubygems

Version Path
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.3.0/gems/stringex-2.8.6/lib/stringex/configuration/acts_as_url.rb
trusty-cms-7.0.9.1 vendor/bundle/ruby/3.1.0/gems/stringex-2.8.6/lib/stringex/configuration/acts_as_url.rb
stringex-2.8.6 lib/stringex/configuration/acts_as_url.rb
stringex-2.8.5 lib/stringex/configuration/acts_as_url.rb
stringex-2.8.4 lib/stringex/configuration/acts_as_url.rb
stringex-2.8.3 lib/stringex/configuration/acts_as_url.rb
stringex-2.8.2 lib/stringex/configuration/acts_as_url.rb
stringex-2.8.1 lib/stringex/configuration/acts_as_url.rb
stringex-2.7.1 lib/stringex/configuration/acts_as_url.rb
stringex-2.7.0 lib/stringex/configuration/acts_as_url.rb