Sha256: 06245e6dee157a0c2ac2183f84263f97a866ffe1fbbc974a2f1a8cdd57bf4985
Contents?: true
Size: 1.2 KB
Versions: 2
Compression:
Stored size: 1.2 KB
Contents
class SeoSnippet include ActiveModel::Model extend ActiveModel::Naming DEFAULT_PARAMS = { "corporate_contacts_attributes" => {"0" => {}}, "label" => "seo_snippet", "context" => "http://schema.org", "type" => "Organization" } attr_accessor :label, :context, :type, :url, :logo, :facebook_url, :twitter_url, :google_plus_url, :instagram_url, :pinterest_url, :linkedin_url, :youtube_url, :corporate_contacts, :corporate_contacts_attributes validates :url, :context, :type, presence: true validates :label, presence: true, format: { with: /\A[^\s]+\z/, message: 'blanks'} def initialize(params={}) params = DEFAULT_PARAMS.merge(params) super # calls (amongst other methods): corporate_contacts_attributes=(attrs) end def corporate_contacts_attributes=(attrs) self.corporate_contacts = attrs.values.map do |cc| CorporateContact.new(cc) end end def corporate_contacts_validator error_hash = {} @corporate_contacts.each do |contact| unless contact.valid? contact.errors.messages.each do |error_name, error_message| error_hash[error_name] = error_message.join end end end return error_hash end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
comfortable_mexican_loveseat-0.1.1 | app/services/seo_snippet.rb |
comfortable_mexican_loveseat-0.1.0 | app/services/seo_snippet.rb |