Sha256: b520ec26a829e6a51471b8d3d335b58075a638cb9b0a77638dda1ce67dbbe078

Contents?: true

Size: 1.07 KB

Versions: 12

Compression:

Stored size: 1.07 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
        ].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_class => false,
          :only_when_blank => false,
          :scope_for_url => nil,
          :sync_url => false,
          :url_attribute => "url",
        }.merge(Stringex::Configuration::StringExtensions.new.default_settings)
      end
    end
  end
end

Version data entries

12 entries across 12 versions & 1 rubygems

Version Path
stringex-2.1.2 lib/stringex/configuration/acts_as_url.rb
stringex-2.1.1 lib/stringex/configuration/acts_as_url.rb
stringex-2.1.0 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.11 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.10 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.9 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.8 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.7 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.6 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.5 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.4 lib/stringex/configuration/acts_as_url.rb
stringex-2.0.3 lib/stringex/configuration/acts_as_url.rb