class Stringex::Configuration::ActsAsUrl

Public Class Methods

new(options = {}) click to toggle source
Calls superclass method
  # File lib/stringex/configuration/acts_as_url.rb
4 def initialize(options = {})
5   if options[:scope]
6     options[:scope_for_url] = options.delete(:scope)
7   end
8   super
9 end
settings() click to toggle source
   # File lib/stringex/configuration/acts_as_url.rb
22 def self.settings
23   @settings
24 end

Private Class Methods

default_settings() click to toggle source
   # File lib/stringex/configuration/acts_as_url.rb
32 def self.default_settings
33   @default_settings ||= {
34     allow_duplicates: false,
35     callback_method: :before_validation,
36     duplicate_count_separator: "-",
37     enforce_uniqueness_on_sti_base_class: false,
38     only_when_blank: false,
39     scope_for_url: nil,
40     sync_url: false,
41     url_attribute: "url",
42     blacklist: %w[new],
43     blacklist_policy: lambda { |instance, url|
44       "#{url}-#{instance.class.to_s.downcase}"
45     }
46   }.merge(Stringex::Configuration::StringExtensions.new.default_settings)
47 end

Public Instance Methods

string_extensions_settings() click to toggle source
   # File lib/stringex/configuration/acts_as_url.rb
11 def string_extensions_settings
12   [
13     :allow_slash,
14     :exclude,
15     :force_downcase,
16     :limit,
17     :replace_whitespace_with,
18     :truncate_words
19   ].inject(Hash.new){|m, x| m[x] = settings.send(x); m}
20 end

Private Instance Methods

default_settings() click to toggle source
   # File lib/stringex/configuration/acts_as_url.rb
28 def default_settings
29   self.class.default_settings
30 end