weixin_pam 0.0.1

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.
Files changed (114) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/README.md +165 -0
  4. data/Rakefile +37 -0
  5. data/app/assets/javascripts/jquery-sortable.js +699 -0
  6. data/app/assets/javascripts/weixin_pam/application.js +30 -0
  7. data/app/assets/javascripts/weixin_pam/diymenus.js +90 -0
  8. data/app/assets/javascripts/weixin_pam/public_accounts.js +2 -0
  9. data/app/assets/javascripts/weixin_pam/user_accounts.js +23 -0
  10. data/app/assets/stylesheets/weixin_pam/application.scss +31 -0
  11. data/app/assets/stylesheets/weixin_pam/diymenus.scss +52 -0
  12. data/app/assets/stylesheets/weixin_pam/jquery-dragable.scss +26 -0
  13. data/app/assets/stylesheets/weixin_pam/public_accounts.css +4 -0
  14. data/app/assets/stylesheets/weixin_pam/user_accounts.css +4 -0
  15. data/app/controllers/weixin_pam/application_controller.rb +4 -0
  16. data/app/controllers/weixin_pam/diymenus_controller.rb +100 -0
  17. data/app/controllers/weixin_pam/public_accounts_controller.rb +62 -0
  18. data/app/controllers/weixin_pam/user_accounts_controller.rb +76 -0
  19. data/app/decorators/controllers/weixin_rails_middleware/weixin_controller_decorator.rb +31 -0
  20. data/app/helpers/weixin_pam/application_helper.rb +18 -0
  21. data/app/helpers/weixin_pam/diymenus_helper.rb +4 -0
  22. data/app/helpers/weixin_pam/public_accounts_helper.rb +4 -0
  23. data/app/helpers/weixin_pam/user_accounts_helper.rb +4 -0
  24. data/app/models/weixin_pam/diymenu.rb +58 -0
  25. data/app/models/weixin_pam/public_account.rb +87 -0
  26. data/app/models/weixin_pam/user_account.rb +67 -0
  27. data/app/views/layouts/weixin_pam/_nav_bar.html.erb +37 -0
  28. data/app/views/layouts/weixin_pam/application.html.erb +26 -0
  29. data/app/views/weixin_pam/diymenus/_form.html.erb +18 -0
  30. data/app/views/weixin_pam/diymenus/edit.html.erb +3 -0
  31. data/app/views/weixin_pam/diymenus/index.html.slim +32 -0
  32. data/app/views/weixin_pam/diymenus/new.html.erb +3 -0
  33. data/app/views/weixin_pam/public_accounts/_form.html.erb +12 -0
  34. data/app/views/weixin_pam/public_accounts/edit.html.erb +3 -0
  35. data/app/views/weixin_pam/public_accounts/index.html.erb +30 -0
  36. data/app/views/weixin_pam/public_accounts/new.html.erb +3 -0
  37. data/app/views/weixin_pam/public_accounts/show.html.erb +17 -0
  38. data/app/views/weixin_pam/user_accounts/_form.html.erb +37 -0
  39. data/app/views/weixin_pam/user_accounts/edit.html.erb +6 -0
  40. data/app/views/weixin_pam/user_accounts/index.html.slim +25 -0
  41. data/app/views/weixin_pam/user_accounts/new.html.erb +5 -0
  42. data/app/views/weixin_pam/user_accounts/show.html.erb +29 -0
  43. data/config/initializers/simple_form.rb +165 -0
  44. data/config/initializers/simple_form_bootstrap.rb +149 -0
  45. data/config/initializers/weixin_rails_middleware.rb +27 -0
  46. data/config/locales/diymenu.zh-CN.yml +9 -0
  47. data/config/locales/public_account.zh-CN.yml +16 -0
  48. data/config/locales/simple_form.en.yml +31 -0
  49. data/config/locales/user_account.zh-CN.yml +13 -0
  50. data/config/routes.rb +17 -0
  51. data/db/migrate/20151211153307_create_weixin_pam_public_accounts.rb +14 -0
  52. data/db/migrate/20151211153353_create_weixin_pam_user_accounts.rb +19 -0
  53. data/db/migrate/20151212152624_create_weixin_pam_diymenus.rb +18 -0
  54. data/db/migrate/20151215140830_add_weixin_secret_key_and_weixin_token_to_public_accounts.rb +13 -0
  55. data/db/migrate/20151218053505_add_host_to_weixin_pam_public_account.rb +6 -0
  56. data/lib/tasks/weixin_pam_tasks.rake +4 -0
  57. data/lib/templates/erb/scaffold/_form.html.erb +13 -0
  58. data/lib/weixin_pam.rb +3 -0
  59. data/lib/weixin_pam/api_error.rb +3 -0
  60. data/lib/weixin_pam/api_error/failed_result.rb +11 -0
  61. data/lib/weixin_pam/engine.rb +24 -0
  62. data/lib/weixin_pam/public_account_reply.rb +222 -0
  63. data/lib/weixin_pam/version.rb +3 -0
  64. data/test/controllers/weixin_pam/diymenus_controller_test.rb +52 -0
  65. data/test/controllers/weixin_pam/public_accounts_controller_test.rb +52 -0
  66. data/test/controllers/weixin_pam/user_accounts_controller_test.rb +52 -0
  67. data/test/dummy/README.rdoc +28 -0
  68. data/test/dummy/Rakefile +6 -0
  69. data/test/dummy/app/assets/javascripts/application.js +13 -0
  70. data/test/dummy/app/assets/stylesheets/application.css +15 -0
  71. data/test/dummy/app/controllers/application_controller.rb +5 -0
  72. data/test/dummy/app/helpers/application_helper.rb +2 -0
  73. data/test/dummy/app/views/layouts/application.html.erb +14 -0
  74. data/test/dummy/bin/bundle +3 -0
  75. data/test/dummy/bin/rails +4 -0
  76. data/test/dummy/bin/rake +4 -0
  77. data/test/dummy/bin/setup +29 -0
  78. data/test/dummy/config.ru +4 -0
  79. data/test/dummy/config/application.rb +26 -0
  80. data/test/dummy/config/boot.rb +5 -0
  81. data/test/dummy/config/database.yml +25 -0
  82. data/test/dummy/config/environment.rb +5 -0
  83. data/test/dummy/config/environments/development.rb +41 -0
  84. data/test/dummy/config/environments/production.rb +79 -0
  85. data/test/dummy/config/environments/test.rb +42 -0
  86. data/test/dummy/config/initializers/assets.rb +11 -0
  87. data/test/dummy/config/initializers/backtrace_silencers.rb +7 -0
  88. data/test/dummy/config/initializers/cookies_serializer.rb +3 -0
  89. data/test/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  90. data/test/dummy/config/initializers/inflections.rb +16 -0
  91. data/test/dummy/config/initializers/mime_types.rb +4 -0
  92. data/test/dummy/config/initializers/session_store.rb +3 -0
  93. data/test/dummy/config/initializers/wrap_parameters.rb +14 -0
  94. data/test/dummy/config/locales/en.yml +23 -0
  95. data/test/dummy/config/routes.rb +4 -0
  96. data/test/dummy/config/secrets.yml +22 -0
  97. data/test/dummy/db/development.sqlite3 +0 -0
  98. data/test/dummy/db/schema.rb +60 -0
  99. data/test/dummy/db/test.sqlite3 +0 -0
  100. data/test/dummy/log/development.log +594 -0
  101. data/test/dummy/public/404.html +67 -0
  102. data/test/dummy/public/422.html +67 -0
  103. data/test/dummy/public/500.html +66 -0
  104. data/test/dummy/public/favicon.ico +0 -0
  105. data/test/fixtures/weixin_pam/diymenus.yml +19 -0
  106. data/test/fixtures/weixin_pam/public_accounts.yml +17 -0
  107. data/test/fixtures/weixin_pam/user_accounts.yml +15 -0
  108. data/test/integration/navigation_test.rb +8 -0
  109. data/test/models/weixin_pam/diymenu_test.rb +9 -0
  110. data/test/models/weixin_pam/public_account_test.rb +9 -0
  111. data/test/models/weixin_pam/user_account_test.rb +9 -0
  112. data/test/test_helper.rb +21 -0
  113. data/test/weixin_pam_test.rb +7 -0
  114. metadata +374 -0
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The page you were looking for doesn't exist (404)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/404.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The page you were looking for doesn't exist.</h1>
62
+ <p>You may have mistyped the address or the page may have moved.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,67 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/422.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>The change you wanted was rejected.</h1>
62
+ <p>Maybe you tried to change something you didn't have access to.</p>
63
+ </div>
64
+ <p>If you are the application owner check the logs for more information.</p>
65
+ </div>
66
+ </body>
67
+ </html>
@@ -0,0 +1,66 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <meta name="viewport" content="width=device-width,initial-scale=1">
6
+ <style>
7
+ body {
8
+ background-color: #EFEFEF;
9
+ color: #2E2F30;
10
+ text-align: center;
11
+ font-family: arial, sans-serif;
12
+ margin: 0;
13
+ }
14
+
15
+ div.dialog {
16
+ width: 95%;
17
+ max-width: 33em;
18
+ margin: 4em auto 0;
19
+ }
20
+
21
+ div.dialog > div {
22
+ border: 1px solid #CCC;
23
+ border-right-color: #999;
24
+ border-left-color: #999;
25
+ border-bottom-color: #BBB;
26
+ border-top: #B00100 solid 4px;
27
+ border-top-left-radius: 9px;
28
+ border-top-right-radius: 9px;
29
+ background-color: white;
30
+ padding: 7px 12% 0;
31
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
32
+ }
33
+
34
+ h1 {
35
+ font-size: 100%;
36
+ color: #730E15;
37
+ line-height: 1.5em;
38
+ }
39
+
40
+ div.dialog > p {
41
+ margin: 0 0 1em;
42
+ padding: 1em;
43
+ background-color: #F7F7F7;
44
+ border: 1px solid #CCC;
45
+ border-right-color: #999;
46
+ border-left-color: #999;
47
+ border-bottom-color: #999;
48
+ border-bottom-left-radius: 4px;
49
+ border-bottom-right-radius: 4px;
50
+ border-top-color: #DADADA;
51
+ color: #666;
52
+ box-shadow: 0 3px 8px rgba(50, 50, 50, 0.17);
53
+ }
54
+ </style>
55
+ </head>
56
+
57
+ <body>
58
+ <!-- This file lives in public/500.html -->
59
+ <div class="dialog">
60
+ <div>
61
+ <h1>We're sorry, but something went wrong.</h1>
62
+ </div>
63
+ <p>If you are the application owner check the logs for more information.</p>
64
+ </div>
65
+ </body>
66
+ </html>
File without changes
@@ -0,0 +1,19 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ public_account_id:
5
+ parent_id:
6
+ name: MyString
7
+ key: MyString
8
+ url: MyString
9
+ is_show: false
10
+ sort: 1
11
+
12
+ two:
13
+ public_account_id:
14
+ parent_id:
15
+ name: MyString
16
+ key: MyString
17
+ url: MyString
18
+ is_show: false
19
+ sort: 1
@@ -0,0 +1,17 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ name: MyString
5
+ app_id: MyString
6
+ app_secret: MyString
7
+ api_url: MyString
8
+ api_token: MyString
9
+ enabled: false
10
+
11
+ two:
12
+ name: MyString
13
+ app_id: MyString
14
+ app_secret: MyString
15
+ api_url: MyString
16
+ api_token: MyString
17
+ enabled: false
@@ -0,0 +1,15 @@
1
+ # Read about fixtures at http://api.rubyonrails.org/classes/ActiveRecord/FixtureSet.html
2
+
3
+ one:
4
+ public_account_id:
5
+ uid: MyString
6
+ nickname: MyString
7
+ headshot: MyString
8
+ subscribed: false
9
+
10
+ two:
11
+ public_account_id:
12
+ uid: MyString
13
+ nickname: MyString
14
+ headshot: MyString
15
+ subscribed: false
@@ -0,0 +1,8 @@
1
+ require 'test_helper'
2
+
3
+ class NavigationTest < ActionDispatch::IntegrationTest
4
+ # test "the truth" do
5
+ # assert true
6
+ # end
7
+ end
8
+
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module WeixinPam
4
+ class DiymenuTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module WeixinPam
4
+ class PublicAccountTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,9 @@
1
+ require 'test_helper'
2
+
3
+ module WeixinPam
4
+ class UserAccountTest < ActiveSupport::TestCase
5
+ # test "the truth" do
6
+ # assert true
7
+ # end
8
+ end
9
+ end
@@ -0,0 +1,21 @@
1
+ # Configure Rails Environment
2
+ ENV["RAILS_ENV"] = "test"
3
+
4
+ require File.expand_path("../../test/dummy/config/environment.rb", __FILE__)
5
+ ActiveRecord::Migrator.migrations_paths = [File.expand_path("../../test/dummy/db/migrate", __FILE__)]
6
+ ActiveRecord::Migrator.migrations_paths << File.expand_path('../../db/migrate', __FILE__)
7
+ require "rails/test_help"
8
+
9
+ # Filter out Minitest backtrace while allowing backtrace from other libraries
10
+ # to be shown.
11
+ Minitest.backtrace_filter = Minitest::BacktraceFilter.new
12
+
13
+ # Load support files
14
+ Dir["#{File.dirname(__FILE__)}/support/**/*.rb"].each { |f| require f }
15
+
16
+ # Load fixtures from the engine
17
+ if ActiveSupport::TestCase.respond_to?(:fixture_path=)
18
+ ActiveSupport::TestCase.fixture_path = File.expand_path("../fixtures", __FILE__)
19
+ ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path
20
+ ActiveSupport::TestCase.fixtures :all
21
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class WeixinPamTest < ActiveSupport::TestCase
4
+ test "truth" do
5
+ assert_kind_of Module, WeixinPam
6
+ end
7
+ end
metadata ADDED
@@ -0,0 +1,374 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: weixin_pam
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - xiaohui
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-12-29 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.5
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.5
27
+ - !ruby/object:Gem::Dependency
28
+ name: bootstrap-sass
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ~>
32
+ - !ruby/object:Gem::Version
33
+ version: 3.3.6
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ~>
39
+ - !ruby/object:Gem::Version
40
+ version: 3.3.6
41
+ - !ruby/object:Gem::Dependency
42
+ name: sass-rails
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - '>='
46
+ - !ruby/object:Gem::Version
47
+ version: '3.2'
48
+ type: :runtime
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - '>='
53
+ - !ruby/object:Gem::Version
54
+ version: '3.2'
55
+ - !ruby/object:Gem::Dependency
56
+ name: rails-i18n
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 4.0.0
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ~>
67
+ - !ruby/object:Gem::Version
68
+ version: 4.0.0
69
+ - !ruby/object:Gem::Dependency
70
+ name: font-awesome-rails
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :runtime
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: simple_form
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ~>
88
+ - !ruby/object:Gem::Version
89
+ version: 3.2.0
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ~>
95
+ - !ruby/object:Gem::Version
96
+ version: 3.2.0
97
+ - !ruby/object:Gem::Dependency
98
+ name: sprockets-rails
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - '>'
102
+ - !ruby/object:Gem::Version
103
+ version: 2.1.4
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - '>'
109
+ - !ruby/object:Gem::Version
110
+ version: 2.1.4
111
+ - !ruby/object:Gem::Dependency
112
+ name: jquery-turbolinks
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - '>='
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - '>='
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: weixin_authorize
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - '>='
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - '>='
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: weixin_rails_middleware
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - '>='
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - '>='
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: redis-namespace
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - '>='
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
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: sqlite3
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: With this engine, you can manage multiple Weixin Public Accounts
182
+ email:
183
+ - xiaohui@zhangxh.net
184
+ executables: []
185
+ extensions: []
186
+ extra_rdoc_files: []
187
+ files:
188
+ - MIT-LICENSE
189
+ - README.md
190
+ - Rakefile
191
+ - app/assets/javascripts/jquery-sortable.js
192
+ - app/assets/javascripts/weixin_pam/application.js
193
+ - app/assets/javascripts/weixin_pam/diymenus.js
194
+ - app/assets/javascripts/weixin_pam/public_accounts.js
195
+ - app/assets/javascripts/weixin_pam/user_accounts.js
196
+ - app/assets/stylesheets/weixin_pam/application.scss
197
+ - app/assets/stylesheets/weixin_pam/diymenus.scss
198
+ - app/assets/stylesheets/weixin_pam/jquery-dragable.scss
199
+ - app/assets/stylesheets/weixin_pam/public_accounts.css
200
+ - app/assets/stylesheets/weixin_pam/user_accounts.css
201
+ - app/controllers/weixin_pam/application_controller.rb
202
+ - app/controllers/weixin_pam/diymenus_controller.rb
203
+ - app/controllers/weixin_pam/public_accounts_controller.rb
204
+ - app/controllers/weixin_pam/user_accounts_controller.rb
205
+ - app/decorators/controllers/weixin_rails_middleware/weixin_controller_decorator.rb
206
+ - app/helpers/weixin_pam/application_helper.rb
207
+ - app/helpers/weixin_pam/diymenus_helper.rb
208
+ - app/helpers/weixin_pam/public_accounts_helper.rb
209
+ - app/helpers/weixin_pam/user_accounts_helper.rb
210
+ - app/models/weixin_pam/diymenu.rb
211
+ - app/models/weixin_pam/public_account.rb
212
+ - app/models/weixin_pam/user_account.rb
213
+ - app/views/layouts/weixin_pam/_nav_bar.html.erb
214
+ - app/views/layouts/weixin_pam/application.html.erb
215
+ - app/views/weixin_pam/diymenus/_form.html.erb
216
+ - app/views/weixin_pam/diymenus/edit.html.erb
217
+ - app/views/weixin_pam/diymenus/index.html.slim
218
+ - app/views/weixin_pam/diymenus/new.html.erb
219
+ - app/views/weixin_pam/public_accounts/_form.html.erb
220
+ - app/views/weixin_pam/public_accounts/edit.html.erb
221
+ - app/views/weixin_pam/public_accounts/index.html.erb
222
+ - app/views/weixin_pam/public_accounts/new.html.erb
223
+ - app/views/weixin_pam/public_accounts/show.html.erb
224
+ - app/views/weixin_pam/user_accounts/_form.html.erb
225
+ - app/views/weixin_pam/user_accounts/edit.html.erb
226
+ - app/views/weixin_pam/user_accounts/index.html.slim
227
+ - app/views/weixin_pam/user_accounts/new.html.erb
228
+ - app/views/weixin_pam/user_accounts/show.html.erb
229
+ - config/initializers/simple_form.rb
230
+ - config/initializers/simple_form_bootstrap.rb
231
+ - config/initializers/weixin_rails_middleware.rb
232
+ - config/locales/diymenu.zh-CN.yml
233
+ - config/locales/public_account.zh-CN.yml
234
+ - config/locales/simple_form.en.yml
235
+ - config/locales/user_account.zh-CN.yml
236
+ - config/routes.rb
237
+ - db/migrate/20151211153307_create_weixin_pam_public_accounts.rb
238
+ - db/migrate/20151211153353_create_weixin_pam_user_accounts.rb
239
+ - db/migrate/20151212152624_create_weixin_pam_diymenus.rb
240
+ - db/migrate/20151215140830_add_weixin_secret_key_and_weixin_token_to_public_accounts.rb
241
+ - db/migrate/20151218053505_add_host_to_weixin_pam_public_account.rb
242
+ - lib/tasks/weixin_pam_tasks.rake
243
+ - lib/templates/erb/scaffold/_form.html.erb
244
+ - lib/weixin_pam.rb
245
+ - lib/weixin_pam/api_error.rb
246
+ - lib/weixin_pam/api_error/failed_result.rb
247
+ - lib/weixin_pam/engine.rb
248
+ - lib/weixin_pam/public_account_reply.rb
249
+ - lib/weixin_pam/version.rb
250
+ - test/controllers/weixin_pam/diymenus_controller_test.rb
251
+ - test/controllers/weixin_pam/public_accounts_controller_test.rb
252
+ - test/controllers/weixin_pam/user_accounts_controller_test.rb
253
+ - test/dummy/README.rdoc
254
+ - test/dummy/Rakefile
255
+ - test/dummy/app/assets/javascripts/application.js
256
+ - test/dummy/app/assets/stylesheets/application.css
257
+ - test/dummy/app/controllers/application_controller.rb
258
+ - test/dummy/app/helpers/application_helper.rb
259
+ - test/dummy/app/views/layouts/application.html.erb
260
+ - test/dummy/bin/bundle
261
+ - test/dummy/bin/rails
262
+ - test/dummy/bin/rake
263
+ - test/dummy/bin/setup
264
+ - test/dummy/config.ru
265
+ - test/dummy/config/application.rb
266
+ - test/dummy/config/boot.rb
267
+ - test/dummy/config/database.yml
268
+ - test/dummy/config/environment.rb
269
+ - test/dummy/config/environments/development.rb
270
+ - test/dummy/config/environments/production.rb
271
+ - test/dummy/config/environments/test.rb
272
+ - test/dummy/config/initializers/assets.rb
273
+ - test/dummy/config/initializers/backtrace_silencers.rb
274
+ - test/dummy/config/initializers/cookies_serializer.rb
275
+ - test/dummy/config/initializers/filter_parameter_logging.rb
276
+ - test/dummy/config/initializers/inflections.rb
277
+ - test/dummy/config/initializers/mime_types.rb
278
+ - test/dummy/config/initializers/session_store.rb
279
+ - test/dummy/config/initializers/wrap_parameters.rb
280
+ - test/dummy/config/locales/en.yml
281
+ - test/dummy/config/routes.rb
282
+ - test/dummy/config/secrets.yml
283
+ - test/dummy/db/development.sqlite3
284
+ - test/dummy/db/schema.rb
285
+ - test/dummy/db/test.sqlite3
286
+ - test/dummy/log/development.log
287
+ - test/dummy/public/404.html
288
+ - test/dummy/public/422.html
289
+ - test/dummy/public/500.html
290
+ - test/dummy/public/favicon.ico
291
+ - test/fixtures/weixin_pam/diymenus.yml
292
+ - test/fixtures/weixin_pam/public_accounts.yml
293
+ - test/fixtures/weixin_pam/user_accounts.yml
294
+ - test/integration/navigation_test.rb
295
+ - test/models/weixin_pam/diymenu_test.rb
296
+ - test/models/weixin_pam/public_account_test.rb
297
+ - test/models/weixin_pam/user_account_test.rb
298
+ - test/test_helper.rb
299
+ - test/weixin_pam_test.rb
300
+ homepage: https://github.com/xiaohui-zhangxh/weixin_pam
301
+ licenses:
302
+ - MIT
303
+ metadata: {}
304
+ post_install_message:
305
+ rdoc_options: []
306
+ require_paths:
307
+ - lib
308
+ required_ruby_version: !ruby/object:Gem::Requirement
309
+ requirements:
310
+ - - '>='
311
+ - !ruby/object:Gem::Version
312
+ version: '0'
313
+ required_rubygems_version: !ruby/object:Gem::Requirement
314
+ requirements:
315
+ - - '>='
316
+ - !ruby/object:Gem::Version
317
+ version: '0'
318
+ requirements: []
319
+ rubyforge_project:
320
+ rubygems_version: 2.4.8
321
+ signing_key:
322
+ specification_version: 4
323
+ summary: A Rails engine to manage Weixin Public Accounts
324
+ test_files:
325
+ - test/controllers/weixin_pam/diymenus_controller_test.rb
326
+ - test/controllers/weixin_pam/public_accounts_controller_test.rb
327
+ - test/controllers/weixin_pam/user_accounts_controller_test.rb
328
+ - test/dummy/app/assets/javascripts/application.js
329
+ - test/dummy/app/assets/stylesheets/application.css
330
+ - test/dummy/app/controllers/application_controller.rb
331
+ - test/dummy/app/helpers/application_helper.rb
332
+ - test/dummy/app/views/layouts/application.html.erb
333
+ - test/dummy/bin/bundle
334
+ - test/dummy/bin/rails
335
+ - test/dummy/bin/rake
336
+ - test/dummy/bin/setup
337
+ - test/dummy/config/application.rb
338
+ - test/dummy/config/boot.rb
339
+ - test/dummy/config/database.yml
340
+ - test/dummy/config/environment.rb
341
+ - test/dummy/config/environments/development.rb
342
+ - test/dummy/config/environments/production.rb
343
+ - test/dummy/config/environments/test.rb
344
+ - test/dummy/config/initializers/assets.rb
345
+ - test/dummy/config/initializers/backtrace_silencers.rb
346
+ - test/dummy/config/initializers/cookies_serializer.rb
347
+ - test/dummy/config/initializers/filter_parameter_logging.rb
348
+ - test/dummy/config/initializers/inflections.rb
349
+ - test/dummy/config/initializers/mime_types.rb
350
+ - test/dummy/config/initializers/session_store.rb
351
+ - test/dummy/config/initializers/wrap_parameters.rb
352
+ - test/dummy/config/locales/en.yml
353
+ - test/dummy/config/routes.rb
354
+ - test/dummy/config/secrets.yml
355
+ - test/dummy/config.ru
356
+ - test/dummy/db/development.sqlite3
357
+ - test/dummy/db/schema.rb
358
+ - test/dummy/db/test.sqlite3
359
+ - test/dummy/log/development.log
360
+ - test/dummy/public/404.html
361
+ - test/dummy/public/422.html
362
+ - test/dummy/public/500.html
363
+ - test/dummy/public/favicon.ico
364
+ - test/dummy/Rakefile
365
+ - test/dummy/README.rdoc
366
+ - test/fixtures/weixin_pam/diymenus.yml
367
+ - test/fixtures/weixin_pam/public_accounts.yml
368
+ - test/fixtures/weixin_pam/user_accounts.yml
369
+ - test/integration/navigation_test.rb
370
+ - test/models/weixin_pam/diymenu_test.rb
371
+ - test/models/weixin_pam/public_account_test.rb
372
+ - test/models/weixin_pam/user_account_test.rb
373
+ - test/test_helper.rb
374
+ - test/weixin_pam_test.rb