Module: Flapjack::Diner::Resources::Media

Included in:
Flapjack::Diner
Defined in:
lib/flapjack-diner/resources/media.rb

Instance Method Summary collapse

Instance Method Details

#create_contact_media(*args) ⇒ Object



12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/flapjack-diner/resources/media.rb', line 12

def create_contact_media(*args)
  ids, data = unwrap_ids(*args), unwrap_create_data(*args)
  raise "'create_contact_media' requires at least one contact id " \
        'parameter' if ids.nil? || ids.empty?
  validate_params(data) do
    validate :query => [:type, :address], :as => [:required, :string]
    validate :query => [:interval, :rollup_threshold],
             :as => [:required, :integer]
  end
  perform_post("/contacts/#{escaped_ids(ids)}/media", nil,
               :media => data)
end

#delete_media(*ids) ⇒ Object



41
42
43
44
45
# File 'lib/flapjack-diner/resources/media.rb', line 41

def delete_media(*ids)
  raise "'delete_media' requires at least one media id " \
        'parameter' if ids.nil? || ids.empty?
  perform_delete('/media', ids)
end

#media(*ids) ⇒ Object



25
26
27
# File 'lib/flapjack-diner/resources/media.rb', line 25

def media(*ids)
  perform_get('media', '/media', ids)
end

#update_media(*args) ⇒ Object



29
30
31
32
33
34
35
36
37
38
39
# File 'lib/flapjack-diner/resources/media.rb', line 29

def update_media(*args)
  ids, params = unwrap_ids(*args), unwrap_params(*args)
  raise "'update_media' requires at least one media id " \
        'parameter' if ids.nil? || ids.empty?
  validate_params(params) do
    validate :query => :address,                       :as => :string
    validate :query => [:interval, :rollup_threshold], :as => :integer
  end
  perform_patch("/media/#{escaped_ids(ids)}", nil,
                update_media_ops(params))
end