Sha256: d0fc9f2078b5408a9347eedb91dbec811fe5bac1ce56a28e8a16a8f17350b236

Contents?: true

Size: 631 Bytes

Versions: 1

Compression:

Stored size: 631 Bytes

Contents

# frozen_string_literal: true

class SubscribeForm < ApplicationForm
  attribute :email, String
  attribute :category_id, Integer, default: 0

  validates :email, presence: true, length: { maximum: 130 }, email: true

  def submit
    return false unless valid?

    api_answer = TranslationCms::Api::Subscriber.create(attributes)
    merge_responce! api_answer
    errors.empty?
  end

  class << self
    def confirm!(token)
      TranslationCms::Api::Subscriber.update(id: token) if token.present?
    end

    def unsubscribe!(token)
      TranslationCms::Api::Subscriber.destroy(id: token) if token.present?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
translation_cms-0.1.5 app/forms/subscribe_form.rb