Module: Zendesk2::Model

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#errorsObject

Returns the value of attribute errors.



5
6
7
# File 'lib/zendesk2/model.rb', line 5

def errors
  @errors
end

Instance Method Details

#destroyObject



26
27
28
29
30
# File 'lib/zendesk2/model.rb', line 26

def destroy
  destroy!
rescue Zendesk2::Error
  false
end

#destroyed?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/zendesk2/model.rb', line 22

def destroyed?
  !reload
end

#missing_attributes(args) ⇒ Object

re-define Cistern::Attributes#missing_attributes to require non-blank



33
34
35
36
37
38
39
# File 'lib/zendesk2/model.rb', line 33

def missing_attributes(args)
  missing, required = super(args)
  blank, still_required = required.partition { |_, v| '' == v }
  missing.merge!(Hash[blank])

  [missing, Hash[still_required]]
end

#saveZendesk2::Model

calls #save! and sets #errors if unsuccessful and applicable

Returns:



15
16
17
18
19
20
# File 'lib/zendesk2/model.rb', line 15

def save
  save!
rescue Zendesk2::Error => exception
  self.errors = error_details(exception)
  self
end

#save!Object

This method is abstract.

override in subclass

Raises:



9
10
11
# File 'lib/zendesk2/model.rb', line 9

def save!
  raise NotImplementedError
end

#update!(attributes) ⇒ Object



41
42
43
44
# File 'lib/zendesk2/model.rb', line 41

def update!(attributes)
  merge_attributes(attributes)
  save!
end