Module: WeChat::Entity::Base

Extended by:
ActiveSupport::Concern
Includes:
Creator, Destroyer, Retriever
Included in:
IdentityEntity, NamedEntity, Menu, Product, ProductAttribute, Sku, Subscriber
Defined in:
lib/we_chat/entity/base.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#delete_from_we_chatObject



29
30
31
32
33
34
# File 'lib/we_chat/entity/base.rb', line 29

def delete_from_we_chat
  if 
    self.class.delete_from_we_chat(self.we_chat_id)
    reset_we_chat_id
  end
end

#get_we_chat_id_from_data(data) ⇒ Object



44
45
46
# File 'lib/we_chat/entity/base.rb', line 44

def get_we_chat_id_from_data(data)
  data[:we_chat_id]
end

#reset_we_chat_idObject



48
49
50
# File 'lib/we_chat/entity/base.rb', line 48

def reset_we_chat_id
  self.update_attributes!(we_chat_id: nil)
end

#set_we_chat_id(data) ⇒ Object



52
53
54
# File 'lib/we_chat/entity/base.rb', line 52

def set_we_chat_id(data)
  self.update_attributes!(we_chat_id: get_we_chat_id_from_data(data))
end

#submit_to_we_chatObject



22
23
24
25
26
27
# File 'lib/we_chat/entity/base.rb', line 22

def submit_to_we_chat
  unless 
    response = WeChat::REST::Client.default.send("#{self.class.we_chat_entity_name.to_s}_create".to_sym, self.to_we_chat_data)
    set_we_chat_id(response)
  end
end

#submitted_to_we_chat?Boolean

Returns:

  • (Boolean)


18
19
20
# File 'lib/we_chat/entity/base.rb', line 18

def 
  !(self.we_chat_id.nil? || self.we_chat_id.empty?)
end

#to_we_chat_dataObject



14
15
16
# File 'lib/we_chat/entity/base.rb', line 14

def to_we_chat_data
  { id: self.we_chat_id, name: self.name }
end

#update_to_we_chatObject



36
37
38
39
40
41
42
# File 'lib/we_chat/entity/base.rb', line 36

def update_to_we_chat
  if 
    WeChat::REST::Client.default.send("#{self.class.we_chat_entity_name.to_s}_update".to_sym, self.to_we_chat_data)
  else
    submit_to_we_chat
  end
end