module Fakecrm::Mailings

Public Class Methods

included(base) click to toggle source
# File lib/fakecrm/server/mailings.rb, line 10
def self.included(base)
  base.class_eval do

    get '/crm/api/mailings.?:format?' do
      fetch_many(Mailing)
    end

    get '/crm/api/mailings/search.?:format?' do
      search(Mailing, [:event_id, :mailing_type], [:title, :body],
             params.fetch("sort_by", :updated_at).to_sym,
             params.fetch("sort_order", 'asc').to_s)
    end

    get '/crm/api/mailings/:id.?:format?' do |id, _|
      fetch_one(Mailing, id.to_i)
    end

    post '/crm/api/mailings.?:format?' do
      create_one(Mailing, mailing_params)
    end

    put '/crm/api/mailings/:id.?:format?' do |id, _|
      update_one(Mailing, id.to_i, mailing_params)
    end

    delete '/crm/api/mailings/:id.?:format?' do |id, _|
      destroy_one(Mailing, id.to_i)
    end

  end
end

Public Instance Methods

mailing_params() click to toggle source
# File lib/fakecrm/server/mailings.rb, line 4
def mailing_params
  mailing = params["mailing"].dup
  mailing.delete("name")
  mailing
end