weixin_rails_middleware 1.1.1 → 1.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/generators/weixin_rails_middleware/migration_generator.rb +41 -1
- data/lib/weixin_rails_middleware.rb +1 -0
- data/lib/weixin_rails_middleware/engine.rb +0 -16
- data/lib/weixin_rails_middleware/helpers/auto_generate_weixin_token_secret_key.rb +20 -0
- data/lib/weixin_rails_middleware/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: da756c0c956a72e759c9ce775f7632ba43eb0ae4
|
4
|
+
data.tar.gz: a9a611e9c90db9a3a2b2a2493ea3e9b1b94ed8a9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c51ed60641ca6bba90b2c96e3d5ce145eb35f8b919a3feac03e814c549e5f45632e9e5552764784a61705c4cc80eb9b6ac495254d43eb5c01b5246e12fb18f7b
|
7
|
+
data.tar.gz: e68524e8cf517e9b1653957704368dced8922f8f95a30e99b0250babff6df016dddb217a825b297a24884adb2a36b0ce513a369c0790e96426fbc3f67589f938
|
@@ -7,7 +7,47 @@ module WeixinRailsMiddleware
|
|
7
7
|
|
8
8
|
desc 'Adds a Wexin Secret Key for your application.'
|
9
9
|
def create_migration_file
|
10
|
-
|
10
|
+
if !migration_exists?(table_name)
|
11
|
+
migration_template "add_weixin_secret_key_and_weixin_token_migration.rb", "db/migrate/add_weixin_secret_key_and_weixin_token_to_#{plural_name}.rb"
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def inject_model_content
|
16
|
+
|
17
|
+
content = <<-CONTENT
|
18
|
+
# It will auto generate weixin token and secret
|
19
|
+
include WeixinRailsMiddleware::AutoGenerateWeixinTokenSecretKey
|
20
|
+
|
21
|
+
CONTENT
|
22
|
+
|
23
|
+
class_path = if namespaced?
|
24
|
+
class_name.to_s.split("::")
|
25
|
+
else
|
26
|
+
[class_name]
|
27
|
+
end
|
28
|
+
|
29
|
+
indent_depth = class_path.size - 1
|
30
|
+
content = content.split("\n").map { |line| " " * indent_depth + line } .join("\n") << "\n"
|
31
|
+
|
32
|
+
inject_into_class(model_path, class_path.last, content) if model_exists?
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def model_exists?
|
38
|
+
File.exists?(File.join(destination_root, model_path))
|
39
|
+
end
|
40
|
+
|
41
|
+
def model_path
|
42
|
+
@model_path ||= File.join("app", "models", "#{file_path}.rb")
|
43
|
+
end
|
44
|
+
|
45
|
+
def migration_exists?(table_name)
|
46
|
+
Dir.glob("#{File.join(destination_root, migration_path)}/[0-9]*_*.rb").grep(/\d+_add_weixin_secret_key_and_weixin_token_to_#{table_name}.rb/).first
|
47
|
+
end
|
48
|
+
|
49
|
+
def migration_path
|
50
|
+
@migration_path ||= File.join("db", "migrate")
|
11
51
|
end
|
12
52
|
|
13
53
|
end
|
@@ -5,6 +5,7 @@ require "weixin_rails_middleware/models/reply_message"
|
|
5
5
|
require "weixin_rails_middleware/helpers/reply_weixin_message_helper"
|
6
6
|
require "weixin_rails_middleware/helpers/unique_token_helper"
|
7
7
|
require "weixin_rails_middleware/helpers/weixin_authorize_helper"
|
8
|
+
require "weixin_rails_middleware/helpers/auto_generate_weixin_token_secret_key"
|
8
9
|
|
9
10
|
module WeixinRailsMiddleware
|
10
11
|
|
@@ -5,21 +5,5 @@ module WeixinRailsMiddleware
|
|
5
5
|
isolate_namespace WeixinRailsMiddleware
|
6
6
|
engine_name :weixin_engine
|
7
7
|
|
8
|
-
config.after_initialize do
|
9
|
-
token_model_callback if token_model.present?
|
10
|
-
end
|
11
|
-
|
12
|
-
private
|
13
|
-
|
14
|
-
def token_model_callback
|
15
|
-
token_model_class.class_eval do
|
16
|
-
before_create do
|
17
|
-
# TODO: refactor
|
18
|
-
self.weixin_secret_key = WeiXinUniqueToken.generate(generator: :urlsafe_base64, size: 24) if weixin_secret_key.blank?
|
19
|
-
self.weixin_token = WeiXinUniqueToken.generate if weixin_token.blank?
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
8
|
end
|
25
9
|
end
|
@@ -0,0 +1,20 @@
|
|
1
|
+
module WeixinRailsMiddleware
|
2
|
+
module AutoGenerateWeixinTokenSecretKey
|
3
|
+
extend ActiveSupport::Concern
|
4
|
+
|
5
|
+
included do
|
6
|
+
|
7
|
+
before_create do
|
8
|
+
# TODO: refactor
|
9
|
+
self.weixin_secret_key = generate_weixin_secret_key
|
10
|
+
self.weixin_token = WeiXinUniqueToken.generate
|
11
|
+
end
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def generate_weixin_secret_key
|
17
|
+
WeiXinUniqueToken.generate(generator: :urlsafe_base64, size: 24)
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: weixin_rails_middleware
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- lanrion
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-03-
|
11
|
+
date: 2014-03-25 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: railties
|
@@ -114,6 +114,7 @@ files:
|
|
114
114
|
- lib/weixin_rails_middleware.rb
|
115
115
|
- lib/weixin_rails_middleware/configuration.rb
|
116
116
|
- lib/weixin_rails_middleware/engine.rb
|
117
|
+
- lib/weixin_rails_middleware/helpers/auto_generate_weixin_token_secret_key.rb
|
117
118
|
- lib/weixin_rails_middleware/helpers/reply_weixin_message_helper.rb
|
118
119
|
- lib/weixin_rails_middleware/helpers/unique_token_helper.rb
|
119
120
|
- lib/weixin_rails_middleware/helpers/weixin_authorize_helper.rb
|