Class: WeixinRailsMiddleware::MultiplePublicAccount

Inherits:
WexinAdapter
  • Object
show all
Defined in:
lib/weixin_rails_middleware/adapter/multiple_public_account.rb

Instance Attribute Summary

Attributes inherited from WexinAdapter

#echostr, #nonce, #signature, #timestamp, #weixin_secret_key

Instance Method Summary collapse

Methods inherited from WexinAdapter

decode64, error_msg, init_with, #initialize, #is_signature_valid?

Methods included from ConfigurationHelpers

#custom_adapter, #token_model, #token_model_class

Constructor Details

This class inherits a constructor from WeixinRailsMiddleware::WexinAdapter

Instance Method Details

#check_weixin_legalityObject



5
6
7
8
# File 'lib/weixin_rails_middleware/adapter/multiple_public_account.rb', line 5

def check_weixin_legality
  return render_authorize_result(404) if !is_weixin_secret_key_valid?
  super
end

#current_weixin_public_accountObject

TODO: handle Exception



20
21
22
23
24
25
26
27
28
# File 'lib/weixin_rails_middleware/adapter/multiple_public_account.rb', line 20

def 
  @current_weixin_public_account ||= self.class.token_model_class.where("#{DEFAULT_WEIXIN_SECRET_KEY}" => weixin_secret_key).first
  @current_weixin_public_account.instance_eval do
    def aes_key
      WexinAdapter.decode64(encoding_aes_key)
    end
  end
  @current_weixin_public_account
end

#current_weixin_tokenObject



15
16
17
# File 'lib/weixin_rails_middleware/adapter/multiple_public_account.rb', line 15

def current_weixin_token
  .try(DEFAULT_TOKEN_COLUMN_NAME)
end

#error_msgObject



30
31
32
# File 'lib/weixin_rails_middleware/adapter/multiple_public_account.rb', line 30

def error_msg
  "#{__FILE__}:#{__LINE__}: RecordNotFound - Couldn't find #{self.class.token_model} with weixin_secret_key=#{weixin_secret_key}"
end

#is_weixin_secret_key_valid?Boolean

check the token from Weixin Service is exist in local store.

Returns:

  • (Boolean)


11
12
13
# File 'lib/weixin_rails_middleware/adapter/multiple_public_account.rb', line 11

def is_weixin_secret_key_valid?
  .present?
end