Class ForwardingVhost
In: app/models/forwarding_vhost.rb
Parent: ActiveRecord::Base

Methods

Public Class methods

[Source]

    # File app/models/forwarding_vhost.rb, line 23
23:   def self.find_overview
24:     find(:all, :readonly)
25:   end

[Source]

    # File app/models/forwarding_vhost.rb, line 54
54:   def initialize(*params)
55:     super(*params)
56:     
57:     self.aliases ||= []
58:   end

Public Instance methods

[Source]

    # File app/models/forwarding_vhost.rb, line 33
33:   def aliases
34:     @conv_aliases ||= read_attribute('aliases').to_s.split(/\n/)
35:   end

[Source]

    # File app/models/forwarding_vhost.rb, line 37
37:   def aliases=(value)
38:     write_attribute('aliases', filter_aliases(value))
39:     @conv_aliases = nil
40:   end

This makes it possible to treat ForwardingVhost and ProjectVhost very similarly

[Source]

    # File app/models/forwarding_vhost.rb, line 29
29:   def kind
30:     'forward'
31:   end

[Source]

    # File app/models/forwarding_vhost.rb, line 42
42:   def validate
43:     for host in aliases do
44:       unless(host =~ Dsadmin::ValueChecker::Q_HOSTNAME_REGEX)
45:         errors.add(:aliases, "contains an invalid hostname('#{host}')")
46:       end
47:     end
48:   end

Private Instance methods

[Source]

    # File app/models/forwarding_vhost.rb, line 60
60:   def filter_aliases(input)
61:     tmp = (input.class <= Array) ? input : input.to_s.split(/\n+/)
62:     tmp.each {|cur| cur.strip! }
63:     tmp = tmp.delete_if {|cur| cur == "" }
64:     return tmp.join("\n")
65:   end

[Validate]