we_chat 0.5.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/README.rdoc +3 -0
- data/Rakefile +26 -0
- data/app/assets/javascripts/we_chat/application.js +13 -0
- data/app/assets/stylesheets/we_chat/application.css +15 -0
- data/app/controllers/we_chat/application_controller.rb +4 -0
- data/app/helpers/we_chat/application_helper.rb +4 -0
- data/app/views/layouts/we_chat/application.html.erb +14 -0
- data/config/routes.rb +4 -0
- data/lib/tasks/we_chat/access_token.rake +26 -0
- data/lib/we_chat/access_token.rb +56 -0
- data/lib/we_chat/acts_as_we_chat_entity.rb +72 -0
- data/lib/we_chat/category.rb +19 -0
- data/lib/we_chat/category_property.rb +20 -0
- data/lib/we_chat/category_property_item.rb +17 -0
- data/lib/we_chat/engine.rb +5 -0
- data/lib/we_chat/entity/base.rb +62 -0
- data/lib/we_chat/entity/creator.rb +67 -0
- data/lib/we_chat/entity/destroyer.rb +16 -0
- data/lib/we_chat/entity/identity_entity.rb +21 -0
- data/lib/we_chat/entity/named_entity.rb +21 -0
- data/lib/we_chat/entity/retriever.rb +21 -0
- data/lib/we_chat/error.rb +105 -0
- data/lib/we_chat/headers.rb +15 -0
- data/lib/we_chat/menu.rb +36 -0
- data/lib/we_chat/messaging/message.rb +46 -0
- data/lib/we_chat/messaging/message_validator.rb +15 -0
- data/lib/we_chat/messaging/responder.rb +92 -0
- data/lib/we_chat/multipart_ext.rb +12 -0
- data/lib/we_chat/product.rb +119 -0
- data/lib/we_chat/product_attribute.rb +23 -0
- data/lib/we_chat/rest/api.rb +17 -0
- data/lib/we_chat/rest/client.rb +41 -0
- data/lib/we_chat/rest/media.rb +18 -0
- data/lib/we_chat/rest/menu.rb +21 -0
- data/lib/we_chat/rest/request.rb +103 -0
- data/lib/we_chat/rest/store.rb +172 -0
- data/lib/we_chat/rest/template_message.rb +14 -0
- data/lib/we_chat/rest/user.rb +20 -0
- data/lib/we_chat/rest/utils.rb +27 -0
- data/lib/we_chat/sku.rb +55 -0
- data/lib/we_chat/sku_definition.rb +21 -0
- data/lib/we_chat/sku_definition_item.rb +17 -0
- data/lib/we_chat/subscriber.rb +32 -0
- data/lib/we_chat/symbolizable.rb +18 -0
- data/lib/we_chat/version.rb +3 -0
- data/lib/we_chat.rb +46 -0
- metadata +257 -0
@@ -0,0 +1,172 @@
|
|
1
|
+
require 'we_chat/rest/utils'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module REST
|
5
|
+
module Store
|
6
|
+
include WeChat::REST::Utils
|
7
|
+
|
8
|
+
# Products
|
9
|
+
#------------------------
|
10
|
+
|
11
|
+
def product_get(product_id)
|
12
|
+
perform_get('/merchant/get', {product_id: product_id})
|
13
|
+
end
|
14
|
+
|
15
|
+
def product_get_by_status(status)
|
16
|
+
perform_post('/merchant/getbystatus', {status: status})
|
17
|
+
end
|
18
|
+
|
19
|
+
def product_create(merchant)
|
20
|
+
perform_post('/merchant/create', merchant)
|
21
|
+
end
|
22
|
+
|
23
|
+
def product_delete(product_id)
|
24
|
+
perform_post('/merchant/del', {product_id: product_id})
|
25
|
+
end
|
26
|
+
|
27
|
+
def product_update(new_merchant)
|
28
|
+
perform_post('/merchant/update', new_merchant)
|
29
|
+
end
|
30
|
+
|
31
|
+
def product_modify_product_status(product_id, status)
|
32
|
+
perform_post('/merchant/modproductstatus', {product_id: product_id, status: status})
|
33
|
+
end
|
34
|
+
|
35
|
+
# Categories
|
36
|
+
#------------------------
|
37
|
+
|
38
|
+
def category_get_children(category_id)
|
39
|
+
perform_post '/merchant/category/getsub', { cate_id: category_id }
|
40
|
+
end
|
41
|
+
|
42
|
+
def category_get_sku_definitions(category_id)
|
43
|
+
perform_post '/merchant/category/getsku', { cate_id: category_id }
|
44
|
+
end
|
45
|
+
|
46
|
+
def category_get_properties(category_id)
|
47
|
+
perform_post '/merchant/category/getproperty', { cate_id: category_id }
|
48
|
+
end
|
49
|
+
|
50
|
+
# Stock
|
51
|
+
#------------------------
|
52
|
+
|
53
|
+
def stock_add(product_id, sku_info, quantity)
|
54
|
+
perform_post '/merchant/stock/add', { product_id: product_id, sku_info: sku_info, quantity: quantity}
|
55
|
+
end
|
56
|
+
|
57
|
+
def stock_reduce(product_id, sku_info, quantity)
|
58
|
+
perform_post '/merchant/stock/reduce', { product_id: product_id, sku_info: sku_info, quantity: quantity}
|
59
|
+
end
|
60
|
+
|
61
|
+
def stock_update(product_id, sku_info, original_quantity, new_quantity)
|
62
|
+
if new_quantity > original_quantity # Adding stock
|
63
|
+
stock_add(product_id, sku_info, new_quantity - original_quantity)
|
64
|
+
end
|
65
|
+
|
66
|
+
if new_quantity < original_quantity # Reducing stock
|
67
|
+
stock_reduce(product_id, sku_info, original_quantity - new_quantity)
|
68
|
+
end
|
69
|
+
end
|
70
|
+
|
71
|
+
# Delivery Template
|
72
|
+
#------------------------
|
73
|
+
|
74
|
+
def delivery_template_create(data)
|
75
|
+
perform_post 'merchant/express/add', data
|
76
|
+
end
|
77
|
+
|
78
|
+
def delivery_template_delete(template_id)
|
79
|
+
perform_post 'merchant/express/del', { template_id: template_id }
|
80
|
+
end
|
81
|
+
|
82
|
+
def delivery_template_update(new_data)
|
83
|
+
perform_post 'merchant/express/update', new_data
|
84
|
+
end
|
85
|
+
|
86
|
+
def delivery_template_get(template_id)
|
87
|
+
perform_post 'merchant/express/getbyid', { template_id: template_id }
|
88
|
+
end
|
89
|
+
|
90
|
+
def delivery_template_get_all
|
91
|
+
perform_post 'merchant/express/getall'
|
92
|
+
end
|
93
|
+
|
94
|
+
# Group
|
95
|
+
#------------------------
|
96
|
+
|
97
|
+
def group_create(data)
|
98
|
+
perform_post 'merchant/group/add', data
|
99
|
+
end
|
100
|
+
|
101
|
+
def group_delete(group_id)
|
102
|
+
perform_post 'merchant/group/del', { group_id: group_id }
|
103
|
+
end
|
104
|
+
|
105
|
+
def group_update(new_data)
|
106
|
+
perform_post 'merchant/group/propertymod', new_data
|
107
|
+
end
|
108
|
+
|
109
|
+
def group_product_update(data)
|
110
|
+
perform_post 'merchant/group/productmod', data
|
111
|
+
end
|
112
|
+
|
113
|
+
def group_get_all
|
114
|
+
perform_post 'merchant/group/getall'
|
115
|
+
end
|
116
|
+
|
117
|
+
def group_get(group_id)
|
118
|
+
perform_post 'merchant/group/getbyid', { group_id: group_id }
|
119
|
+
end
|
120
|
+
|
121
|
+
# Shelf
|
122
|
+
#------------------------
|
123
|
+
|
124
|
+
def shelf_create(data)
|
125
|
+
perform_post 'merchant/shelf/add', data
|
126
|
+
end
|
127
|
+
|
128
|
+
def shelf_delete(shelf_id)
|
129
|
+
perform_post 'merchant/shelf/del', { shelf_id: shelf_id }
|
130
|
+
end
|
131
|
+
|
132
|
+
def shelf_update(new_data)
|
133
|
+
perform_post 'merchant/shelf/mod', new_data
|
134
|
+
end
|
135
|
+
|
136
|
+
def shelf_get_all
|
137
|
+
perform_post 'merchant/shelf/getall'
|
138
|
+
end
|
139
|
+
|
140
|
+
def shelf_get(shelf_id)
|
141
|
+
perform_post 'merchant/shelf/getbyid', { shelf_id: shelf_id }
|
142
|
+
end
|
143
|
+
|
144
|
+
# Order
|
145
|
+
#------------------------
|
146
|
+
|
147
|
+
def order_get(order_id)
|
148
|
+
perform_post 'merchant/order/getbyid', {order_id: order_id}
|
149
|
+
end
|
150
|
+
|
151
|
+
def order_get_by_filter(filter)
|
152
|
+
perform_post 'merchant/order/getbyfilter', filter
|
153
|
+
end
|
154
|
+
|
155
|
+
def order_set_delivery(data)
|
156
|
+
perform_post 'merchant/order/setdelivery', data
|
157
|
+
end
|
158
|
+
|
159
|
+
def order_close(order_id)
|
160
|
+
perform_post 'merchant/order/close', {order_id: order_id}
|
161
|
+
end
|
162
|
+
|
163
|
+
# Misc
|
164
|
+
#------------------------
|
165
|
+
|
166
|
+
def store_upload_image(file_path, file_name)
|
167
|
+
perform_multipart_post('/merchant/common/upload_img', { key: 'media', file: file_path, params: { filename: file_name } })
|
168
|
+
end
|
169
|
+
|
170
|
+
end
|
171
|
+
end
|
172
|
+
end
|
@@ -0,0 +1,14 @@
|
|
1
|
+
require 'we_chat/rest/utils'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module REST
|
5
|
+
module TemplateMessage
|
6
|
+
include WeChat::REST::Utils
|
7
|
+
|
8
|
+
def add_template(template_id_short)
|
9
|
+
perform_post('/template/api_add_template', {template_id_short: template_id_short})
|
10
|
+
end
|
11
|
+
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
require 'we_chat/rest/utils'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module REST
|
5
|
+
module User
|
6
|
+
include WeChat::REST::Utils
|
7
|
+
|
8
|
+
def user_get(next_openid = nil)
|
9
|
+
options = {}
|
10
|
+
options.merge!(params: {next_openid: next_openid}) unless next_openid.nil?
|
11
|
+
perform_get('/user/get', options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def user_info(openid)
|
15
|
+
perform_get('/user/info', params: {openid: openid})
|
16
|
+
end
|
17
|
+
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
@@ -0,0 +1,27 @@
|
|
1
|
+
require 'we_chat/rest/request'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module REST
|
5
|
+
module Utils
|
6
|
+
|
7
|
+
private
|
8
|
+
|
9
|
+
def perform_get(path, options={})
|
10
|
+
perform_request(:get, path, options)
|
11
|
+
end
|
12
|
+
|
13
|
+
def perform_post(path, options={})
|
14
|
+
perform_request(:post, path, options)
|
15
|
+
end
|
16
|
+
|
17
|
+
def perform_request(request_method, path, options={})
|
18
|
+
WeChat::REST::Request.new(self, request_method, path, options).perform
|
19
|
+
end
|
20
|
+
|
21
|
+
def perform_multipart_post(path, options={})
|
22
|
+
perform_request(:multipart_post, path, options)
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/we_chat/sku.rb
ADDED
@@ -0,0 +1,55 @@
|
|
1
|
+
require 'we_chat/entity/base'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module Sku
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
include WeChat::Entity::Base
|
7
|
+
|
8
|
+
CHILDREN = {sku_definition_item: nil}.freeze
|
9
|
+
|
10
|
+
def to_we_chat_data
|
11
|
+
we_chat_data = {}
|
12
|
+
we_chat_data[:sku_id] = self.we_chat_id
|
13
|
+
we_chat_data[:price] = self.price
|
14
|
+
we_chat_data[:quantity] = self.quantity
|
15
|
+
we_chat_data[:icon_url] = self.icon_url
|
16
|
+
we_chat_data[:product_code] = self.product_code
|
17
|
+
we_chat_data[:ori_price] = self.original_price
|
18
|
+
|
19
|
+
we_chat_data
|
20
|
+
end
|
21
|
+
|
22
|
+
included do
|
23
|
+
end
|
24
|
+
|
25
|
+
module ClassMethods
|
26
|
+
|
27
|
+
def prepare_instance_data(data)
|
28
|
+
result = {}
|
29
|
+
result[:we_chat_id] = data[:sku_id]
|
30
|
+
result[:price] = data[:price]
|
31
|
+
result[:icon_url] = data[:icon_url]
|
32
|
+
result[:quantity] = data[:quantity]
|
33
|
+
result[:product_code] = data[:product_code]
|
34
|
+
result[:original_price] = data[:ori_price]
|
35
|
+
result
|
36
|
+
end
|
37
|
+
|
38
|
+
def prepare_children(instance, data)
|
39
|
+
|
40
|
+
definition = children_definition[:sku_definition_item]
|
41
|
+
|
42
|
+
data[:sku_id].split(';').each do |sku_id|
|
43
|
+
sku_ids = sku_id.split(':')
|
44
|
+
sku_definite_we_chat_id = sku_ids[0]
|
45
|
+
sku_definition_item_we_chat_id = sku_ids[1]
|
46
|
+
child_instance = definition[:klass].find_by_we_chat_id(sku_definition_item_we_chat_id)
|
47
|
+
instance.send(definition[:method]) << child_instance if child_instance
|
48
|
+
end
|
49
|
+
|
50
|
+
instance
|
51
|
+
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,21 @@
|
|
1
|
+
require 'we_chat/entity/named_entity'
|
2
|
+
require 'we_chat/entity/identity_entity'
|
3
|
+
|
4
|
+
module WeChat
|
5
|
+
module SkuDefinition
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
include WeChat::Entity::NamedEntity
|
8
|
+
include WeChat::Entity::IdentityEntity
|
9
|
+
|
10
|
+
CHILDREN = {
|
11
|
+
sku_definition_item: :value_list
|
12
|
+
}
|
13
|
+
|
14
|
+
included do
|
15
|
+
end
|
16
|
+
|
17
|
+
module ClassMethods
|
18
|
+
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require 'we_chat/entity/named_entity'
|
2
|
+
require 'we_chat/entity/identity_entity'
|
3
|
+
|
4
|
+
module WeChat
|
5
|
+
module SkuDefinitionItem
|
6
|
+
extend ActiveSupport::Concern
|
7
|
+
include WeChat::Entity::NamedEntity
|
8
|
+
include WeChat::Entity::IdentityEntity
|
9
|
+
|
10
|
+
included do
|
11
|
+
end
|
12
|
+
|
13
|
+
module ClassMethods
|
14
|
+
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,32 @@
|
|
1
|
+
require 'we_chat/entity/base'
|
2
|
+
|
3
|
+
module WeChat
|
4
|
+
module Subscriber
|
5
|
+
extend ActiveSupport::Concern
|
6
|
+
include WeChat::Entity::Base
|
7
|
+
|
8
|
+
included do
|
9
|
+
|
10
|
+
end
|
11
|
+
|
12
|
+
module ClassMethods
|
13
|
+
|
14
|
+
def prepare_instance_data(data)
|
15
|
+
result = {}
|
16
|
+
result[:we_chat_id] = data[:openid]
|
17
|
+
result[:name] = data[:nickname]
|
18
|
+
result[:gender] = data[:sex]
|
19
|
+
result[:language] = data[:language]
|
20
|
+
result[:city] = data[:city]
|
21
|
+
result[:province] = data[:province]
|
22
|
+
result[:country] = data[:country]
|
23
|
+
result[:we_chat_avatar_url] = data[:headimgurl]
|
24
|
+
result[:we_chat_followed_at] = Time.at(data[:subscribe_time].to_i)
|
25
|
+
result[:we_chat_union_id] = data[:unionid]
|
26
|
+
result[:we_chat_open_id] = data[:openid]
|
27
|
+
result
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
@@ -0,0 +1,18 @@
|
|
1
|
+
module WeChat
|
2
|
+
module Symbolizable
|
3
|
+
|
4
|
+
private
|
5
|
+
def symbolize_keys!(object)
|
6
|
+
if object.is_a?(Array)
|
7
|
+
object.each_with_index do |val, index|
|
8
|
+
object[index] = symbolize_keys!(val)
|
9
|
+
end
|
10
|
+
elsif object.is_a?(Hash)
|
11
|
+
object.keys.each do |key|
|
12
|
+
object[key.to_sym] = symbolize_keys!(object.delete(key))
|
13
|
+
end
|
14
|
+
end
|
15
|
+
object
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
data/lib/we_chat.rb
ADDED
@@ -0,0 +1,46 @@
|
|
1
|
+
require 'we_chat/messaging/message'
|
2
|
+
require 'we_chat/messaging/message_validator'
|
3
|
+
require 'we_chat/messaging/responder'
|
4
|
+
require 'we_chat/rest/client'
|
5
|
+
require 'we_chat/access_token'
|
6
|
+
|
7
|
+
require 'we_chat/acts_as_we_chat_entity'
|
8
|
+
|
9
|
+
require 'we_chat/version'
|
10
|
+
require "we_chat/engine"
|
11
|
+
|
12
|
+
module WeChat
|
13
|
+
|
14
|
+
class Engine < ::Rails::Engine
|
15
|
+
isolate_namespace WeChat
|
16
|
+
|
17
|
+
config.generators do |config|
|
18
|
+
config.test_framework :rspec
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
# WeChat API base url
|
23
|
+
mattr_accessor :wechat_api_base_url
|
24
|
+
@@wechat_api_base_url = 'https://api.weixin.qq.com/cgi-bin'
|
25
|
+
|
26
|
+
# AppId of WeChat API
|
27
|
+
mattr_accessor :wechat_appid
|
28
|
+
@@wechat_appid = ''
|
29
|
+
|
30
|
+
# App secret of WeChat API
|
31
|
+
mattr_accessor :wechat_secret
|
32
|
+
@@wechat_secret = ''
|
33
|
+
|
34
|
+
# Message token of WeChat API
|
35
|
+
mattr_accessor :wechat_token
|
36
|
+
@@wechat_token = ''
|
37
|
+
|
38
|
+
# The default WeChat API access token file path
|
39
|
+
mattr_accessor :wechat_access_token_file_path
|
40
|
+
@@wechat_access_token_file_path = 'public/system/wechat_access_token'
|
41
|
+
|
42
|
+
def self.setup
|
43
|
+
yield self
|
44
|
+
end
|
45
|
+
|
46
|
+
end
|
metadata
ADDED
@@ -0,0 +1,257 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: we_chat
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.5.15
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- babaru
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2015-04-06 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rails
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: 4.2.0
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: 4.2.0
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: http
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - '='
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: 0.7.2
|
34
|
+
type: :runtime
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - '='
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: 0.7.2
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: addressable
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: activesupport
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '4.2'
|
62
|
+
type: :runtime
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '4.2'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: rake
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sqlite3
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rspec-rails
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - '='
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: 3.2.1
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - '='
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: 3.2.1
|
111
|
+
- !ruby/object:Gem::Dependency
|
112
|
+
name: autotest-rails
|
113
|
+
requirement: !ruby/object:Gem::Requirement
|
114
|
+
requirements:
|
115
|
+
- - '='
|
116
|
+
- !ruby/object:Gem::Version
|
117
|
+
version: 4.2.1
|
118
|
+
type: :development
|
119
|
+
prerelease: false
|
120
|
+
version_requirements: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - '='
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: 4.2.1
|
125
|
+
- !ruby/object:Gem::Dependency
|
126
|
+
name: rspec-autotest
|
127
|
+
requirement: !ruby/object:Gem::Requirement
|
128
|
+
requirements:
|
129
|
+
- - '='
|
130
|
+
- !ruby/object:Gem::Version
|
131
|
+
version: 1.0.0
|
132
|
+
type: :development
|
133
|
+
prerelease: false
|
134
|
+
version_requirements: !ruby/object:Gem::Requirement
|
135
|
+
requirements:
|
136
|
+
- - '='
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 1.0.0
|
139
|
+
- !ruby/object:Gem::Dependency
|
140
|
+
name: webmock
|
141
|
+
requirement: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - '='
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 1.20.4
|
146
|
+
type: :development
|
147
|
+
prerelease: false
|
148
|
+
version_requirements: !ruby/object:Gem::Requirement
|
149
|
+
requirements:
|
150
|
+
- - '='
|
151
|
+
- !ruby/object:Gem::Version
|
152
|
+
version: 1.20.4
|
153
|
+
- !ruby/object:Gem::Dependency
|
154
|
+
name: simplecov
|
155
|
+
requirement: !ruby/object:Gem::Requirement
|
156
|
+
requirements:
|
157
|
+
- - ">="
|
158
|
+
- !ruby/object:Gem::Version
|
159
|
+
version: '0'
|
160
|
+
type: :development
|
161
|
+
prerelease: false
|
162
|
+
version_requirements: !ruby/object:Gem::Requirement
|
163
|
+
requirements:
|
164
|
+
- - ">="
|
165
|
+
- !ruby/object:Gem::Version
|
166
|
+
version: '0'
|
167
|
+
- !ruby/object:Gem::Dependency
|
168
|
+
name: factory_girl_rails
|
169
|
+
requirement: !ruby/object:Gem::Requirement
|
170
|
+
requirements:
|
171
|
+
- - ">="
|
172
|
+
- !ruby/object:Gem::Version
|
173
|
+
version: '0'
|
174
|
+
type: :development
|
175
|
+
prerelease: false
|
176
|
+
version_requirements: !ruby/object:Gem::Requirement
|
177
|
+
requirements:
|
178
|
+
- - ">="
|
179
|
+
- !ruby/object:Gem::Version
|
180
|
+
version: '0'
|
181
|
+
description: A rails plugin gem for WeChat API
|
182
|
+
email:
|
183
|
+
- babaru.trinit@gmail.com
|
184
|
+
executables: []
|
185
|
+
extensions: []
|
186
|
+
extra_rdoc_files: []
|
187
|
+
files:
|
188
|
+
- README.rdoc
|
189
|
+
- Rakefile
|
190
|
+
- app/assets/javascripts/we_chat/application.js
|
191
|
+
- app/assets/stylesheets/we_chat/application.css
|
192
|
+
- app/controllers/we_chat/application_controller.rb
|
193
|
+
- app/helpers/we_chat/application_helper.rb
|
194
|
+
- app/views/layouts/we_chat/application.html.erb
|
195
|
+
- config/routes.rb
|
196
|
+
- lib/tasks/we_chat/access_token.rake
|
197
|
+
- lib/we_chat.rb
|
198
|
+
- lib/we_chat/access_token.rb
|
199
|
+
- lib/we_chat/acts_as_we_chat_entity.rb
|
200
|
+
- lib/we_chat/category.rb
|
201
|
+
- lib/we_chat/category_property.rb
|
202
|
+
- lib/we_chat/category_property_item.rb
|
203
|
+
- lib/we_chat/engine.rb
|
204
|
+
- lib/we_chat/entity/base.rb
|
205
|
+
- lib/we_chat/entity/creator.rb
|
206
|
+
- lib/we_chat/entity/destroyer.rb
|
207
|
+
- lib/we_chat/entity/identity_entity.rb
|
208
|
+
- lib/we_chat/entity/named_entity.rb
|
209
|
+
- lib/we_chat/entity/retriever.rb
|
210
|
+
- lib/we_chat/error.rb
|
211
|
+
- lib/we_chat/headers.rb
|
212
|
+
- lib/we_chat/menu.rb
|
213
|
+
- lib/we_chat/messaging/message.rb
|
214
|
+
- lib/we_chat/messaging/message_validator.rb
|
215
|
+
- lib/we_chat/messaging/responder.rb
|
216
|
+
- lib/we_chat/multipart_ext.rb
|
217
|
+
- lib/we_chat/product.rb
|
218
|
+
- lib/we_chat/product_attribute.rb
|
219
|
+
- lib/we_chat/rest/api.rb
|
220
|
+
- lib/we_chat/rest/client.rb
|
221
|
+
- lib/we_chat/rest/media.rb
|
222
|
+
- lib/we_chat/rest/menu.rb
|
223
|
+
- lib/we_chat/rest/request.rb
|
224
|
+
- lib/we_chat/rest/store.rb
|
225
|
+
- lib/we_chat/rest/template_message.rb
|
226
|
+
- lib/we_chat/rest/user.rb
|
227
|
+
- lib/we_chat/rest/utils.rb
|
228
|
+
- lib/we_chat/sku.rb
|
229
|
+
- lib/we_chat/sku_definition.rb
|
230
|
+
- lib/we_chat/sku_definition_item.rb
|
231
|
+
- lib/we_chat/subscriber.rb
|
232
|
+
- lib/we_chat/symbolizable.rb
|
233
|
+
- lib/we_chat/version.rb
|
234
|
+
homepage: https://github.com/babaru/we_chat
|
235
|
+
licenses: []
|
236
|
+
metadata: {}
|
237
|
+
post_install_message:
|
238
|
+
rdoc_options: []
|
239
|
+
require_paths:
|
240
|
+
- lib
|
241
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
242
|
+
requirements:
|
243
|
+
- - ">="
|
244
|
+
- !ruby/object:Gem::Version
|
245
|
+
version: '0'
|
246
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: '0'
|
251
|
+
requirements: []
|
252
|
+
rubyforge_project:
|
253
|
+
rubygems_version: 2.4.5
|
254
|
+
signing_key:
|
255
|
+
specification_version: 4
|
256
|
+
summary: WeChat API rails plugin gem
|
257
|
+
test_files: []
|