Module: ModMonkey::Item::Moderatable

Defined in:
lib/modmonkey_client/item.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#mm_itemObject

Returns the value of attribute mm_item.



66
67
68
# File 'lib/modmonkey_client/item.rb', line 66

def mm_item
  @mm_item
end

Instance Method Details

#add_to_queueObject



116
117
118
# File 'lib/modmonkey_client/item.rb', line 116

def add_to_queue
  create_mm_item
end

#apply_mod_monkey_params(params) ⇒ Object

mod monkey



71
72
73
74
75
# File 'lib/modmonkey_client/item.rb', line 71

def apply_mod_monkey_params( params )  
  apply_decision(params)
  update_content(params)
  self.save!
end

#approveObject



82
83
84
85
# File 'lib/modmonkey_client/item.rb', line 82

def approve
  self.mm_approved = true
  self.save
end

#evaluate_value(value) ⇒ Object



101
102
103
104
105
106
107
108
109
110
# File 'lib/modmonkey_client/item.rb', line 101

def evaluate_value(value) 
  if value.respond_to?(:call) then value.call(self)
  elsif value.is_a?(Symbol) && self.respond_to?(value) then self.send(value)
  elsif value.is_a?(Hash) then 
    new_hash = {}
    value.each {|k,v| new_hash[k] = evaluate_value(v)}
    new_hash  
  else value       
  end
end

#flag(params = {}) ⇒ Object



87
88
89
# File 'lib/modmonkey_client/item.rb', line 87

def flag(params={})
  flag = Hash.from_xml(RestClient::Resource.new(self.class.resource_url+"/#{self.mm_id}/flags").post(params))
end

#mm_attrsObject



91
92
93
94
95
96
97
98
99
# File 'lib/modmonkey_client/item.rb', line 91

def mm_attrs
  # Evaluate each attribute and return the hash
  attrs = {}
  self.class.mm_attr_store.each do |attr_name,value|
    evaluated_value = evaluate_value(value)
    attrs[attr_name] = evaluated_value
  end
  attrs
end

#mm_contentObject

Raises:

  • (NotImplementedError)


112
113
114
# File 'lib/modmonkey_client/item.rb', line 112

def mm_content
  raise NotImplementedError, 'the method mm_content needs to be implemented in the including class'
end

#moderated?Boolean

Returns:

  • (Boolean)


120
121
122
# File 'lib/modmonkey_client/item.rb', line 120

def moderated?
  !self.mm_id.blank?
end

#rejectObject

mod monkey callbacks



78
79
80
81
# File 'lib/modmonkey_client/item.rb', line 78

def reject
  self.mm_approved = false
  self.save
end