Module: Wechat

Defined in:
lib/wechat.rb,
lib/wechat/api.rb,
lib/wechat/cipher.rb,
lib/wechat/client.rb,
lib/wechat/message.rb,
lib/wechat/api_base.rb,
lib/wechat/corp_api.rb,
lib/wechat/responder.rb,
lib/wechat/signature.rb,
lib/wechat/access_token.rb,
lib/wechat/jsapi_ticket.rb,
lib/generators/wechat/install_generator.rb

Defined Under Namespace

Modules: Cipher, Generators, Responder, Signature Classes: AccessToken, AccessTokenExpiredError, Api, ApiBase, Client, CorpAccessToken, CorpApi, JsapiTicket, Message, ResponseError

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Attribute Details

#configObject (readonly)

Returns the value of attribute config.



19
20
21
# File 'lib/wechat.rb', line 19

def config
  @config
end

Class Method Details

.apiObject



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

def self.api
  if config.corpid.present?
    @api ||= CorpApi.new(config.corpid, config.corpsecret, config.access_token, config.agentid, config.skip_verify_ssl)
  else
    @api ||= Api.new(config.appid, config.secret, config.access_token, config.skip_verify_ssl, config.jsapi_ticket)
  end
end

.configObject



21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/wechat.rb', line 21

def self.config
  @config ||= begin
    if defined? Rails
      config_file = Rails.root.join('config/wechat.yml')
      config = YAML.load(ERB.new(File.new(config_file).read).result)[Rails.env] if File.exist?(config_file)
    end

    config ||= config_from_environment
    config.symbolize_keys!
    config[:access_token] ||= Rails.root.join('tmp/access_token').to_s
    config[:jsapi_ticket] ||= Rails.root.join('tmp/jsapi_ticket').to_s
    OpenStruct.new(config)
  end
end