china_citys 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (54) hide show
  1. checksums.yaml +7 -0
  2. data/MIT-LICENSE +20 -0
  3. data/Rakefile +29 -0
  4. data/app/assets/javascripts/china_citys/application.js.coffee +3 -0
  5. data/app/assets/javascripts/china_citys/jquery.china_citys.js.coffee +17 -0
  6. data/app/assets/stylesheets/china_citys/application.css +13 -0
  7. data/app/controllers/china_citys/application_controller.rb +4 -0
  8. data/app/controllers/china_citys/data_controller.rb +13 -0
  9. data/app/helpers/china_citys/application_helper.rb +4 -0
  10. data/app/views/china_citys/data/index.html.erb +28 -0
  11. data/app/views/layouts/china_citys/application.html.erb +12 -0
  12. data/config/routes.rb +4 -0
  13. data/db/areas.json +6 -0
  14. data/lib/china_citys/engine.rb +13 -0
  15. data/lib/china_citys/version.rb +3 -0
  16. data/lib/china_citys.rb +99 -0
  17. data/lib/tasks/china_citys_tasks.rake +4 -0
  18. data/spec/controllers/china_city/data_controller_spec.rb +12 -0
  19. data/spec/dummy/README.rdoc +28 -0
  20. data/spec/dummy/Rakefile +6 -0
  21. data/spec/dummy/app/assets/javascripts/application.js +14 -0
  22. data/spec/dummy/app/assets/stylesheets/application.css +13 -0
  23. data/spec/dummy/app/controllers/application_controller.rb +5 -0
  24. data/spec/dummy/app/helpers/application_helper.rb +2 -0
  25. data/spec/dummy/app/views/layouts/application.html.erb +14 -0
  26. data/spec/dummy/bin/bundle +3 -0
  27. data/spec/dummy/bin/rails +4 -0
  28. data/spec/dummy/bin/rake +4 -0
  29. data/spec/dummy/config/application.rb +35 -0
  30. data/spec/dummy/config/boot.rb +5 -0
  31. data/spec/dummy/config/database.yml +25 -0
  32. data/spec/dummy/config/environment.rb +5 -0
  33. data/spec/dummy/config/environments/development.rb +29 -0
  34. data/spec/dummy/config/environments/production.rb +80 -0
  35. data/spec/dummy/config/environments/test.rb +36 -0
  36. data/spec/dummy/config/initializers/backtrace_silencers.rb +7 -0
  37. data/spec/dummy/config/initializers/filter_parameter_logging.rb +4 -0
  38. data/spec/dummy/config/initializers/inflections.rb +16 -0
  39. data/spec/dummy/config/initializers/mime_types.rb +5 -0
  40. data/spec/dummy/config/initializers/secret_token.rb +13 -0
  41. data/spec/dummy/config/initializers/session_store.rb +3 -0
  42. data/spec/dummy/config/initializers/wrap_parameters.rb +14 -0
  43. data/spec/dummy/config/locales/en.yml +23 -0
  44. data/spec/dummy/config/routes.rb +4 -0
  45. data/spec/dummy/config.ru +4 -0
  46. data/spec/dummy/public/404.html +58 -0
  47. data/spec/dummy/public/422.html +58 -0
  48. data/spec/dummy/public/500.html +57 -0
  49. data/spec/dummy/public/favicon.ico +0 -0
  50. data/spec/dummy/script/rails +6 -0
  51. data/spec/features/china_city_spec.rb +69 -0
  52. data/spec/lib/china_city_spec.rb +33 -0
  53. data/spec/spec_helper.rb +29 -0
  54. metadata +245 -0
@@ -0,0 +1,58 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>The change you wanted was rejected (422)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/422.html -->
52
+ <div class="dialog">
53
+ <h1>The change you wanted was rejected.</h1>
54
+ <p>Maybe you tried to change something you didn't have access to.</p>
55
+ </div>
56
+ <p>If you are the application owner check the logs for more information.</p>
57
+ </body>
58
+ </html>
@@ -0,0 +1,57 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <title>We're sorry, but something went wrong (500)</title>
5
+ <style>
6
+ body {
7
+ background-color: #EFEFEF;
8
+ color: #2E2F30;
9
+ text-align: center;
10
+ font-family: arial, sans-serif;
11
+ }
12
+
13
+ div.dialog {
14
+ width: 25em;
15
+ margin: 4em auto 0 auto;
16
+ border: 1px solid #CCC;
17
+ border-right-color: #999;
18
+ border-left-color: #999;
19
+ border-bottom-color: #BBB;
20
+ border-top: #B00100 solid 4px;
21
+ border-top-left-radius: 9px;
22
+ border-top-right-radius: 9px;
23
+ background-color: white;
24
+ padding: 7px 4em 0 4em;
25
+ }
26
+
27
+ h1 {
28
+ font-size: 100%;
29
+ color: #730E15;
30
+ line-height: 1.5em;
31
+ }
32
+
33
+ body > p {
34
+ width: 33em;
35
+ margin: 0 auto 1em;
36
+ padding: 1em 0;
37
+ background-color: #F7F7F7;
38
+ border: 1px solid #CCC;
39
+ border-right-color: #999;
40
+ border-bottom-color: #999;
41
+ border-bottom-left-radius: 4px;
42
+ border-bottom-right-radius: 4px;
43
+ border-top-color: #DADADA;
44
+ color: #666;
45
+ box-shadow:0 3px 8px rgba(50, 50, 50, 0.17);
46
+ }
47
+ </style>
48
+ </head>
49
+
50
+ <body>
51
+ <!-- This file lives in public/500.html -->
52
+ <div class="dialog">
53
+ <h1>We're sorry, but something went wrong.</h1>
54
+ </div>
55
+ <p>If you are the application owner check the logs for more information.</p>
56
+ </body>
57
+ </html>
File without changes
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+ # This command will automatically be run when you run "rails" with Rails 3 gems installed from the root of your application.
3
+
4
+ APP_PATH = File.expand_path('../../config/application', __FILE__)
5
+ require File.expand_path('../../config/boot', __FILE__)
6
+ require 'rails/commands'
@@ -0,0 +1,69 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ feature 'china city', js: true do
5
+ scenario 'select' do
6
+ visit '/china_citys'
7
+ within '.rails-helper' do
8
+ select '广东省'
9
+ select '深圳市'
10
+ select '南山区'
11
+ end
12
+ within '.html-tag' do
13
+ select '广东省'
14
+ select '深圳市'
15
+ select '南山区'
16
+ end
17
+ end
18
+
19
+ describe 'clean' do
20
+ before do
21
+ visit '/china_citys'
22
+ within '.rails-helper' do
23
+ select '广东省'
24
+ select '深圳市'
25
+ select '南山区'
26
+ end
27
+ end
28
+ context 'select empty parent' do
29
+ scenario 'city and district' do
30
+ within '.rails-helper' do
31
+ select '--省份--'
32
+ expect(find('.city-city').value).to be_blank
33
+ expect(find('.city-district').value).to be_blank
34
+ sleep 2
35
+ expect(all('.city-city option').size).to eql 1
36
+ expect(all('.city-district option').size).to eql 1
37
+ end
38
+ end
39
+ scenario 'district' do
40
+ within '.rails-helper' do
41
+ select '--城市--'
42
+ expect(find('.city-district').value).to be_blank
43
+ sleep 2
44
+ expect(all('.city-district option').size).to eql 1
45
+ end
46
+ end
47
+ end
48
+ context 'select other parent' do
49
+ scenario 'city and district' do
50
+ within '.rails-helper' do
51
+ select '江苏省'
52
+ expect(find('.city-city').value).to be_blank
53
+ expect(find('.city-district').value).to be_blank
54
+ sleep 2
55
+ expect(all('.city-city option').size).to eql 14
56
+ expect(all('.city-district option').size).to eql 1
57
+ end
58
+ end
59
+ scenario 'district' do
60
+ within '.rails-helper' do
61
+ select '广州市'
62
+ expect(find('.city-district').value).to be_blank
63
+ sleep 2
64
+ expect(all('.city-district option').size).to eql 14
65
+ end
66
+ end
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,33 @@
1
+ # encoding: utf-8
2
+ require 'spec_helper'
3
+
4
+ describe ChinaCitys do
5
+ it 'should be list' do
6
+ # 省
7
+ ChinaCitys.list.should eql [["北京市", "110000"], ["天津市", "120000"], ["河北省", "130000"], ["山西省", "140000"], ["内蒙古自治区", "150000"], ["辽宁省", "210000"], ["吉林省", "220000"], ["黑龙江省", "230000"], ["上海市", "310000"], ["江苏省", "320000"], ["浙江省", "330000"], ["安徽省", "340000"], ["福建省", "350000"], ["江西省", "360000"], ["山东省", "370000"], ["河南省", "410000"], ["湖北省", "420000"], ["湖南省", "430000"], ["广东省", "440000"], ["广西壮族自治区", "450000"], ["海南省", "460000"], ["重庆市", "500000"], ["四川省", "510000"], ["贵州省", "520000"], ["云南省", "530000"], ["西藏自治区", "540000"], ["陕西省", "610000"], ["甘肃省", "620000"], ["青海省", "630000"], ["宁夏回族自治区", "640000"], ["新疆维吾尔自治区", "650000"]]
8
+
9
+ #市
10
+ ChinaCitys.list('440000').should eql [["广州市", "440100"], ["韶关市", "440200"], ["深圳市", "440300"], ["珠海市", "440400"], ["汕头市", "440500"], ["佛山市", "440600"], ["江门市", "440700"], ["湛江市", "440800"], ["茂名市", "440900"], ["肇庆市", "441200"], ["惠州市", "441300"], ["梅州市", "441400"], ["汕尾市", "441500"], ["河源市", "441600"], ["阳江市", "441700"], ["清远市", "441800"], ["东莞市", "441900"], ["中山市", "442000"], ["潮州市", "445100"], ["揭阳市", "445200"], ["云浮市", "445300"]]
11
+
12
+ #区
13
+ ChinaCitys.list('440300').should eql [["市辖区", "440301"], ["罗湖区", "440303"], ["福田区", "440304"], ["南山区", "440305"], ["宝安区", "440306"], ["龙岗区", "440307"], ["盐田区", "440308"]]
14
+ end
15
+
16
+ it 'should be get' do
17
+ ChinaCitys.get('440000').should eql '广东省'
18
+ ChinaCitys.get('440300').should eql '深圳市'
19
+ ChinaCitys.get('440305').should eql '南山区'
20
+ ChinaCitys.get('440000', prepend_parent: true).should eql '广东省'
21
+ ChinaCitys.get('440300', prepend_parent: true).should eql '广东省深圳市'
22
+ ChinaCitys.get('440305', prepend_parent: true).should eql '广东省深圳市南山区'
23
+ end
24
+
25
+ it 'should be parse' do # 可以直接获取省、市
26
+ ChinaCitys.province('440000').should eql '440000' # 省
27
+ ChinaCitys.city('440000').should eql '440000'
28
+ ChinaCitys.province('440300').should eql '440000' # 市
29
+ ChinaCitys.city('440300').should eql '440300'
30
+ ChinaCitys.province('440305').should eql '440000' # 区
31
+ ChinaCitys.city('440305').should eql '440300'
32
+ end
33
+ end
@@ -0,0 +1,29 @@
1
+ # This file was generated by the `rspec --init` command. Conventionally, all
2
+ # specs live under a `spec` directory, which RSpec adds to the `$LOAD_PATH`.
3
+ # Require this file using `require "spec_helper"` to ensure that it is only
4
+ # loaded once.
5
+ #
6
+ # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
7
+ ENV["RAILS_ENV"] = "test"
8
+ require File.expand_path("../dummy/config/environment.rb", __FILE__)
9
+
10
+ require "rspec/rails"
11
+ # require 'capybara/rails'
12
+ require 'capybara/rspec'
13
+
14
+ require 'capybara/poltergeist'
15
+ Capybara.javascript_driver = :poltergeist
16
+
17
+ puts "Rails: #{Rails.version}"
18
+
19
+ RSpec.configure do |config|
20
+ config.treat_symbols_as_metadata_keys_with_true_values = true
21
+ config.run_all_when_everything_filtered = true
22
+ config.filter_run :focus
23
+
24
+ # Run specs in random order to surface order dependencies. If you find an
25
+ # order dependency and want to debug it, you can fix the order by providing
26
+ # the seed, which is printed after each run.
27
+ # --seed 1234
28
+ config.order = 'random'
29
+ end
metadata ADDED
@@ -0,0 +1,245 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: china_citys
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.4
5
+ platform: ruby
6
+ authors:
7
+ - greatbody
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-13 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: 3.1.0
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 3.1.0
27
+ - !ruby/object:Gem::Dependency
28
+ name: jquery-rails
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: sqlite3
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
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: rspec-rails
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: coffee-rails
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: capybara
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: launchy
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: poltergeist
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :development
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ description: a gem to help you select chinese area like province, city and district.Origin
126
+ from saberma/china_citys
127
+ email:
128
+ - wedown@163.com
129
+ executables: []
130
+ extensions: []
131
+ extra_rdoc_files: []
132
+ files:
133
+ - MIT-LICENSE
134
+ - Rakefile
135
+ - app/assets/javascripts/china_citys/application.js.coffee
136
+ - app/assets/javascripts/china_citys/jquery.china_citys.js.coffee
137
+ - app/assets/stylesheets/china_citys/application.css
138
+ - app/controllers/china_citys/application_controller.rb
139
+ - app/controllers/china_citys/data_controller.rb
140
+ - app/helpers/china_citys/application_helper.rb
141
+ - app/views/china_citys/data/index.html.erb
142
+ - app/views/layouts/china_citys/application.html.erb
143
+ - config/routes.rb
144
+ - db/areas.json
145
+ - lib/china_citys.rb
146
+ - lib/china_citys/engine.rb
147
+ - lib/china_citys/version.rb
148
+ - lib/tasks/china_citys_tasks.rake
149
+ - spec/controllers/china_city/data_controller_spec.rb
150
+ - spec/dummy/README.rdoc
151
+ - spec/dummy/Rakefile
152
+ - spec/dummy/app/assets/javascripts/application.js
153
+ - spec/dummy/app/assets/stylesheets/application.css
154
+ - spec/dummy/app/controllers/application_controller.rb
155
+ - spec/dummy/app/helpers/application_helper.rb
156
+ - spec/dummy/app/views/layouts/application.html.erb
157
+ - spec/dummy/bin/bundle
158
+ - spec/dummy/bin/rails
159
+ - spec/dummy/bin/rake
160
+ - spec/dummy/config.ru
161
+ - spec/dummy/config/application.rb
162
+ - spec/dummy/config/boot.rb
163
+ - spec/dummy/config/database.yml
164
+ - spec/dummy/config/environment.rb
165
+ - spec/dummy/config/environments/development.rb
166
+ - spec/dummy/config/environments/production.rb
167
+ - spec/dummy/config/environments/test.rb
168
+ - spec/dummy/config/initializers/backtrace_silencers.rb
169
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
170
+ - spec/dummy/config/initializers/inflections.rb
171
+ - spec/dummy/config/initializers/mime_types.rb
172
+ - spec/dummy/config/initializers/secret_token.rb
173
+ - spec/dummy/config/initializers/session_store.rb
174
+ - spec/dummy/config/initializers/wrap_parameters.rb
175
+ - spec/dummy/config/locales/en.yml
176
+ - spec/dummy/config/routes.rb
177
+ - spec/dummy/public/404.html
178
+ - spec/dummy/public/422.html
179
+ - spec/dummy/public/500.html
180
+ - spec/dummy/public/favicon.ico
181
+ - spec/dummy/script/rails
182
+ - spec/features/china_city_spec.rb
183
+ - spec/lib/china_city_spec.rb
184
+ - spec/spec_helper.rb
185
+ homepage: https://github.com/greatbody/china_citys
186
+ licenses:
187
+ - MIT
188
+ metadata: {}
189
+ post_install_message:
190
+ rdoc_options: []
191
+ require_paths:
192
+ - lib
193
+ required_ruby_version: !ruby/object:Gem::Requirement
194
+ requirements:
195
+ - - ">="
196
+ - !ruby/object:Gem::Version
197
+ version: '0'
198
+ required_rubygems_version: !ruby/object:Gem::Requirement
199
+ requirements:
200
+ - - ">="
201
+ - !ruby/object:Gem::Version
202
+ version: '0'
203
+ requirements: []
204
+ rubyforge_project:
205
+ rubygems_version: 2.4.5
206
+ signing_key:
207
+ specification_version: 4
208
+ summary: a gem to help you select chinese area
209
+ test_files:
210
+ - spec/spec_helper.rb
211
+ - spec/features/china_city_spec.rb
212
+ - spec/lib/china_city_spec.rb
213
+ - spec/dummy/config.ru
214
+ - spec/dummy/app/assets/javascripts/application.js
215
+ - spec/dummy/app/assets/stylesheets/application.css
216
+ - spec/dummy/app/helpers/application_helper.rb
217
+ - spec/dummy/app/views/layouts/application.html.erb
218
+ - spec/dummy/app/controllers/application_controller.rb
219
+ - spec/dummy/script/rails
220
+ - spec/dummy/config/boot.rb
221
+ - spec/dummy/config/locales/en.yml
222
+ - spec/dummy/config/initializers/backtrace_silencers.rb
223
+ - spec/dummy/config/initializers/filter_parameter_logging.rb
224
+ - spec/dummy/config/initializers/mime_types.rb
225
+ - spec/dummy/config/initializers/wrap_parameters.rb
226
+ - spec/dummy/config/initializers/inflections.rb
227
+ - spec/dummy/config/initializers/secret_token.rb
228
+ - spec/dummy/config/initializers/session_store.rb
229
+ - spec/dummy/config/environments/test.rb
230
+ - spec/dummy/config/environments/development.rb
231
+ - spec/dummy/config/environments/production.rb
232
+ - spec/dummy/config/routes.rb
233
+ - spec/dummy/config/application.rb
234
+ - spec/dummy/config/environment.rb
235
+ - spec/dummy/config/database.yml
236
+ - spec/dummy/public/500.html
237
+ - spec/dummy/public/404.html
238
+ - spec/dummy/public/favicon.ico
239
+ - spec/dummy/public/422.html
240
+ - spec/dummy/README.rdoc
241
+ - spec/dummy/bin/rails
242
+ - spec/dummy/bin/bundle
243
+ - spec/dummy/bin/rake
244
+ - spec/dummy/Rakefile
245
+ - spec/controllers/china_city/data_controller_spec.rb