super_tools 0.0.25 → 3.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (45) hide show
  1. checksums.yaml +5 -5
  2. data/.github/workflows/test.yml +21 -0
  3. data/.gitignore +5 -0
  4. data/.ruby-version +1 -0
  5. data/Gemfile +2 -0
  6. data/Gemfile.lock +161 -150
  7. data/README.md +2 -1
  8. data/dependabot.yml +7 -0
  9. data/lib/super_form/basic.rb +2 -7
  10. data/lib/super_form/concerns/atomic_save.rb +3 -3
  11. data/lib/super_form/reform.rb +28 -6
  12. data/lib/super_formatter/ecan/head.rb +4 -4
  13. data/lib/super_formatter/ecan/import.rb +4 -3
  14. data/lib/super_formatter/ecan/row.rb +3 -2
  15. data/lib/super_formatter/hct/head.rb +5 -5
  16. data/lib/super_formatter/hct/import.rb +4 -3
  17. data/lib/super_formatter/hct/row.rb +4 -3
  18. data/lib/super_formatter/shopline/head.rb +16 -16
  19. data/lib/super_formatter/shopline/import.rb +5 -6
  20. data/lib/super_formatter/shopline/order.rb +9 -8
  21. data/lib/super_formatter/shopline/row.rb +2 -2
  22. data/lib/super_formatter/tcat/head.rb +4 -4
  23. data/lib/super_formatter/tcat/import.rb +4 -4
  24. data/lib/super_formatter/tcat/row.rb +5 -4
  25. data/lib/super_interaction/beyond.rb +77 -0
  26. data/lib/super_interaction/beyond_helper.rb +13 -0
  27. data/lib/super_interaction/{command.rb → bootstrap.rb} +2 -2
  28. data/lib/super_interaction/{controller_helper.rb → bootstrap_helper.rb} +2 -2
  29. data/lib/super_interaction/engine.rb +6 -0
  30. data/lib/super_interaction/views/layouts/beyond.haml +27 -0
  31. data/lib/super_interaction/views/layouts/modal_bs3.haml +2 -2
  32. data/lib/super_interaction/views/layouts/modal_bs4.haml +2 -2
  33. data/lib/super_process/basic.rb +12 -0
  34. data/lib/super_process/core.rb +26 -25
  35. data/lib/super_search/scroll.rb +11 -8
  36. data/lib/super_spreadsheet/loader.rb +14 -14
  37. data/lib/super_table/action_view.rb +4 -4
  38. data/lib/super_table/builder.rb +5 -4
  39. data/lib/super_table/record.rb +1 -1
  40. data/lib/super_tools/version.rb +2 -2
  41. data/lib/super_tools.rb +42 -28
  42. data/lib/super_zipcode/taiwan.rb +131 -102
  43. data/super_tools.gemspec +17 -23
  44. metadata +92 -67
  45. data/lib/super_logger/formatter.rb +0 -15
data/lib/super_tools.rb CHANGED
@@ -1,55 +1,69 @@
1
1
  # RAILS LIBs
2
- require 'active_support'
3
- require 'active_model'
4
- require 'active_record'
5
- require 'action_view'
2
+ require "active_support"
3
+ require "active_model"
4
+ require "active_record"
5
+ require "action_view"
6
+
6
7
  # VERSION
7
8
  require "super_tools/version"
9
+
8
10
  # TASKS
9
11
  require "super_process/core"
12
+ require "super_process/basic"
13
+
10
14
  # FORMS
11
15
  require "super_spreadsheet/loader"
12
16
  require "super_form/basic"
13
17
  require "super_form/reform"
18
+
14
19
  # TABLES
15
20
  require "super_table/action_view"
16
21
  require "super_table/builder"
17
22
  require "super_table/record"
18
23
  require "super_table/tableable"
19
24
  require "super_table/view_helpers"
25
+
20
26
  # FORMATTER
21
- require 'super_formatter/import'
22
- require 'super_formatter/row'
27
+ require "super_formatter/import"
28
+ require "super_formatter/row"
29
+
23
30
  # FORMATTER (ECAN)
24
- require 'super_formatter/ecan/head'
25
- require 'super_formatter/ecan/row'
26
- require 'super_formatter/ecan/import'
31
+ require "super_formatter/ecan/head"
32
+ require "super_formatter/ecan/row"
33
+ require "super_formatter/ecan/import"
34
+
27
35
  # FORMATTER (TCAT)
28
- require 'super_formatter/tcat/head'
29
- require 'super_formatter/tcat/row'
30
- require 'super_formatter/tcat/import'
36
+ require "super_formatter/tcat/head"
37
+ require "super_formatter/tcat/row"
38
+ require "super_formatter/tcat/import"
39
+
31
40
  # FORMATTER (HCT)
32
- require 'super_formatter/hct/head'
33
- require 'super_formatter/hct/row'
34
- require 'super_formatter/hct/import'
41
+ require "super_formatter/hct/head"
42
+ require "super_formatter/hct/row"
43
+ require "super_formatter/hct/import"
44
+
35
45
  # FORMATTER (SHOPLINE)
36
- require 'super_formatter/shopline/head'
37
- require 'super_formatter/shopline/row'
38
- require 'super_formatter/shopline/order'
39
- require 'super_formatter/shopline/import'
46
+ require "super_formatter/shopline/head"
47
+ require "super_formatter/shopline/row"
48
+ require "super_formatter/shopline/order"
49
+ require "super_formatter/shopline/import"
50
+
40
51
  # SEARCH
41
- require 'super_search/scroll'
52
+ require "super_search/scroll"
53
+
42
54
  # ZIP CODE
43
- require 'super_zipcode/taiwan'
55
+ require "super_zipcode/taiwan"
56
+
44
57
  # INTERACTION
45
- require 'super_interaction/layout'
46
- require 'super_interaction/engine'
47
- require 'super_interaction/command'
48
- require 'super_interaction/controller_helper'
49
- # FORMATTER
50
- require 'super_logger/formatter'
58
+ require "super_interaction/layout"
59
+ require "super_interaction/engine"
60
+ require "super_interaction/beyond"
61
+ require "super_interaction/beyond_helper"
62
+ require "super_interaction/bootstrap"
63
+ require "super_interaction/bootstrap_helper"
64
+
51
65
  # Values
52
- require 'super_value/base'
66
+ require "super_value/base"
53
67
 
54
68
  module SuperTools
55
69
  end
@@ -1,112 +1,140 @@
1
1
  module SuperZipcode
2
2
  class Taiwan
3
+
3
4
  CITY_ZONE_ZIP_CODES = {
4
5
  # 資料來源: jQuery TWzipcode v1.7.8
5
- '基隆市' => {'仁愛區' => '200', '信義區' => '201', '中正區' => '202', '中山區' => '203', '安樂區' => '204', '暖暖區' => '205', '七堵區' => '206'},
6
- '台北市' => {'中正區' => '100', '大同區' => '103', '中山區' => '104', '松山區' => '105', '大安區' => '106', '萬華區' => '108', '信義區' => '110', '士林區' => '111', '北投區' => '112', '內湖區' => '114', '南港區' => '115', '文山區' => '116'},
7
- '新北市' => {
8
- '萬里區' => '207', '金山區' => '208', '板橋區' => '220', '汐止區' => '221', '深坑區' => '222', '石碇區' => '223',
9
- '瑞芳區' => '224', '平溪區' => '226', '雙溪區' => '227', '貢寮區' => '228', '新店區' => '231', '坪林區' => '232',
10
- '烏來區' => '233', '永和區' => '234', '中和區' => '235', '土城區' => '236', '三峽區' => '237', '樹林區' => '238',
11
- '鶯歌區' => '239', '三重區' => '241', '新莊區' => '242', '泰山區' => '243', '林口區' => '244', '蘆洲區' => '247',
12
- '五股區' => '248', '八里區' => '249', '淡水區' => '251', '三芝區' => '252', '石門區' => '253'
13
- },
14
- '宜蘭縣' => {
15
- '宜蘭市' => '260', '頭城鎮' => '261', '礁溪鄉' => '262', '壯圍鄉' => '263', '員山鄉' => '264', '羅東鎮' => '265',
16
- '三星鄉' => '266', '大同鄉' => '267', '五結鄉' => '268', '冬山鄉' => '269', '蘇澳鎮' => '270', '南澳鄉' => '272',
17
- '釣魚台列嶼' => '290'
18
- },
19
- '新竹市' => {'東區' => '300', '北區' => '300', '香山區' => '300'},
20
- '新竹縣' => {
21
- '竹北市' => '302', '湖口鄉' => '303', '新豐鄉' => '304', '新埔鎮' => '305', '關西鎮' => '306', '芎林鄉' => '307',
22
- '寶山鄉' => '308', '竹東鎮' => '310', '五峰鄉' => '311', '橫山鄉' => '312', '尖石鄉' => '313', '北埔鄉' => '314',
23
- '峨嵋鄉' => '315'
24
- },
25
- '桃園市' => {
26
- '中壢區' => '320', '平鎮區' => '324', '龍潭區' => '325', '楊梅區' => '326', '新屋區' => '327', '觀音區' => '328',
27
- '桃園區' => '330', '龜山區' => '333', '八德區' => '334', '大溪區' => '335', '復興區' => '336', '大園區' => '337',
28
- '蘆竹區' => '338'
29
- },
30
- '苗栗縣' => {
31
- '竹南鎮' => '350', '頭份市' => '351', '三灣鄉' => '352', '南庄鄉' => '353', '獅潭鄉' => '354', '後龍鎮' => '356',
32
- '通霄鎮' => '357', '苑裡鎮' => '358', '苗栗市' => '360', '造橋鄉' => '361', '頭屋鄉' => '362', '公館鄉' => '363',
33
- '大湖鄉' => '364', '泰安鄉' => '365', '銅鑼鄉' => '366', '三義鄉' => '367', '西湖鄉' => '368', '卓蘭鎮' => '369'
34
- },
35
- '台中市' => {
36
- '中區' => '400', '東區' => '401', '南區' => '402', '西區' => '403', '北區' => '404', '北屯區' => '406', '西屯區' => '407', '南屯區' => '408',
37
- '太平區' => '411', '大里區' => '412', '霧峰區' => '413', '烏日區' => '414', '豐原區' => '420', '后里區' => '421',
38
- '石岡區' => '422', '東勢區' => '423', '和平區' => '424', '新社區' => '426', '潭子區' => '427', '大雅區' => '428',
39
- '神岡區' => '429', '大肚區' => '432', '沙鹿區' => '433', '龍井區' => '434', '梧棲區' => '435', '清水區' => '436',
40
- '大甲區' => '437', '外埔區' => '438', '大安區' => '439'
41
- },
42
- '彰化縣' => {
43
- '彰化市' => '500', '芬園鄉' => '502', '花壇鄉' => '503', '秀水鄉' => '504', '鹿港鎮' => '505', '福興鄉' => '506',
44
- '線西鄉' => '507', '和美鎮' => '508', '伸港鄉' => '509', '員林市' => '510', '社頭鄉' => '511', '永靖鄉' => '512',
45
- '埔心鄉' => '513', '溪湖鎮' => '514', '大村鄉' => '515', '埔鹽鄉' => '516', '田中鎮' => '520', '北斗鎮' => '521',
46
- '田尾鄉' => '522', '埤頭鄉' => '523', '溪州鄉' => '524', '竹塘鄉' => '525', '二林鎮' => '526', '大城鄉' => '527',
47
- '芳苑鄉' => '528', '二水鄉' => '530'
48
- },
49
- '南投縣' => {
50
- '南投市' => '540', '中寮鄉' => '541', '草屯鎮' => '542', '國姓鄉' => '544', '埔里鎮' => '545', '仁愛鄉' => '546',
51
- '名間鄉' => '551', '集集鎮' => '552', '水里鄉' => '553', '魚池鄉' => '555', '信義鄉' => '556', '竹山鎮' => '557',
52
- '鹿谷鄉' => '558'
53
- },
54
- '嘉義市' => {'東區' => '600', '西區' => '600'},
55
- '嘉義縣' => {
56
- '番路鄉' => '602', '梅山鄉' => '603', '竹崎鄉' => '604', '阿里山' => '605', '中埔鄉' => '606', '大埔鄉' => '607',
57
- '水上鄉' => '608', '鹿草鄉' => '611', '太保市' => '612', '朴子市' => '613', '東石鄉' => '614', '六腳鄉' => '615',
58
- '新港鄉' => '616', '民雄鄉' => '621', '大林鎮' => '622', '溪口鄉' => '623', '義竹鄉' => '624', '布袋鎮' => '625'
59
- },
60
- '雲林縣' => {
61
- '斗南鎮' => '630', '大埤鄉' => '631', '虎尾鎮' => '632', '土庫鎮' => '633', '褒忠鄉' => '634', '東勢鄉' => '635',
62
- '臺西鄉' => '636', '崙背鄉' => '637', '麥寮鄉' => '638', '斗六市' => '640', '林內鄉' => '643', '古坑鄉' => '646',
63
- '莿桐鄉' => '647', '西螺鎮' => '648', '二崙鄉' => '649', '北港鎮' => '651', '水林鄉' => '652', '口湖鄉' => '653',
64
- '四湖鄉' => '654', '元長鄉' => '655'
65
- },
66
- '台南市' => {
67
- '中西區' => '700', '東區' => '701', '南區' => '702', '北區' => '704', '安平區' => '708', '安南區' => '709',
68
- '永康區' => '710', '歸仁區' => '711', '新化區' => '712', '左鎮區' => '713', '玉井區' => '714', '楠西區' => '715',
69
- '南化區' => '716', '仁德區' => '717', '關廟區' => '718', '龍崎區' => '719', '官田區' => '720', '麻豆區' => '721',
70
- '佳里區' => '722', '西港區' => '723', '七股區' => '724', '將軍區' => '725', '學甲區' => '726', '北門區' => '727',
71
- '新營區' => '730', '後壁區' => '731', '白河區' => '732', '東山區' => '733', '六甲區' => '734', '下營區' => '735',
72
- '柳營區' => '736', '鹽水區' => '737', '善化區' => '741', '大內區' => '742', '山上區' => '743', '新市區' => '744',
73
- '安定區' => '745'
74
- },
75
- '高雄市' => {
76
- '新興區' => '800', '前金區' => '801', '苓雅區' => '802', '鹽埕區' => '803', '鼓山區' => '804', '旗津區' => '805',
77
- '前鎮區' => '806', '三民區' => '807', '楠梓區' => '811', '小港區' => '812', '左營區' => '813',
78
- '仁武區' => '814', '大社區' => '815', '東沙群島' => '817', '南沙群島' => '819', '岡山區' => '820', '路竹區' => '821',
79
- '阿蓮區' => '822', '田寮區' => '823',
80
- '燕巢區' => '824', '橋頭區' => '825', '梓官區' => '826', '彌陀區' => '827', '永安區' => '828', '湖內區' => '829',
81
- '鳳山區' => '830', '大寮區' => '831', '林園區' => '832', '鳥松區' => '833', '大樹區' => '840', '旗山區' => '842',
82
- '美濃區' => '843', '六龜區' => '844', '內門區' => '845', '杉林區' => '846', '甲仙區' => '847', '桃源區' => '848',
83
- '那瑪夏區' => '849', '茂林區' => '851', '茄萣區' => '852'
84
- },
85
- '屏東縣' => {
86
- '屏東市' => '900', '三地門鄉' => '901', '霧臺鄉' => '902', '瑪家鄉' => '903', '九如鄉' => '904', '里港鄉' => '905',
87
- '高樹鄉' => '906', '鹽埔鄉' => '907', '長治鄉' => '908', '麟洛鄉' => '909', '竹田鄉' => '911', '內埔鄉' => '912',
88
- '萬丹鄉' => '913', '潮州鎮' => '920', '泰武鄉' => '921', '來義鄉' => '922', '萬巒鄉' => '923', '崁頂鄉' => '924',
89
- '新埤鄉' => '925', '南州鄉' => '926', '林邊鄉' => '927', '東港鎮' => '928', '琉球鄉' => '929', '佳冬鄉' => '931',
90
- '新園鄉' => '932', '枋寮鄉' => '940', '枋山鄉' => '941', '春日鄉' => '942', '獅子鄉' => '943', '車城鄉' => '944',
91
- '牡丹鄉' => '945', '恆春鎮' => '946', '滿州鄉' => '947'
92
- },
93
- '台東縣' => {
94
- '臺東市' => '950', '綠島鄉' => '951', '蘭嶼鄉' => '952', '延平鄉' => '953', '卑南鄉' => '954', '鹿野鄉' => '955',
95
- '關山鎮' => '956', '海端鄉' => '957', '池上鄉' => '958', '東河鄉' => '959', '成功鎮' => '961', '長濱鄉' => '962',
96
- '太麻里鄉' => '963', '金峰鄉' => '964', '大武鄉' => '965', '達仁鄉' => '966'
97
- },
98
- '花蓮縣' => {
99
- '花蓮市' => '970', '新城鄉' => '971', '秀林鄉' => '972', '吉安鄉' => '973', '壽豐鄉' => '974', '鳳林鎮' => '975',
100
- '光復鄉' => '976', '豐濱鄉' => '977', '瑞穗鄉' => '978', '萬榮鄉' => '979', '玉里鎮' => '981', '卓溪鄉' => '982',
101
- '富里鄉' => '983'
102
- },
103
- '金門縣' => {'金沙鎮' => '890', '金湖鎮' => '891', '金寧鄉' => '892', '金城鎮' => '893', '烈嶼鄉' => '894', '烏坵鄉' => '896'},
104
- '連江縣' => {'南竿鄉' => '209', '北竿鄉' => '210', '莒光鄉' => '211', '東引鄉' => '212'},
105
- '澎湖縣' => {'馬公市' => '880', '西嶼鄉' => '881', '望安鄉' => '882', '七美鄉' => '883', '白沙鄉' => '884', '湖西鄉' => '885'}
6
+ "基隆市" => {
7
+ "仁愛區" => "200", "信義區" => "201", "中正區" => "202", "中山區" => "203", "安樂區" => "204",
8
+ "暖暖區" => "205", "七堵區" => "206"
9
+ },
10
+ "台北市" => {
11
+ "中正區" => "100", "大同區" => "103", "中山區" => "104", "松山區" => "105", "大安區" => "106",
12
+ "萬華區" => "108", "信義區" => "110", "士林區" => "111", "北投區" => "112", "內湖區" => "114",
13
+ "南港區" => "115", "文山區" => "116"
14
+ },
15
+ "新北市" => {
16
+ "萬里區" => "207", "金山區" => "208", "板橋區" => "220", "汐止區" => "221", "深坑區" => "222",
17
+ "石碇區" => "223", "瑞芳區" => "224", "平溪區" => "226", "雙溪區" => "227", "貢寮區" => "228",
18
+ "新店區" => "231", "坪林區" => "232", "烏來區" => "233", "永和區" => "234", "中和區" => "235",
19
+ "土城區" => "236", "三峽區" => "237", "樹林區" => "238", "鶯歌區" => "239", "三重區" => "241",
20
+ "新莊區" => "242", "泰山區" => "243", "林口區" => "244", "蘆洲區" => "247", "五股區" => "248",
21
+ "八里區" => "249", "淡水區" => "251", "三芝區" => "252", "石門區" => "253"
22
+ },
23
+ "宜蘭縣" => {
24
+ "宜蘭市" => "260", "頭城鎮" => "261", "礁溪鄉" => "262", "壯圍鄉" => "263", "員山鄉" => "264",
25
+ "羅東鎮" => "265", "三星鄉" => "266", "大同鄉" => "267", "五結鄉" => "268", "冬山鄉" => "269",
26
+ "蘇澳鎮" => "270", "南澳鄉" => "272", "釣魚台列嶼" => "290"
27
+ },
28
+ "新竹市" => {
29
+ "東區" => "300", "北區" => "300", "香山區" => "300"
30
+ },
31
+ "新竹縣" => {
32
+ "竹北市" => "302", "湖口鄉" => "303", "新豐鄉" => "304", "新埔鎮" => "305", "關西鎮" => "306",
33
+ "芎林鄉" => "307", "寶山鄉" => "308", "竹東鎮" => "310", "五峰鄉" => "311", "橫山鄉" => "312",
34
+ "尖石鄉" => "313", "北埔鄉" => "314", "峨嵋鄉" => "315"
35
+ },
36
+ "桃園市" => {
37
+ "中壢區" => "320", "平鎮區" => "324", "龍潭區" => "325", "楊梅區" => "326", "新屋區" => "327",
38
+ "觀音區" => "328", "桃園區" => "330", "龜山區" => "333", "八德區" => "334", "大溪區" => "335",
39
+ "復興區" => "336", "大園區" => "337", "蘆竹區" => "338"
40
+ },
41
+ "苗栗縣" => {
42
+ "竹南鎮" => "350", "頭份市" => "351", "三灣鄉" => "352", "南庄鄉" => "353", "獅潭鄉" => "354",
43
+ "後龍鎮" => "356", "通霄鎮" => "357", "苑裡鎮" => "358", "苗栗市" => "360", "造橋鄉" => "361",
44
+ "頭屋鄉" => "362", "公館鄉" => "363", "大湖鄉" => "364", "泰安鄉" => "365", "銅鑼鄉" => "366",
45
+ "三義鄉" => "367", "西湖鄉" => "368", "卓蘭鎮" => "369"
46
+ },
47
+ "台中市" => {
48
+ "中區" => "400", "東區" => "401", "南區" => "402", "西區" => "403", "北區" => "404",
49
+ "北屯區" => "406", "西屯區" => "407", "南屯區" => "408", "太平區" => "411", "大里區" => "412",
50
+ "霧峰區" => "413", "烏日區" => "414", "豐原區" => "420", "后里區" => "421", "石岡區" => "422",
51
+ "東勢區" => "423", "和平區" => "424", "新社區" => "426", "潭子區" => "427", "大雅區" => "428",
52
+ "神岡區" => "429", "大肚區" => "432", "沙鹿區" => "433", "龍井區" => "434", "梧棲區" => "435",
53
+ "清水區" => "436", "大甲區" => "437", "外埔區" => "438", "大安區" => "439"
54
+ },
55
+ "彰化縣" => {
56
+ "彰化市" => "500", "芬園鄉" => "502", "花壇鄉" => "503", "秀水鄉" => "504", "鹿港鎮" => "505",
57
+ "福興鄉" => "506", "線西鄉" => "507", "和美鎮" => "508", "伸港鄉" => "509", "員林市" => "510",
58
+ "社頭鄉" => "511", "永靖鄉" => "512", "埔心鄉" => "513", "溪湖鎮" => "514", "大村鄉" => "515",
59
+ "埔鹽鄉" => "516", "田中鎮" => "520", "北斗鎮" => "521", "田尾鄉" => "522", "埤頭鄉" => "523",
60
+ "溪州鄉" => "524", "竹塘鄉" => "525", "二林鎮" => "526", "大城鄉" => "527", "芳苑鄉" => "528",
61
+ "二水鄉" => "530"
62
+ },
63
+ "南投縣" => {
64
+ "南投市" => "540", "中寮鄉" => "541", "草屯鎮" => "542", "國姓鄉" => "544", "埔里鎮" => "545",
65
+ "仁愛鄉" => "546", "名間鄉" => "551", "集集鎮" => "552", "水里鄉" => "553", "魚池鄉" => "555",
66
+ "信義鄉" => "556", "竹山鎮" => "557", "鹿谷鄉" => "558"
67
+ },
68
+ "嘉義市" => {
69
+ "東區" => "600", "西區" => "600"
70
+ },
71
+ "嘉義縣" => {
72
+ "番路鄉" => "602", "梅山鄉" => "603", "竹崎鄉" => "604", "阿里山" => "605", "中埔鄉" => "606",
73
+ "大埔鄉" => "607", "水上鄉" => "608", "鹿草鄉" => "611", "太保市" => "612", "朴子市" => "613",
74
+ "東石鄉" => "614", "六腳鄉" => "615", "新港鄉" => "616", "民雄鄉" => "621", "大林鎮" => "622",
75
+ "溪口鄉" => "623", "義竹鄉" => "624", "布袋鎮" => "625"
76
+ },
77
+ "雲林縣" => {
78
+ "斗南鎮" => "630", "大埤鄉" => "631", "虎尾鎮" => "632", "土庫鎮" => "633", "褒忠鄉" => "634",
79
+ "東勢鄉" => "635", "臺西鄉" => "636", "崙背鄉" => "637", "麥寮鄉" => "638", "斗六市" => "640",
80
+ "林內鄉" => "643", "古坑鄉" => "646", "莿桐鄉" => "647", "西螺鎮" => "648", "二崙鄉" => "649",
81
+ "北港鎮" => "651", "水林鄉" => "652", "口湖鄉" => "653", "四湖鄉" => "654", "元長鄉" => "655"
82
+ },
83
+ "台南市" => {
84
+ "中西區" => "700", "東區" => "701", "南區" => "702", "北區" => "704", "安平區" => "708",
85
+ "安南區" => "709", "永康區" => "710", "歸仁區" => "711", "新化區" => "712", "左鎮區" => "713",
86
+ "玉井區" => "714", "楠西區" => "715", "南化區" => "716", "仁德區" => "717", "關廟區" => "718",
87
+ "龍崎區" => "719", "官田區" => "720", "麻豆區" => "721", "佳里區" => "722", "西港區" => "723",
88
+ "七股區" => "724", "將軍區" => "725", "學甲區" => "726", "北門區" => "727", "新營區" => "730",
89
+ "後壁區" => "731", "白河區" => "732", "東山區" => "733", "六甲區" => "734", "下營區" => "735",
90
+ "柳營區" => "736", "鹽水區" => "737", "善化區" => "741", "大內區" => "742", "山上區" => "743",
91
+ "新市區" => "744", "安定區" => "745"
92
+ },
93
+ "高雄市" => {
94
+ "新興區" => "800", "前金區" => "801", "苓雅區" => "802", "鹽埕區" => "803", "鼓山區" => "804",
95
+ "旗津區" => "805", "前鎮區" => "806", "三民區" => "807", "楠梓區" => "811", "小港區" => "812",
96
+ "左營區" => "813", "仁武區" => "814", "大社區" => "815", "東沙群島" => "817", "南沙群島" => "819",
97
+ "岡山區" => "820", "路竹區" => "821", "阿蓮區" => "822", "田寮區" => "823", "燕巢區" => "824",
98
+ "橋頭區" => "825", "梓官區" => "826", "彌陀區" => "827", "永安區" => "828", "湖內區" => "829",
99
+ "鳳山區" => "830", "大寮區" => "831", "林園區" => "832", "鳥松區" => "833", "大樹區" => "840",
100
+ "旗山區" => "842", "美濃區" => "843", "六龜區" => "844", "內門區" => "845", "杉林區" => "846",
101
+ "甲仙區" => "847", "桃源區" => "848", "那瑪夏區" => "849", "茂林區" => "851", "茄萣區" => "852"
102
+ },
103
+ "屏東縣" => {
104
+ "屏東市" => "900", "三地門鄉" => "901", "霧臺鄉" => "902", "瑪家鄉" => "903", "九如鄉" => "904",
105
+ "里港鄉" => "905", "高樹鄉" => "906", "鹽埔鄉" => "907", "長治鄉" => "908", "麟洛鄉" => "909",
106
+ "竹田鄉" => "911", "內埔鄉" => "912", "萬丹鄉" => "913", "潮州鎮" => "920", "泰武鄉" => "921",
107
+ "來義鄉" => "922", "萬巒鄉" => "923", "崁頂鄉" => "924", "新埤鄉" => "925", "南州鄉" => "926",
108
+ "林邊鄉" => "927", "東港鎮" => "928", "琉球鄉" => "929", "佳冬鄉" => "931", "新園鄉" => "932",
109
+ "枋寮鄉" => "940", "枋山鄉" => "941", "春日鄉" => "942", "獅子鄉" => "943", "車城鄉" => "944",
110
+ "牡丹鄉" => "945", "恆春鎮" => "946", "滿州鄉" => "947"
111
+ },
112
+ "台東縣" => {
113
+ "臺東市" => "950", "綠島鄉" => "951", "蘭嶼鄉" => "952", "延平鄉" => "953", "卑南鄉" => "954",
114
+ "鹿野鄉" => "955", "關山鎮" => "956", "海端鄉" => "957", "池上鄉" => "958", "東河鄉" => "959",
115
+ "成功鎮" => "961", "長濱鄉" => "962", "太麻里鄉" => "963", "金峰鄉" => "964", "大武鄉" => "965",
116
+ "達仁鄉" => "966"
117
+ },
118
+ "花蓮縣" => {
119
+ "花蓮市" => "970", "新城鄉" => "971", "秀林鄉" => "972", "吉安鄉" => "973", "壽豐鄉" => "974",
120
+ "鳳林鎮" => "975", "光復鄉" => "976", "豐濱鄉" => "977", "瑞穗鄉" => "978", "萬榮鄉" => "979",
121
+ "玉里鎮" => "981", "卓溪鄉" => "982", "富里鄉" => "983"
122
+ },
123
+ "金門縣" => {
124
+ "金沙鎮" => "890", "金湖鎮" => "891", "金寧鄉" => "892", "金城鎮" => "893", "烈嶼鄉" => "894",
125
+ "烏坵鄉" => "896"
126
+ },
127
+ "連江縣" => {
128
+ "南竿鄉" => "209", "北竿鄉" => "210", "莒光鄉" => "211", "東引鄉" => "212"
129
+ },
130
+ "澎湖縣" => {
131
+ "馬公市" => "880", "西嶼鄉" => "881", "望安鄉" => "882", "七美鄉" => "883", "白沙鄉" => "884",
132
+ "湖西鄉" => "885"
133
+ }
106
134
  }
107
135
 
108
136
  def self.code_regex
109
- /(.{0,2}市|.{0,2}縣)(新市區|左鎮區|平鎮區|釣魚台列嶼|東沙群島|南沙群島|那瑪夏區|.{0,2}區|.{0,3}鄉|.{0,2}鎮|.{0,2}市)/
137
+ /(.{0,2}市|.{0,2}縣)(新市區|左鎮區|平鎮區|釣魚台列嶼|東沙群島|南沙群島|那瑪夏區|阿里山|.{0,2}區|.{0,3}鄉|.{0,2}鎮|.{0,2}市)/
110
138
  end
111
139
 
112
140
  def self.find_zip_code(address)
@@ -120,6 +148,7 @@ module SuperZipcode
120
148
  CITY_ZONE_ZIP_CODES[city][district]
121
149
  end
122
150
 
151
+ # NOTE: 輸入 台北市東沙群島 可以找到台北市是否合理?
123
152
  def self.find_city(address)
124
153
  regex_match = code_regex =~ address
125
154
  return nil if regex_match.blank?
data/super_tools.gemspec CHANGED
@@ -1,14 +1,13 @@
1
-
2
1
  lib = File.expand_path("../lib", __FILE__)
3
2
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
4
3
  require "super_tools/version"
5
4
 
6
5
  Gem::Specification.new do |spec|
6
+
7
7
  spec.name = "super_tools"
8
8
  spec.version = SuperTools::VERSION
9
9
  spec.authors = ["eddie"]
10
10
  spec.email = ["eddie.li.624@gmail.com"]
11
-
12
11
  spec.summary = %q{Rails 開發環境常用工具 Forms/Process/Spreadsheet}
13
12
  spec.description = %q{Rails 開發環境常用工具 Forms/Process/Spreadsheet}
14
13
  spec.homepage = "https://github.com/superlanding/super_tools"
@@ -16,38 +15,33 @@ Gem::Specification.new do |spec|
16
15
 
17
16
  # Specify which files should be added to the gem when it is released.
18
17
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
19
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
18
+ spec.files = Dir.chdir(File.expand_path("..", __FILE__)) do
20
19
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
21
20
  end
22
21
  spec.bindir = "exe"
23
22
  spec.executables = spec.files.grep(%r{^exe/}) { |f| File.basename(f) }
24
23
  spec.require_paths = ["lib"]
25
24
 
26
- spec.add_development_dependency "bundler", "~> 1.16"
27
- spec.add_development_dependency "rake", "~> 10.0"
25
+ spec.add_development_dependency "bundler", ">= 2", "< 3"
26
+ spec.add_development_dependency "rake", ">= 12.2"
28
27
  spec.add_development_dependency "minitest", "~> 5.0"
29
28
  spec.add_development_dependency "shoulda-context"
29
+ spec.add_development_dependency "warning"
30
+ spec.add_development_dependency "sqlite3", "1.4.4"
30
31
 
31
-
32
- spec.add_dependency "rails", ">= 4"
33
- # spec.add_dependency "i18n", "< 1"
34
- # spec.add_dependency "actionview", '>= 4', '<= 6'
35
- # spec.add_dependency 'activerecord', '>= 4', '<= 6'
36
- # spec.add_dependency "activemodel", '>= 4', '<= 6'
37
- # spec.add_dependency "activesupport", '>= 4', '<= 6'
38
- # spec.add_dependency "activeview"
39
- spec.add_dependency "nokogiri", ">= 1.6", "<= 1.10.7"
32
+ spec.add_dependency "rails", "> 6", "< 7"
33
+ spec.add_dependency "nokogiri", ">= 1.6"
40
34
  spec.add_dependency "fast_excel"
41
35
  spec.add_dependency "roo"
42
- spec.add_dependency "roo-xls"
36
+ spec.add_dependency "roo-xls", "1.2.0"
43
37
  spec.add_dependency "spreadsheet"
44
- spec.add_dependency "iconv"
45
- spec.add_dependency "virtus", '~> 1.0.5'
38
+ spec.add_dependency "virtus", "~> 1.0.5"
39
+ spec.add_dependency "forwardable"
40
+ spec.add_dependency "warehouse_items", "~> 1.0.0"
41
+ spec.add_dependency "searchkick"
42
+
43
+ spec.add_dependency "reform", "2.6.2"
46
44
  spec.add_dependency "reform-rails"
47
- spec.add_dependency "reform", '~> 2.2.4'
48
- spec.add_dependency "dry-types", '~> 0.13.2'
49
- spec.add_dependency 'dry-logic', '~> 0.4.2'
50
- spec.add_dependency 'forwardable'
51
- spec.add_dependency 'warehouse_items', '~> 0.3.0'
52
- spec.add_dependency 'searchkick'
45
+ spec.add_dependency "dry-types", "1.5.1"
46
+ spec.add_dependency "dry-logic", "1.2.0"
53
47
  end