From 621fbbb420cb0873f8a5bcd3c969feefa75ff622 Mon Sep 17 00:00:00 2001 From: Bohung Date: Tue, 27 Jul 2021 16:31:45 +0800 Subject: [PATCH] Finish first version. --- .gitignore | 8 ++ Gemfile | 15 +++ MIT-LICENSE | 20 +++ README.md | 1 + README.rdoc | 3 + Rakefile | 32 +++++ .../images/ruling_weather/dataid_example.png | Bin 0 -> 90923 bytes .../observatory_name_example.png | Bin 0 -> 150059 bytes app/assets/javascripts/.keep | 0 app/assets/stylesheets/ruling_weather/.keep | 0 app/controllers/.keep | 0 .../admin/ruling_weathers_controller.rb | 33 +++++ app/controllers/ruling_weathers_controller.rb | 13 ++ app/helpers/admin/ruling_weathers_helper.rb | 2 + app/helpers/ruling_weathers_helper.rb | 2 + app/mailers/.keep | 0 app/models/ruling_weather_setting.rb | 107 ++++++++++++++++ .../ruling_weathers/_location_help.html.erb | 118 ++++++++++++++++++ .../ruling_weathers/_setting_form.html.erb | 112 +++++++++++++++++ .../ruling_weathers/edit_setting.html.erb | 5 + .../admin/ruling_weathers/index.html.erb | 29 +++++ .../ruling_weathers/new_setting.html.erb | 5 + app/views/ruling_weathers/.keep | 0 bin/rails | 14 +++ config/locales/en.yml | 16 +++ config/locales/zh_tw.yml | 16 +++ config/routes.rb | 21 ++++ lib/ruling_weather.rb | 5 + lib/ruling_weather/engine.rb | 26 ++++ lib/ruling_weather/version.rb | 3 + lib/tasks/.keep | 0 .../_ruling_weather_widget1.html.erb | 52 ++++++++ modules/ruling_weather/info.json | 14 +++ .../ruling_weather/thumbs/weather1_thumbs.png | Bin 0 -> 22240 bytes ruling_weather.gemspec | 31 +++++ test/dummy/.ruby-version | 1 + test/dummy/README.rdoc | 28 +++++ test/dummy/Rakefile | 6 + test/dummy/app/assets/config/manifest.js | 2 + test/dummy/app/assets/images/.keep | 0 .../app/assets/javascripts/application.js | 13 ++ .../app/assets/stylesheets/application.css | 15 +++ .../app/channels/application_cable/channel.rb | 4 + .../channels/application_cable/connection.rb | 4 + .../app/controllers/application_controller.rb | 2 + test/dummy/app/controllers/concerns/.keep | 0 test/dummy/app/helpers/application_helper.rb | 2 + .../dummy/app/javascript/packs/application.js | 15 +++ test/dummy/app/jobs/application_job.rb | 7 ++ test/dummy/app/mailers/.keep | 0 test/dummy/app/mailers/application_mailer.rb | 4 + test/dummy/app/models/.keep | 0 test/dummy/app/models/application_record.rb | 3 + test/dummy/app/models/concerns/.keep | 0 .../app/views/layouts/application.html.erb | 14 +++ test/dummy/app/views/layouts/mailer.html.erb | 13 ++ test/dummy/app/views/layouts/mailer.text.erb | 1 + test/dummy/bin/bundle | 3 + test/dummy/bin/rails | 4 + test/dummy/bin/rake | 4 + test/dummy/bin/setup | 33 +++++ test/dummy/config.ru | 5 + test/dummy/config/application.rb | 19 +++ test/dummy/config/boot.rb | 5 + test/dummy/config/cable.yml | 10 ++ test/dummy/config/database.yml | 25 ++++ test/dummy/config/environment.rb | 5 + test/dummy/config/environments/development.rb | 62 +++++++++ test/dummy/config/environments/production.rb | 112 +++++++++++++++++ test/dummy/config/environments/test.rb | 48 +++++++ .../application_controller_renderer.rb | 8 ++ test/dummy/config/initializers/assets.rb | 12 ++ .../initializers/backtrace_silencers.rb | 7 ++ .../initializers/content_security_policy.rb | 28 +++++ .../config/initializers/cookies_serializer.rb | 5 + .../initializers/filter_parameter_logging.rb | 4 + test/dummy/config/initializers/inflections.rb | 16 +++ test/dummy/config/initializers/mime_types.rb | 4 + .../config/initializers/session_store.rb | 3 + .../to_time_preserves_timezone.rb | 10 ++ .../config/initializers/wrap_parameters.rb | 14 +++ test/dummy/config/locales/en.yml | 33 +++++ test/dummy/config/puma.rb | 38 ++++++ test/dummy/config/routes.rb | 3 + test/dummy/config/secrets.yml | 22 ++++ test/dummy/config/spring.rb | 6 + test/dummy/config/storage.yml | 34 +++++ test/dummy/lib/assets/.keep | 0 test/dummy/log/.keep | 0 test/dummy/public/404.html | 67 ++++++++++ test/dummy/public/422.html | 67 ++++++++++ test/dummy/public/500.html | 66 ++++++++++ .../public/apple-touch-icon-precomposed.png | 0 test/dummy/public/apple-touch-icon.png | 0 test/dummy/public/favicon.ico | 0 test/integration/navigation_test.rb | 7 ++ test/ruling_template_test.rb | 7 ++ test/ruling_timer_test.rb | 7 ++ test/test_helper.rb | 18 +++ 99 files changed, 1658 insertions(+) create mode 100644 .gitignore create mode 100644 Gemfile create mode 100644 MIT-LICENSE create mode 100644 README.md create mode 100644 README.rdoc create mode 100644 Rakefile create mode 100644 app/assets/images/ruling_weather/dataid_example.png create mode 100644 app/assets/images/ruling_weather/observatory_name_example.png create mode 100644 app/assets/javascripts/.keep create mode 100644 app/assets/stylesheets/ruling_weather/.keep create mode 100644 app/controllers/.keep create mode 100644 app/controllers/admin/ruling_weathers_controller.rb create mode 100644 app/controllers/ruling_weathers_controller.rb create mode 100644 app/helpers/admin/ruling_weathers_helper.rb create mode 100644 app/helpers/ruling_weathers_helper.rb create mode 100644 app/mailers/.keep create mode 100644 app/models/ruling_weather_setting.rb create mode 100644 app/views/admin/ruling_weathers/_location_help.html.erb create mode 100644 app/views/admin/ruling_weathers/_setting_form.html.erb create mode 100644 app/views/admin/ruling_weathers/edit_setting.html.erb create mode 100644 app/views/admin/ruling_weathers/index.html.erb create mode 100644 app/views/admin/ruling_weathers/new_setting.html.erb create mode 100644 app/views/ruling_weathers/.keep create mode 100644 bin/rails create mode 100644 config/locales/en.yml create mode 100644 config/locales/zh_tw.yml create mode 100644 config/routes.rb create mode 100644 lib/ruling_weather.rb create mode 100644 lib/ruling_weather/engine.rb create mode 100644 lib/ruling_weather/version.rb create mode 100644 lib/tasks/.keep create mode 100644 modules/ruling_weather/_ruling_weather_widget1.html.erb create mode 100644 modules/ruling_weather/info.json create mode 100644 modules/ruling_weather/thumbs/weather1_thumbs.png create mode 100644 ruling_weather.gemspec create mode 100644 test/dummy/.ruby-version create mode 100644 test/dummy/README.rdoc create mode 100644 test/dummy/Rakefile create mode 100644 test/dummy/app/assets/config/manifest.js create mode 100644 test/dummy/app/assets/images/.keep create mode 100644 test/dummy/app/assets/javascripts/application.js create mode 100644 test/dummy/app/assets/stylesheets/application.css create mode 100644 test/dummy/app/channels/application_cable/channel.rb create mode 100644 test/dummy/app/channels/application_cable/connection.rb create mode 100644 test/dummy/app/controllers/application_controller.rb create mode 100644 test/dummy/app/controllers/concerns/.keep create mode 100644 test/dummy/app/helpers/application_helper.rb create mode 100644 test/dummy/app/javascript/packs/application.js create mode 100644 test/dummy/app/jobs/application_job.rb create mode 100644 test/dummy/app/mailers/.keep create mode 100644 test/dummy/app/mailers/application_mailer.rb create mode 100644 test/dummy/app/models/.keep create mode 100644 test/dummy/app/models/application_record.rb create mode 100644 test/dummy/app/models/concerns/.keep create mode 100644 test/dummy/app/views/layouts/application.html.erb create mode 100644 test/dummy/app/views/layouts/mailer.html.erb create mode 100644 test/dummy/app/views/layouts/mailer.text.erb create mode 100644 test/dummy/bin/bundle create mode 100644 test/dummy/bin/rails create mode 100644 test/dummy/bin/rake create mode 100644 test/dummy/bin/setup create mode 100644 test/dummy/config.ru create mode 100644 test/dummy/config/application.rb create mode 100644 test/dummy/config/boot.rb create mode 100644 test/dummy/config/cable.yml create mode 100644 test/dummy/config/database.yml create mode 100644 test/dummy/config/environment.rb create mode 100644 test/dummy/config/environments/development.rb create mode 100644 test/dummy/config/environments/production.rb create mode 100644 test/dummy/config/environments/test.rb create mode 100644 test/dummy/config/initializers/application_controller_renderer.rb create mode 100644 test/dummy/config/initializers/assets.rb create mode 100644 test/dummy/config/initializers/backtrace_silencers.rb create mode 100644 test/dummy/config/initializers/content_security_policy.rb create mode 100644 test/dummy/config/initializers/cookies_serializer.rb create mode 100644 test/dummy/config/initializers/filter_parameter_logging.rb create mode 100644 test/dummy/config/initializers/inflections.rb create mode 100644 test/dummy/config/initializers/mime_types.rb create mode 100644 test/dummy/config/initializers/session_store.rb create mode 100644 test/dummy/config/initializers/to_time_preserves_timezone.rb create mode 100644 test/dummy/config/initializers/wrap_parameters.rb create mode 100644 test/dummy/config/locales/en.yml create mode 100644 test/dummy/config/puma.rb create mode 100644 test/dummy/config/routes.rb create mode 100644 test/dummy/config/secrets.yml create mode 100644 test/dummy/config/spring.rb create mode 100644 test/dummy/config/storage.yml create mode 100644 test/dummy/lib/assets/.keep create mode 100644 test/dummy/log/.keep create mode 100644 test/dummy/public/404.html create mode 100644 test/dummy/public/422.html create mode 100644 test/dummy/public/500.html create mode 100644 test/dummy/public/apple-touch-icon-precomposed.png create mode 100644 test/dummy/public/apple-touch-icon.png create mode 100644 test/dummy/public/favicon.ico create mode 100644 test/integration/navigation_test.rb create mode 100644 test/ruling_template_test.rb create mode 100644 test/ruling_timer_test.rb create mode 100644 test/test_helper.rb diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..e157571 --- /dev/null +++ b/.gitignore @@ -0,0 +1,8 @@ +.bundle/ +log/*.log +pkg/ +test/dummy/db/*.sqlite3 +test/dummy/db/*.sqlite3-journal +test/dummy/log/*.log +test/dummy/storage/ +test/dummy/tmp/ diff --git a/Gemfile b/Gemfile new file mode 100644 index 0000000..8c7e7f2 --- /dev/null +++ b/Gemfile @@ -0,0 +1,15 @@ +source 'https://rubygems.org' +git_source(:github) { |repo| "https://github.com/#{repo}.git" } + +# Declare your gem's dependencies in sync_ntnu_personal_data.gemspec. +# Bundler will treat runtime dependencies like base dependencies, and +# development dependencies will be added by default to the :development group. +gemspec + +# Declare any dependencies that are still in development here instead of in +# your gemspec. These might include edge Rails or gems from your path or +# Git. Remember to move these dependencies to your gemspec before releasing +# your gem to rubygems.org. + +# To use a debugger +# gem 'byebug', group: [:development, :test] diff --git a/MIT-LICENSE b/MIT-LICENSE new file mode 100644 index 0000000..5fe3c6c --- /dev/null +++ b/MIT-LICENSE @@ -0,0 +1,20 @@ +Copyright 2021 BOHUNG,CHIU + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9c22e09 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +Ruling Weather \ No newline at end of file diff --git a/README.rdoc b/README.rdoc new file mode 100644 index 0000000..08ac497 --- /dev/null +++ b/README.rdoc @@ -0,0 +1,3 @@ += RulingWeather + +This project rocks and uses MIT-LICENSE. \ No newline at end of file diff --git a/Rakefile b/Rakefile new file mode 100644 index 0000000..cdafd31 --- /dev/null +++ b/Rakefile @@ -0,0 +1,32 @@ +begin + require 'bundler/setup' +rescue LoadError + puts 'You must `gem install bundler` and `bundle install` to run rake tasks' +end + +require 'rdoc/task' + +RDoc::Task.new(:rdoc) do |rdoc| + rdoc.rdoc_dir = 'rdoc' + rdoc.title = 'RulingWeather' + rdoc.options << '--line-numbers' + rdoc.rdoc_files.include('README.md') + rdoc.rdoc_files.include('lib/**/*.rb') +end + +APP_RAKEFILE = File.expand_path("test/dummy/Rakefile", __dir__) +load 'rails/tasks/engine.rake' + +load 'rails/tasks/statistics.rake' + +require 'bundler/gem_tasks' + +require 'rake/testtask' + +Rake::TestTask.new(:test) do |t| + t.libs << 'test' + t.pattern = 'test/**/*_test.rb' + t.verbose = false +end + +task default: :test diff --git a/app/assets/images/ruling_weather/dataid_example.png b/app/assets/images/ruling_weather/dataid_example.png new file mode 100644 index 0000000000000000000000000000000000000000..bef4906f5b0e1ff947d512194ff26d62089b0727 GIT binary patch literal 90923 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

}_JqN+& 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 literal 0 HcmV?d00001 diff --git a/app/assets/images/ruling_weather/observatory_name_example.png b/app/assets/images/ruling_weather/observatory_name_example.png new file mode 100644 index 0000000000000000000000000000000000000000..1826c9eaa87e7198cef8533b21f9ec5e9cfa0ec0 GIT binary patch literal 150059 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

yqu$QE{!v> zrN9JvXnW`n35UPfAY^XgUKAF>1bc1b>$T9@;XG<*S?Bd)-F5zr*L>%;uab392=qPV zQ8mD2(~=4?X}WZT_d(@LwVlvf$C{$HetE?oiF`S*P`>A?H%}_KQPS=VkV;iZ9FL0Z zs0+2hymmsJojdjI{t1LmHBOfoG|$xbIv86mT+9gz+>Z}Z3ZaP!rzSU3n$uys2o8Lk zSw+P-EuKMq4KfItvh`-MQh!6yPa_de9i)|c5UqH+&E64=BJn!Om1HvK^W3$4t=Pli zYf%e0rs8C-V#PVZ(K1fgA%mU{|DPTK%}I@SuhgxVw^*!6H;x~F0-wm_8nncz(u<;>!P>oC#Ugbq_Nn-Z z&6viK^pxm(X8clssM(@Jld}@AN>*BGzHNC%>o{lV(sAi&$hDQIn@j%qyJ{IeX{BS- zQf9^zi|$O4ZeTwLl=m*T>uF-^<{!haF7$QMPN+e@hhNgpVtk>j&~x$Ttuw3pDn85h z9*n(jGsvsIG$96;BHfhol!y><&Y>Qr@|d~7hhqXAFeP$BF!eO#4DUlbJ_fr$Ls_(6 z@M^?bRO5Of$^+T^B`Yg8e1)IppTJ`tHye$F)Ny91wkyAM{OBF;E7Ny!UlWF-hKcAM z<{SnW>ArsXh)T-p$Y>!%|2ZX&N3oYTrN|cFw(HoYHhDukeQ5gv}9`@Bi!Hat1mmfxaxx{napMQ_cy8iVHt~0?dl7QYw!$SHfDd3^)RW}=1 zI(@ba0*up2RLfpNT2gQ$;aeQb)WmZmo;35b0b$@%queQC1Y0$uz&G(nb4j^~TQGNv?ab@SCClj>j{tT9 z%hY7os*h_YV={Ss`@I0Z-#U&@?l^WEI|C)a{}J4G4(yf?@u35-qYUbi2JTP!Mm7Il zQ{&L^gjpkU=-1XZDrROe?gnXc98lSzZpd*W9R*72ND&omwJ$1p&#Lp*Z zVxy;HXxx1*sjM7EHKeHRxL z)4q-&_-7&fDEQJ5-0QW`4VjOK(-;LZ`^)K|GV%eB?Sw?xuRpu2!pK!e*{xh7Yca&y z*_rY523&Q)RCvR2*+#w<*jS+NSNCSgIfkUm?hgtqJi>>)0Sz3lj*grtEJLk|m5i(| zp)|+pK)2Uv$Dy4kn)eO2{QPb4HV5kJ=!TFd^nYZS2gye3&*sBu>^j(}Z>w~$HQWs+ z@qy-`Gh{gAotpH{n4i04{zg8D;_s(4M$H4npGYqfrafl` z#nWeH7x4|3lbklv78coG>h^)8<`|L+J5ofHM?uT zC86!1vck}l_0$hkFX;1xHRQysN4C~_W(2+%bZ+Sc5v{Xs{^mseM=8`q*=Tl)#Z$u; z!j6+{w$lprO~2ht6umoo?N;+qJtnP`2x2x~G?NYr7e=j#)}(FRipwP(^pG4JwuL5E z;i9#Ts+oex^Y)Y@pX<;a8?fyGa;+K`YqT-mO%1JXS)rINTIuoE@0$5SAH7lWJg<$O zhaU`+>s+T9>XVi%%D5+oJ~oz~mVHwyChOx1f%?gq92T3BRycF*hi?Cf814NxZ9e_V zI5`6dWNYhqs0qwo*IuwIUw$mF507F-80;*y_S;ZRT%UFl5PaA~w4Y0=kHV@@Mt zl6@b(&I;knsVeK9CYy{=N-*(RX-|95+2X?8Q045s(QtZQ=&!EQI!iVU$GVqcHTp+V zd~IKyeBb`;6W5=bn%dgNBT+m0gSFz|Z;Ev>iwrlMS{tOVJ{c3<54MnoZ+4PVI5mlgMk}t?b83OkCr9W!^3H zPvS5P|K;N6q5k*OwfpriJMc%K|M#p$#vl#u+Q$ps$MZqshaemfKki)%ZS9|u=jUa} z9TlY$z?}OrsO9$_YXBq;q7b3Li0Me0`jCr}l3gSq=J%)a@b4(DGE;r|1bgO9sLiR^w4S_^JS zoZ5yL$Mc`}{ghj9NhUhVFShw~3gpcEO(dqUd| zDQHW5{|@qA`OkuPD3nsG6YTCL=T}Ax8laZ$o)O4s6rgH--~TIm=`v4~Ww8(CWlF%e zb`ag}QQ$If6a*i90Wn(L;>!@|Hx(J*d>~&`;D0l<&*}M}IUM%i7>v<8v|pZ;mBvz8 zS=iT*kxniTj_}_Dhiiy$wl0CUMCoGTA)C^bS(KH@RtfB1lWWnhVVBY@GQ5AE)U7(@ z^_}A0_Df4+duCaiUhULLQY}T!Y}>QF<>by9JjwRz5E1G3uh>h?mZSqb6}`QuRo;j* z1Y0&gd5kSSUfyTV@GPCBMoZR2!;=*5xZ|7Ik)1XysHHc3W%G1c(wyBTuBL^AYr;P6 zT=sfI4Kv_WLHK%+;Q)AigXY*+5(JP3ysr|e3oWH`F?EG-K(%Q4I5&?v7x$wok(`mo54^6|$vgntlQPuXdV*L%t1r#oRzF0}yhqAj$~z*%<&^{XoC^fCRlTi(AhP!$ zAHd^rr2p{X>(;>rB}vAo=z;&nYNXg%rt`t&e2~AHcbMpi9J>`TNXu2lwZg>*5sSRK z#eEU+@VZ`>$(J*_U1SS}dST?7@MW8o)Us?3da4r|7S<|AN)nEX6a}WBl#NCU&sG+` ziDQ0PuE*0qA7bO?rRbmsDiqeCz(?j?l7tW&s9g6ydp+fk-ay#HD*q}FaJcv->k`U| z_eQs-(Dbm)laabx`GNTu03$31iGPP^M%jY#R&NW2kLkK;$FkYJq-)%Ly9U`(l-wHE zRCCyAmEB@r`pf*ysUFJsTGX&kz-D&AX};`#c%)w?!=!?KPWhwMX{q|>a7`bz{VYO} zhQ-d`nK6fWqj3c%I{EJjgX=V5C@CQ+wHFT__j1l9X6274+uT#3nP=a&0I_O3g_bBKS_ zV==)C#3t@dHHShvz~4Ui-9t^IE4yAbWzwAJjRQvGOE=(+6Z^2&MkKo`i7xBR_e#em z2A*~C&m9ZBx6|&jqQ$RZ)D+l_5#JijbEN|hwf8%FH^)Z4t0iHZH$Q`LqpN3r7)$YZ z!EzDdRLD;nLEk$(x~ZDu5{l2MshSz9(8FdenJbMj^hx=#7Z4yJ02OPgP(AK19vth- zjBf{(jD!dWG*4$X7k1v-w$U|y4rap{X!Ds^?H_YD?pu01MTb~v#w$^Ff{-c}EV0^o zI1M5i+=?zed#)MRb`9tuD}EkPZ1t!VR&eOCn-ep_7^@OdxG8cfG)d{$z02Jc_n3i9 z;;RV)8U9g?pYHTI*dkR16EPA!)y9EF^W-m(T;v7nlad}l{ z86}S*Z*_U2AFZM6qwk%R)t-%ErIT=89DgIWc{msuWqy;;&M~{_HE}*>e!LTk>#fuL z4n|6Gh;d;xC*zz2JY0B~9jmXyxvUC%hm(`vI>lzi$H~ZlVcNN>nZh%_&S+px&1M|b z-h{!z>bN#yHsD~om zJJK3=gpDz=r1K=z36k959TkP68sAG(%60N{dbdFDF-Ke~4B1a_%kQhOE=WDB^Xw9i_8<#hYnAl<<3Q?bSfRj055<6?0wpzlvv%uJ-~<6OxQqs z3$kr5nu%Y&6;sToLyw1e*Igguj_}jWf&=MbbIiA3b$_&heZ7P!yH(fP4$R5vLaWhp z)PTwgJ$a(UW6)^WXyQPPR;zLa(O5%7*=fQC>!x{5iF*E%cd_%gTB+C}j*y%Gl1mII z7wIz4RelHu*ynUvd-yJ?rf9rW{IVp%cFv-cnda;wU+_FX zZ2_=J-sqn2bB)a}H7}^So?;qv=3OTqa|!^2BVB$sI66Oui%mY@JduhB;^dsjWP;wUeu~CtczbwsAVd>d zUk{AU(oidaKx}od^q}5HpFmO!9kI+1h;#XT=O#apH@g@-Uyk7O`AmW!f9VlCoTGcF8mg)WzlW=KOg}X8lu)8nOChye zt_ggcz+C6}bBQ2@06DL!L!)xM=hH5GI;XGK`ad==EO{kW*Ay)H&BrF)OrjMMuqziO zpXipr_ouvpm*Lw@OaN@B8#%dy6IqyI($;5E8&Yc0z_i@R!~L?U)eovj!w}>I^sc2I zfzxwp7B0ntL}(uJnCGUB%y*E37%3KZ-7;jjBH0|TN4 zng_g|jn^<2hT4W8Vv6$|1cS) z0G8DFWUosiA8YYn)Yo!o)c#(;1i3&}2KX%p56qpib*P;-{=7Cy6}{NqT-McVRbXxh*Es-}@?j?4D#!k6%KwHtf|_%{0>!)|K#1_L%^0i?voChf9rr4BAG>sH62-`$?*{|t8gc$ zy~Li1%Jaljte5XwrN6Jqjbg3oHAW`oI$e4sI0YRa!{IRN)k#zy@y*Y5w)*&(@kYiq zteLu6x`#>67J{R&;OrI|yUJiMh&NDZMklAwDp^(4<1&~#FF3(P-hT2MY-Km_+ReV> z0$&ztz+Q-@X~2SHl@gdFW2|)#@X19^pooiE>fzwC$|;v@9s;5z%jc6^9C0TVA8hG@ zTG^y3OjoGprif63DY%zpH+zK4O}{by@N@pwTX!mA`Gp9}>!oz`EGv&VK9{^XkP%hI z{3Yr;iHe{~qjwvwRk=?LC)&keBh7a|F(f38xbc*06z8r%^f2{|8vZ<}>{K~_TE0?cGWdL%bxo$oQt&n92xTA7+s;6*-< zH5L_K?XCLWNT)^RUY|rIT0_Ei{Ss0?G(VASn(X9FLk?j#8g~*b2o8G2V5Lxd;An`< zhgo6{XELP5$cmZK`hr_3jS?r}7)&m*=KNuY764fJwix~`!-P$qu3a+P96&>m-inRh z$aYFYPHB=rn9!MD<6vv~dThq@E?2a7$YL4KAx8JPhjf;W<#-lr%4$Md(_zRVLjgs> zLJs7B5@WV@ds~BoV>?=Y775AAj^VCFwUFRg5p>NVYn!a>Q5oL*h*q@kc&w+X88@-s zm2hBaOcx|(%~%p6}56rFC`fIdtFz2TmmkyfE|+t@M9 zJq8<($%mAuM3oV^{gxa{j+UGN^v{miSL@t12jW@p zvaoKCACilR&~ae`1{=^?>0n7Tvrct*vHohsXvByWWi?7A5?p1(4jUz#Aj=ex+D=X-uk-c zUcq^2c?KuPF<0UA83lZ!IFpUSrO7@#v9gH@R0a*=l2n=v&+FKz8Y#1IqXB;_t`M^i zVVCgdwYFco1-q1kh~~y(dDi9}H$EOnN!)T9aeXaT7rIeJW@HgH4v0MycB=h?kbrgp zV?<=o>>YYk#mdlVG3_*!!-W)w3!D{HERyAcpqw<_juYiZ7nI~f3`Qu~(YCzI#msvx zgQIGbqT9V!!k^TO%UGN>I91n=6QGEpsV*hSPnxT&&NT3dq27%x_#vIyDy;P zv^~^BH7dO_90H-YQ+62lr%F@CT8@nu5>A>l?6OPauaxl(@5>UZV)w@IUnLP5Hy`Rn zd52q#4w-HZC0oUa60Rm~+7HT4iGkD9=Jz;hH*inhgsaXn_Bg!$K>>d8kZ=w4;gh9; zC-S|pQt|@*>Uc%t|(=KzK+ley~lxaz-N0EFXP~+#(6d*9Bah zc?l(_47=O3(Ki-JmgB6auVZSl<5g^_E?c%A+_)fiZqvqe1)~Qtzr<(MXn@Kgrz_B` z3>SKeLJV=?3}T>EyCxfUh;_7jNnS%998p8&dM#;s8Ip8Qi@k~~nIE9*bv2yg$Ar4E z)W1-SkaEMFHFOB3YhlDfST@}2=|txqw3MX8b)-PSHbv*h!Hl@PVs7}Q>czmxz;kKR zh_r=Kt{>h=!iVE+A;iiZA(T_oAQ@e zFfLhE^>>MExeQ9eob+bq|K_!Da%@(Ea-f`Ud~2kH>=MtKiNpD(2pdab{q`+m63e-` z_{ncn+)!+CUC;P+u3mGtLxvJgcu*`PtM$C-^|$N!y<&|3IeNG$9EZI=zn#S(FR5X_ zXoXo-NP52g@p5WJxKDgxaeXiciRc?l4Tvl7*ln2-BpeIQF*H6$+fA_E%xjka!_gMQ zKy6dQvc}K&T6peaMr(!z9Kjdfg*%{zCC5vMX_5nL&!L1N5eKPLg_94AXl`bY!KLkCMpRRXU-9xxzZq1HP>N-X_ekAD81pk3@vU-s*%`3NlQ0~h!GEl z)c7Lv>QEw;^-Zr|%omTcg8bs_^1^=axxob|!S#p5r9`B(gBxKawCY3%T^IJt_-#v} zihhNjp%ZQg3rmBD8jfEHrW*)X1!*`xVx;_F#!bkX=V0WV z*7D7g|4213bsUqA+%s6CD!THH@Z|Pl%t;^lmXBmI`i%@7AuGFVYtH$TL2`@yWGUq9 z+eRX#gRLLN=^Hpc@Kqz+eooaiiG9;>)gF*TBq-R16@~=mCGbGBXAy5*EEl;;&TR2~ zLX!Th;n@i#aN`y;FF)#W@Vy#dO2+aJe_GfE08W3OHrI({E@{n8X;xq|yTk63Th-u5yyp&`na0yo!@ z9>n8vTL4~@b2n%8JEtZEd})Kiv*q5&(!FBwjrf`QLF{qH)R%hgKIuElyu(iep$auD z)e^N8I#PCqQ?X~E6#1@(ZQGF0RwF*XV`a%u`H z-<@xuE<1;M8oL9eW-MZa(Oc&U#j#5wEXu%+B@ZO zb`Ko-zIwBW$%f9?nu5S|#EQ~ag5guy4pRCm#A?A4>moKFM!Rx6?tWe_nIb(93|_8h zT4jRp)-;|y2x|CE)4U{OLZ5_lw@cc_+tpxlUO{o5G4$-09%%rZW~=^bv1mULU(yx- z7Gg8Qt`KE(3x8BT%*;sySST*<`ea0?!PQo1AEo2#oHjChCt$6gF7^#X;YO)dP>O=< zx2i>Xcmw>Hb9TI%i|dz<1yD*Mv$}%yWw%BjQ%le7XYr4t{r#QB_ngt1W*>>}<-uAu zBl%fmP9ihz5Uc2>nr|ZUKO_eFhizxusM0LbxB#5Ax;R)}9L_Bh^RJ?LcfucXPg=kx zq6q5%eEIa;!VH=zrqyCH7!0}gq^!vP;YyI2f8H;Yjb|E1`MMCr4T;v7&7DOyNXOwHkAU`m0+Y|yaNG)TCRdq zk<&bj@4YgmQwNN{1DM-REHA>tqu@C-xZu(9T7~LPnkccWvu$)5W%IaH6KW~ttoP)( zM?v*Wd6h6XSb~8=urOBcF$@xA)&0Maa{HdI9LmoHUbjYeRrD$oqUXcB=u7vV(D{(< z4wmX9PPzBxKgLXtEC?Ux>(937EZ1SYC1psDKZ^!>!TaM5J|((zd@^Um4jmZoWmj{c z^N9B0hyX$eF!Th~q7{GS@@u)lDWdOK*BlLXgv+_}b8qp)$)%GTs`Z?ZjXLsJ_oig4 z22H)Qs}bI54*qaj=4Q_cWR}JFb_cbRY3jXg-BEB>f~u`|itP*dVFVXK3=xAKL;$+zLq zHmWcsLqjRoZ6^jgV1RJ>66d05*?$%}f&;pi7(KIi;*cJI7l%OxgKy8&gXU z3Nl{J+5(zEe(Jm%dfYp^7R328GxdQCZ`dzWAL)BnTHFt; zhW(kJI7Xbuek=DH>LPCP!&ovO?IUs?=WN+11z)+=i)MJ!GAas;`BIcmZi`)COb$1- z3+clfRI45Q^8J5__VN)<%eOP3u!y`I$Wtk~oF6Z?EPIZNE_>h9=Sk0V~|E^d) zABk+DV(SR%e*exdK?3^ANO`c0N8ED7 zlDy)gotu-_en4Lh>jDypN|f`C@VV1v^Lv;V#DxbKPH$6>QsRKx`YOj`+VT)_fFGMa z4@g^$UfT}8D8EC)ambdR+bk|BMt%Ll(WRV{%#_Tj6M`Sy2V{upDn0xOI_EAY-ifvVF+g3#t8x^CH?AW$#+qT{NdEWP&K0W$N zkJ11AdGEFM9BZyM?=|n=bzPa#Dw-=khqv~0$X!1uCRyx_y^SEkS%d1-R!E5310IBy zH?|^OOcy#~PzpL~f;^DOw@1BJqqap{TTcCA5zPW4rmsTLXjxyy`il66hsw)$M7a|{8>Dt5H6Fd$_|X8eNz{uJ>>JI- z9Z#(eo!;&bQ=f++ofYGU+;6CTop1G4ku{g&2Q|nN&Mm@yaBkI+KEv?Ip~b$MBC!k? zfD!dCVo?>VzRkgy&b%9B35jTC^UWa!+VM(Id|m6bEGM=nDU%t)`UtS!AlB@qkaefwlNVKu(j{KVI~eW{4>97T;yej)%0ftV)k6DUqC%A=Pdfxiq6#N3zBv;yIgD9PTBMX@{OzOTwu|0tf(ySi11|# zU_uB=0Nz7;qL=!-)e+oJ6-O(5R6tUL^$Y5sPO;)#a?#AyXU&T_y5MK0JSz4+NmaX6 zF=n|qKjA%TOK~^PtZ54JoTNCFa1wR5@^}6>u$4%pkxP%F z`QndB&b3PB4P5O#Rnx|J^-rA;sJ@E^O#3OQv>3vJ&b^`=5&D99KtG2?9@J!})28T; zj8TWe;<`bhcjn913`7IDh*g{O=4mY){Hg5vqXnK)oFP$P7rR`zo}Cn9%x}kef8(Lk zRGwmJA7S=8Wbq3)3cA{M%AsJN*K?Epz!x1**iQRuA^B#PVh(aL%wHH;4F&HU?qZyq zHg^C!3Z|kN5o+Li+~zrWD*u2;d>vES=EUaS+$vrcu@wPYl+xNuf+obQdqv^EE&L-B z;Xb0f%RjpC-fR3J_@w62?9ydc=iDEdG=NFSlHHh^#KARl+;h%8S-_y;6;%b*EaVWw zo-i$fY@H3?sx~Fz9dB^B{>E}6=aFRBnGi>!@IuT@YOgWu>IS4?GfpGjNW&1Nk1 zcN~6#63CAd!??wN5UYTSkovFQyl>{dEmQSjd8tS-dIrJT2C0-gX*MPmRr%TKCl_u4#v&>zG7zFX%T_&1>uaoXN&^XS3@k} z*)Qltk?W;C1b;2p4@cgQ$_-+W6|deA4)anq1^A4$Wq#p@JlXS9h6t{rotmX24st## z^l~?zI+0#jz>v{!8*-?#Ywy@eW9%v`ZV7mic4%%1joz)8?V5FbO|#VH3agHwuEN|= z+FvQRT{CJmg-hTvYGL(Lh>D+pM%c%hj+~vWJr)DjL{%9XSL%pa;hdDbTo%;4Qh%w- z8Z&q|YhhBQ{`U3_{r)L_lWkR21SK^>tkDNrE1VC`_i z`*z0tqrs_z3h<>uBPVqh(m1Pm&~bI~sQ^zJnmu+r8R<7ftG3L@DO0c&pQB%YRJ1|y zQ5R2GC=zH{wd8AT)645h*&n5ovO35^GJ@>OSnyy~oQ`iG58KoVi@-HKb%1y3zA&g1 zxqDFNL7KVKJ;(OH^>tR-!(SiZ+M!;x#H$k{5)ApF1c{i*2 zr009ZXx-C){@Wgo*TpWcedEU`HGS-;1=p&;#uj_%j=;G$3e=b$EuIT19h3Y`CeWGiRoFvV3f+tqmd5*6fBFD@ zilgK*PI0M+U<#Ghz0q{uTapTvKtX5+YX?t&(7Wb0oB57+FLHHV@eP7Yw3s5M3&)+8q0m7MRI2}og34k4 zArH52B-9+L8<0*IF9Ve*GG>+YI$ypfYkIO#q*Hv{o>B!tW=Ac!zE zHMv0(z(CaDt_%K4R)hQxYD51g)u&XXEmu~o55OlTzL2@qR(J+3);6=(w9 z*&7m%rjoloKPq3_+Zk5gURrm3|8edq=W8~VUq(h!OpQ;~xca>|wPS6RMQVhSBUy8z zpOvi?RQSf&(xey72?NhgHrkMeRlru4cIJtl1?jLOr5p2;higfl%AJf=Oi8{7RmoNk z3YUQ2OVka$+OQAuo-?8fTo>N-A{*>XGF3}NegJw4Ti~lKa>?#hm;aLiTftZDm0smL z_e%)h3_-Laq0b3tfmomllV>SL3C>9Cu$xwudz^w7-tK(BgNQ~>v(9)tOnFgr32i( zNEt4==Y&KPW+~!bZ$%$fgmfD?RfhRPwt@h{lJhK!b+O6e_~wby9W~I*nXcC3Y`7V; zqDl62Yrxajd~QVQO#RV*EDj`X(U}d`w&zuQBHP1p=*u9>7!WZV;8a!ZPN2EKOEO8R z)e&OUo@SCn@EE?2;KS(qoVh#tT5G^{SG)zdwnZOi=&N5H`h0KFa4hRwucCv5w4${+ zZJt7ELSl*TYl-Z7AU|$HH!n#m1jxP*rfUPrl<22Je`vGSGEUZ)pf%NQyNJ8TE)|VB z3GTmDPt1ysxYB+%JorWSGZs3CEyABFa9x}7SQ+(E;-Bg{RNiq?x&!A+Vql6oqQ8$eaO=?ty5&@6b!g>7)17f8ZLG)vMzXWK7ftb(>Klbs zt5^d&K3%b1{jvLb*=cq>L)AYE3NO>*xy65WrRTs-=?{8@+E_RrC_KV;I43M z4S<*297{u2_LxsE5m|8&nB}qyg2u>Eu_hqORN#F!PRUy_u)Y?uF%+30F$_wW?IAY> z$F{J14gU{#hVI#}Q&%x&wYzEmy*dJ0f-!+yid+=>)2mHBpKNCpy}D4fH|1GUDWMCo z%W{tc>9*fie|=y!UuZW*6tpZC(=^@oN?WeH+il3uufjWJ1)a#k?pVrOt%5b+G3{0X z>O+$^-({iWBf4$3Ox(qwy7ZK+a`jY4#}!NyQ1D+x*I$6R6tt(XySHzhwYaidu`fRq z!ozF9gjr#p3U-XnF?Vk2IF{F{DMVG^Iw-zBiw*xAkU8SYtp3xxN16oU7$%2|rH(IJ2XatLl zC&M$osoI9HQ#WZ191y5)#OwT(fJyDwYNPrs-B5T_fowMN-x^x^!I%zmgAykr4D2SG zSdTc#60a7{m7hQ5BC|;&BX5>$7~(HxB4ep6=w6`$%dPJ@n+xOd_O8B=IG6j7vv)>Qw17g1qF?| zMR&C7z2rYtXXIwfe@GrW{jAL1tt-kVnA~ z@WSW9+ttSLhR*#o?O*yCcD#-#@7pXS z&!5q8ukl=V(1`0CKV}xTmX^cy+4DtWj%Angh0Wvr9y~lHUB~45c=Swpy7dwDF1~-` zcRgkubxmP8lUD~R?%!W>AB>B}kJ95iiyzlhCW*q`b1=Zld~=C(^T<~FNh zQY&w_|LS3^5?$K~K@>y0 zb2xn${@ap5XP`f!_tv&t2TePxkrT0YErDpSZ?x)fm#nJSos{B+e8Wl`q2uuk>KBxg zrSSTF8h*2qTZaV7KhbSG&K`By%lY%qmn$qwuKdCJI@{VHIWXGH*$JT6yKx&mEubkliY; z!kb|`BvbG$@U$Wse@M>aDEMUU9NX$J^bAAH@{DJbNgV!uHK8Ed6pdZ*9OvknClpLY z`1h*a^uQfYUaztI5S$o#liT@R{0`&0N8=$rn(s%Zbq0Tf6>z_@cq}OiWs#3xwKoJ(KRkXaCHC0D(N`&=wXJTF*pC_cY-k70gxbX}49zTz^J z12Ic&b;c^DzOUY0_MXWq_`v>5F_^IV8g#15KOSMz1&@K+8XHDYizY@mu&>zoBcCHv z`HYrVUL!w@knkC#4UQ;*%3xI5yOt~wmbK{y6^-l*Jkn1iHtg@et=RZbcvqid1$974 zK*3gY1%uN%p&dYCqpb3>iw&pwr4uM@Y|!|apXHY-t1V;|7A6+Wx?S$(TjLhT!{h|O zvoE$@9Q%3;hP%Z`v$|NGv#6=ayO*m#x8TVepM4fZqZfmn2Jd6nU>Kl6aVL=Iiag77 zPfKQ#|FCB_4l%G~6J>0+VmC6UeqqEDNZT;Nitbyh(_t8wmOUhkBui_{Po z{~5h}C>sNfLb%TXL$Z?-3bva+zsTIg`3+s3IY zTGjeBHb(oXpZ_VCvNlC2p0qbe=l1rI+ z=J#7wPLiLh|JB1C(|mr$z`O3tTE1%4sCO#ZniP}%`0$CZET)=FsV(yGYou=jWHBE zo%RTI%Jdt(nk~auJI~j2%T{Jj6LMZ5Qht>At4c-66VQ*tWtlKD#;ko7PL~E!1^%F& z;G~Lzu`yPIP}VoOVYgap@y6xy6KKAGE zjlwwR4>h5Yveg!DVwR6Cc?la&%JFnEkAOR25gRpD z5b1>)`|_TbDfE_;rryA0>quYnM>WrBIXRS43RZ+6_kDi#o9JA3d)`Y0&!&gkujzUy zY7A~MUexIPjqKLnpDBkIlJgZ7u9|g(PaB5^7Ry(C4AX<_%U9rnEg?JrpAHV6xfvb3 zUvpK>`7PGVQ)gyiP5xn@hiA?qU1bY~)Xt9uCBoKfY4B0Fa$5>{Cr>N!32_ehMjCsP z*4?!vW^rjas7FW3c@z<_Mtj<_1(vIIIM#1+Go zRdkT#>~H4m>*ScR@sZUXyFTd= zI2F~eq{B7YRfT7;^(IX?ChQ#436CP|Ruj08g?UO)3Kd^BzEjE!#Kh8mc0=ZV%#|9) z06AH4xM;T?Ov8Vpea!DV=R|c4 z?50^UIK?5%<~t`szT#&K=v2|in4Z-%fmLI>bc$(cCoT+%zrfmDz%SPvk7fquZRpN# zAj|O=l9Zb2sX$JaB7;Qe=}GHvJS0pRxJeBjoo(t?ZptyBGR~|cT(Hz8I$w1wx8fd7D1rRFqnBKM&=h-IZJJBbH)Kq$K z1o(ShI*m=m+{>5Nzh3Y>1P8QL6`dBtf6Ec~YPiO`!@_B3hNXnj6mnv?f?+;!Q|8f~ zO-`@5qxlmPTK05zK|WT6Gcb>J@9g94C2QJh*Q?RbJhtxM(4Yi1C1hhl=)Sd$0Fj5` zyl&yEcKhHQSC7ovFEQ<_{m8k*^672^RE7iEYcd24WH*e*0Y9rc+5x_7nLtUDecq46 zzDH7W^kRM`t!VuHNlyWZ4y?!6<$^w_Fa?BX6!h@x4x&miWi?7lObvWTl5cPsv&Q%f zA+1S29z!-nxQ;XOm~vF~;8R$m4|Qc2x)DRCvcx;u^KM*s?tMjGl#DSB1m|qp2ny4C zQM26|n%t(8Y4(U&r+mG_it09PB;`KS2+nf;0>#3l#@tf*0o1e?CnA}!J=^&AoI`6` z>I-i4nH6*P3yM#^eY#;Xk1KqRWwY!2eBl{)SN$;b$`UvJ@4}hTk$y)bpc%@*o(_He zY_5F@oBKT09#0%C?Jr)MSPVdkrT1OBq_} zpihXtQpD`j#Gmqul>#dSDK>!-B0aDm>3geu$3Y%Ug~ZtY13Qkp?TVrOTc_C)971Ek z)ZgGaKX-*-?=;j>Ge^*`2{i}?O$X?L37!u({+M@X=We&VQ6|RQ*inc6nH+0-%Q`jP zrg-Nh>95}nd#PrV!$w5i7PFvU=0^*Dq<b+i$~f#>g=>z$xZ8tBA}fO&#n?^%Ta zD=kxZIknc#G{-m>yF%qh!{%}&*_Q~JMpQY%2cPz5(vGB`^2d(QvDrg4S8iSX*w=SiSsmL_wTVtD zp}9?+adj_@7a^HioH8xK)y9Spms;pzkrhhcC)ZrNu<+Aund1_>=70%@bDLeqpGRUb zj#!hn@g~t>{VbZ`C?D7jqA)#u z2H#TC&ryfR3G} zA=uy29qZ#FGf{i091ElP8KuGPa7MeAix4xSJ)j4ROOhz^W0Pccs%Cguj#7U7yby~F z4BWdQ81=Z9TfrbKGK+Jha>=&nY+P}=JbfPK{rK=r9U6T76S*)SRrc}>!aTk8X8?b# zx#Pg*xd`YP5kL0f`|)x7%DV7Mx9a{F;LB&UBdpt7U)FYn<91>&Px*l{e?0pc4|-%l zr~&VB5KUBGQl zVysi`6bqP^tnr2@7ng-F_Df;KL$AXez<)809;lch2A_nLZdMsW2+gZj ztENU+mH$m*P@G49uI$ivBkY{ZgTI;sI;L?i92)4VP&Sk1_7zqV^8rXgYQw^F%WUI| zfQgo_L#LjKqTUUB+J#8vq?a3P-%^S-4l9AFz&EO@7Nw%QuoULOJnThO%Gg(bauH1; z={E~5iiGEL80C)dq!gliWy~2+>$;sDJ6Vc-0hgG{!M)#!+6ubWt?H|r?A>(7uZ-O_ zd!J=tQ!D(iHJaQYR#k>=lWI`~emg|?uM$-SrZ4kkw|2Eu!U?{H&f1DP9N!!DFJQGJ zBz>@yWA?d(e^Q+?@X8@)XuR~N>0QBsM5F|fwbey?l< z{LKq*EMS=@{%)VtC4gd7a5+@9-MWvfa7fh|IWj-tm8V4p6imV%O8P}EFCiaVC})8;CLWIf{*LVwXV9! za;!~db4eH(WxIjLtzoU%yyE*@bs>}0j(fXoUDKi*avA%Y_{?8|1|##95I+TBYY8Qt zDD0=mC7M!GkEbiH|3ZbLz)rv3x){mBV_U(^_(2{hb8IE@asx_eYvX5b^G-v+*22fb z?6hc<+p!Ubuu_vvH;}-}CbnqInoTAu68_+V!s2Lg+H%i=6^D|qJ z0M^)IS6+u$@+IH~zx$Lt|ELDhQy?|DkPDI|AHEh$c712#OkSEKH2cRdMx&gll2IqR z6~YAe#Sw5nQJ$6p9P&Msu=$nwJqR(A@DXp(M1`^Kpn&=lF)k)|dm%Ny)&{Q5*kGPF z?8C1P#)}9sP9sI^D8V0J6Y{>jg-2%adu@4DR49Y5i~H#giUl)kEejs)buCO3 z#AQtx6*kw4O(=-)Mm1PB=zA?q+kPO8_N_JcAjL8AOMTF)y=7FaQ^kOBP5stm!F{Wzyu1F!nA?UK}Yj9OasoO}5)C#DAZKBO5Uqc0LqZkaFje zu|IKS!-S@FH?(P&#jLZHK<|R*>=RatvA9RuR>5}WI zAAE;U!O)11T{-V~|Ca|Y&LA9sA?a9A$hs&G~T`Ov>nLbs^wlkk;qC~*l_LFGCFCzkrhD^z-$C&9nUh%H;~(>mMfmE)KS@D=w5U2 zSv2+JcyVIZ(=63E9%e~I6EvC8If@K%(Q2+46)iAwX&X~VrF>>1bHYG_Mw0UrSKrzHr2x6-M=tB9IvV=Ki5MJj=6+&BK#6Mq}HPZ3Jyx71J}5mtUE26 zBz1=;7{$PL+mF=Q(6&kNQ}BjO4pos*rNB zvbv?8is_F>qju@d-!$!?%;>ngC`t@E=V#K7%Hmma3#%{w^&-%km7&JWwW`-Jb?BEn zyOfQ~L(E1;rq-R5^f<4S0Q>xXm?1S}09@fZ31^D#cIx*Q3a1=&R?3zgm4Nu+t$oQH!VR-?E4uYYD~G%EB142aE&b+9bNAh^<~eSX>YLqR zgEZ+skzpMjpf@0BxYm-T8;6np#^*viGb!yG5MuV*$;9B`0s~!TB(^1XYlt)YRsQ13 z-VkY}?c7^yjX&k+7qjOUrj1k8({XB*JE2e*mS*kjBV>zoT$Q#*>0CvyDOC}vEoJvx zlSuNa7(OGERE?bd-ub1re7g$hs&Y$8-bkJBf@P5?f0F~;G#fME#($fPZtLn??81*6 z+4a#fC_Ho5y=sCrr89N%YE+!^G5qRy%%C}stuLFr$)2Fw*-0Vj6<}OsRfb)Pd1i^> z7ERgqhChf>$av{D_{#J74&_n=A!})=fDF;H-DNPSaIK$C5Dn!8=ED-xU+U>c`Dv4| z^kICw=Eo=3GJlQdjkg0dH?^Vqypd1Gs-~4p`*Rb)>JqW;&VC*BD7hLl@>+HY*|>@{ zl3c*%WQIK=FBuaQTsX1@u8D>P&ZQ39V?biwnYf?H02$*IU_g&vO1$Gi7?@6&v2e>;al z;5DZ@kG+4w=)1-GtqC^gVW;G`$uUAWV`B{dL~EQ+gjfH>W7qHOM#k@hif2V7xRZyS z!)6^3wU}QYK+SMLolA%5vX&kYw@U`2hl?fpg&nn(sE~IQ<$-eU@`ZKTWi*XSkl8%o zefuJa(>jrH$$+?51*dJy z6=D`W^<3gtk8){!6*#E375x_y%@#JDDJQ&}G~AvCUY3CW<=U5@rxP|;s(21^F#L;XR}y$&HQSjszVG;@=JM>$pL zI8uv5*tm4DA%_RYzhB<0&pUIGcuXwf%=UdD%D(>Xw{#dmQ)QS_(Ag8Qq-Vk347}K_ z#!3wkrOE}i^r`Rr?lrWYbr%?bB8)o}Og+i0BJh@@oNxGVE4{;;XpwxmPE2 z_M&~7mim4j%3?F$h7h)pn!#QiTZ2`T>GrmAuclrIcCn-6$#f((<+dgB2 zi!*EUKF^2ZDMG1G0|T6ALz>2Hwlh2raYK^pE7cC!EDKDtJl&AB(EPk zD)u$R8w~vqaH^W!NvV$}N*S<#_TS=WKA@CJsu69x>w2-iW3CO+yW#Q79H$duaX;DD zHgL`Wz3z}1G4R_h{8cbZ39sjt;TisNL4$10PBo^Bg=;<~Sgq-|wl1S{%icVF{?wEm0#N3cWu_Opiwu-2MDYb`r{p)?H~dswVP- z=RoI20gXSsPPxx2O|Wqp*`^4pJtu$uX0W(#S@HPDe=F%z|FddzHVAN=cWsARxD%9IWJ#BE^`9}4SxPz0nBAzuI6vjd+8`F z-*&CcJLW56CPMh0Ct!Na1W4AXUX)yLu{ds*4?X^z;Z|)>EBt*jY9ry_YNdAMxc%91 z*TEHea&}?bwzlHTx8HGUDqIV3*#{6i%btKh;re4K&Fdvl#=qZeS4Pvg*LZIo|0AKO z$)zC!oY@s+$Ga)IrVKo@0U{yGsy>RE-r%>4w-eP=NObEcDu=&s9W1%h4EKgx1xQx1% zHCm)lMg7FuJ6|a^$=qUe`{oK~=vTEN=ed2+ssLPi*M%EKnm7vETP*VOM32Z$iG?gP z(iDayq}e{&fl~V;_*m%_q0S@A66H^}QjoSgra|!9OoT>==#1SazYO~GFb^Y?y9OjZ zKXZG6%D#kb8*BW-ml}QTGdbAt!b20l*j6=r#bC?F%i>m>#90^y^eiDf5md5W z1t4tQyj}fT(3V@Ee3kgz%*TAcbc-~;*0~Sep?vt85%UQf&u*^qO&nCS7XRDXcMoFK zbetgAty2hNNdobqfh63ikKcy{!085hYW`QaHKq=M+Q@J}?OZV?6Pa^(IGF zi{w(9B=w=|73nR64N0V>ErgEUu)$s>I1)O{KWqMwmCbPWxDT^~$Lw`fYY^Kc9cRK8P!dW(0-hZCfTqxyS%J@cw zt^5o_1obD)dCN<$IzCoR*0uB52nakN-Oa2qc0M=055fHdM?4#KSjXT=Gd(;;K4@IV ze`9v8e8v1a{N4X_lSSSYZuh*qMi~DM0odFZKb11MB)z+QrWp5pr=5);eKX*@_GX4A zOqOESB1X)? zlFn3}UlDu53GMeql@4o`BEBog9NKH=Ix^x81kKTyZ5ZjG6IYj)gejFxYIjZ$914fW z`aG*+jENsh(iGSw8xXxBBAps8RNg<6B4OxoN(b7LGm@EJCsIk0CvZ7&%Y=Wm;ib(I zTuF0K7beIHk&(|RIB!zDW@fSk=o9zcQ5t=F9a85b2S&7le#o8D2H@Ekk&LAAN9DJ? zF@MH#X%zk*E)C6c$J+7^Y!SyC;=@UAPs39d#AyJd{X0ku-4&j7CJ@mHn3&MHqoRCOCpd5OlAx?*y77FuNBy?fYguXu3nQZn?kF|enELdNrr+VkPeFl z15{_zdlG|a5HBS&u>byJA%^N|ConPykaDbC%nBT!<)mJcQh;7ky3l_S-x-}}|E~l6 zuJ`0`7w>CT3`{vd-m_mZ=S=w{EOl6z=RXHVz0Z#VyU+jMjBfa0@7L?sJ5s6mxfJmG z%wKQGfmI#P{7%&->eTZ8q^bZDQTXn^eBqOT-kZC3ruID1BmXCN``>ip?hKI!LcQ0m z&X?4E;7^3Wtw=ue9|YrrT|oYu4`3bd|D@2Rl5-|qwGPxP8~1%(wq|b5poX_qTUAGV zcf@3Y32%%0-^2O8iDk&;|K-^K|1q;AOLdn4#8MQ`o%jtgCysx+=36Z=6$bb*umyYk z-wvWIS*qt^NGvS$|D3#)6()Qx>wn_p|C5aGe_f>i-;p$n-+Tso+It3G4X87cej?;k1ZX58rXu{iU}XR2Ik*xTH0ovB?bR^X9+D|!Ixs8o zSQIbqJinP7l`-t;qd@7cC-iT8NG)Pv>U14rTn9AD3OyKl@~`9=?LYG^|Al4ArP&eZ z!?g=xL3@VjU4=%eMtZPVzoj_+X>~2ElU>JA&XZai_ynD`F|)jH(_j61?U}8(!J+V4 ze=K+n9GyRXFq(cCt9`urMIQK=UCQ-7S#ENMoPE=bC*Mdf7F}uAG^2AjcDj+@qz(55 zYz%zaFWIdNN7ucZ>J-k=>;o7r2`Qlx`YjKVOw?goa=FM!9e6vr1mn485-Ja++YYf3 zTDs0#kRaT{lZ^8>g<@W|W2z?lF8B23|DkYi?Sm5|cLlI6X=gTYi>?TA-iWutY*RRB z4nmWXQPIc;GU8BCFd9AjsS)|&^y-&vm6HnFkC+oegWPLdmxLFj`RkY*3-zM?;TcbM ziE;q9{g#}~==5&bP0JEW8NFqJCiF4-4XGhgZ%(ITKz⋘1c_!6%+U(ZGT5J0bYvN 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 O0000(module_app = @app_title) { set_variables module_app } + def initialize + super + @app_title = "ruling_weather" + end + def index + @settings = RulingWeatherSetting.all.page(params[:page]).per(10) + end + def destroy + RulingWeatherSetting.where(:id=>params[:id]).destroy + redirect_to :back + end + def edit_setting + @ruling_weather_setting = RulingWeatherSetting.find(params[:id]) + end + def new_setting + @ruling_weather_setting = RulingWeatherSetting.new + end + def update_setting + @ruling_weather_setting = RulingWeatherSetting.find(params[:id]) + @ruling_weather_setting.update_attributes(ruling_weather_setting_params) + redirect_to params[:referer_url] + end + def create_setting + @ruling_weather_setting = RulingWeatherSetting.create(ruling_weather_setting_params) + redirect_to params[:referer_url] + end + def ruling_weather_setting_params + params.require(:ruling_weather_setting).permit! + end +end \ No newline at end of file diff --git a/app/controllers/ruling_weathers_controller.rb b/app/controllers/ruling_weathers_controller.rb new file mode 100644 index 0000000..16fa548 --- /dev/null +++ b/app/controllers/ruling_weathers_controller.rb @@ -0,0 +1,13 @@ +class RulingWeathersController < ApplicationController + def widget + @ruling_weather_setting = RulingWeatherSetting.find(OrbitHelper.widget_custom_value) + { + "extras" => {}, + "weather" => [@ruling_weather_setting.get_now_info] + } + end + def get_weather_info + @ruling_weather_setting = RulingWeatherSetting.find(params[:id]) + render :json => @ruling_weather_setting.get_now_info(params[:location],params[:dataid],params[:observatory_name]) + end +end \ No newline at end of file diff --git a/app/helpers/admin/ruling_weathers_helper.rb b/app/helpers/admin/ruling_weathers_helper.rb new file mode 100644 index 0000000..a33d66c --- /dev/null +++ b/app/helpers/admin/ruling_weathers_helper.rb @@ -0,0 +1,2 @@ +module Admin::RulingWeathersHelper +end \ No newline at end of file diff --git a/app/helpers/ruling_weathers_helper.rb b/app/helpers/ruling_weathers_helper.rb new file mode 100644 index 0000000..54d8bdd --- /dev/null +++ b/app/helpers/ruling_weathers_helper.rb @@ -0,0 +1,2 @@ +module RulingWeathersHelper +end \ No newline at end of file diff --git a/app/mailers/.keep b/app/mailers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/app/models/ruling_weather_setting.rb b/app/models/ruling_weather_setting.rb new file mode 100644 index 0000000..b313656 --- /dev/null +++ b/app/models/ruling_weather_setting.rb @@ -0,0 +1,107 @@ +class RulingWeatherSetting + require "net/http" + require 'json' + include Mongoid::Document + include Mongoid::Timestamps + field :time_offset, type: String, default: "+8" + field :location, type: String, default: "" + field :dataid, type: String, default: "" + field :observatory_name, type: String, default: "" + def get_now_info(custom_location=nil,custom_dataid=nil,custom_observatory_name=nil) + time_now = DateTime.now.utc.new_offset(self.time_offset) + today = time_now.strftime("%Y-%m-%d") + host = "https://opendata.cwb.gov.tw" + custom_dataid = custom_dataid || self.dataid + url = "#{host}/api/v1/rest/datastore/#{custom_dataid}.json" + startt = "#{today}T00:00:00" + endt = "#{today}T23:59:59" + custom_location = custom_location || self.location + data = {"Authorization" => "CWB-00BEC353-89FA-4261-B830-5F8C38547CD0", + "timeFrom" => startt, + "timeTo" => endt, + "limit" => 1, + "locationName" => custom_location} + res = Net::HTTP.get_response(URI.parse("#{url}?#{data.to_query}")) + content = JSON.parse(res.body) + weather_data = get_weather_data(content) + mint = get_element_value(weather_data["MinT"]).to_i #最低溫度(攝氏度) + maxt = get_element_value(weather_data["MaxT"]).to_i #最高溫度(攝氏度) + avgt = get_element_value(weather_data["T"]).to_i #平均溫度(攝氏度) + rain_rate = get_element_value(weather_data["PoP12h"]).to_i #降雨機率(百分比) + uvi = get_element_value(weather_data["UVI"],0).to_i #紫外線指數(數值) + uvi_text = get_element_value(weather_data["UVI"],1).to_s #紫外線指數(文字) + uvi_text = uvi_text.blank? ? I18n.t("ruling_weather.none") : uvi_text + rh = get_element_value(weather_data["RH"]).to_i #相對溼度 + wx_text = get_element_value(weather_data["Wx"],0).to_s #天氣現象(文字) + wx_code = get_element_value(weather_data["Wx"],1).to_i #天氣現象(編碼) + ws = get_element_value(weather_data["WS"]).to_i #風速(m/s) + if wx_code < 10 + wx_code = "0" + wx_code.to_s + else + wx_code = wx_code.to_s + end + svg_type = "day" + if time_now.hour >= 18 + svg_type = "night" + end + wx_svg = "/annc_url?url=https://www.cwb.gov.tw/V8/assets/img/weather_icons/weathers/svg_icon/#{svg_type}/#{wx_code}.svg" + custom_observatory_name = custom_observatory_name || self.observatory_name + data2 = {"Authorization" => "CWB-00BEC353-89FA-4261-B830-5F8C38547CD0", + "elementName" => "NOW", + "locationName" => custom_observatory_name} + rain = nil + if custom_observatory_name.present? + url2 = "https://opendata.cwb.gov.tw/api/v1/rest/datastore/O-A0002-001.json" + res2 = Net::HTTP.get_response(URI.parse("#{url2}?#{data2.to_query}")) + content2 = JSON.parse(res2.body) + weather_data2 = get_weather_data(content2) + rain = weather_data2["NOW"]["elementValue"].to_f + end + result = {"mint" => mint, + "maxt" => maxt, + "avgt" => avgt, + "rain_rate" => rain_rate, + "uvi" => uvi, + "uvi_text" => uvi_text, + "rh" => rh, + "wx_text" => wx_text, + "wx_svg" => wx_svg, + "ws" => ws, + "rain" => rain} + return result + end + def test + time_now = DateTime.now.utc.new_offset(self.time_offset) + today = time_now.strftime("%Y-%m-%d") + host = "https://opendata.cwb.gov.tw" + custom_dataid = custom_dataid || self.dataid + url = "#{host}/api/v1/rest/datastore/#{custom_dataid}.json" + startt = "#{today}T00:00:00" + endt = "#{today}T23:59:59" + custom_location = custom_location || self.location + data = {"Authorization" => "CWB-00BEC353-89FA-4261-B830-5F8C38547CD0", + "timeFrom" => startt, + "timeTo" => endt, + "limit" => 1, + "locationName" => custom_location} + res = Net::HTTP.get_response(URI.parse("#{url}?#{data.to_query}")) + content = JSON.parse(res.body) + weather_data = get_weather_data(content) + end + def get_weather_data(content) + if content["records"]["locations"] + record_data = content["records"]["locations"][0] + else + record_data = content["records"] + end + location_record_data = record_data["location"][0] + weather_data = location_record_data["weatherElement"].map{|h| [h["elementName"] , h.except("elementName")]}.to_h + return weather_data + end + def get_element_value(element_info,idx=0) + return element_info["time"][0]["elementValue"][idx]["value"] rescue "" + end + def get_element_value_and_measures(element_info) + return (element_info["time"][0]["elementValue"][idx]["value"] + element_info["time"][0]["elementValue"][idx]["measures"].to_s) rescue "" + end +end \ No newline at end of file diff --git a/app/views/admin/ruling_weathers/_location_help.html.erb b/app/views/admin/ruling_weathers/_location_help.html.erb new file mode 100644 index 0000000..0583373 --- /dev/null +++ b/app/views/admin/ruling_weathers/_location_help.html.erb @@ -0,0 +1,118 @@ +全臺縣市鄉鎮對照表 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
縣市 鄉鎮
宜蘭縣 頭城鎮,礁溪鄉,壯圍鄉,員山鄉,宜蘭市,大同鄉,五結鄉,三星鄉, 羅東鎮,冬山鄉,南澳鄉,蘇澳鎮
桃園市 大園區,蘆竹區,觀音區,龜山區,桃園區,中壢區,新屋區,八德區, 平鎮區,楊梅區,大溪區,龍潭區,復興區
新竹縣 新豐鄉,湖口鄉,新埔鎮,竹北市,關西鎮,芎林鄉,竹東鎮,寶山鄉, 尖石鄉,橫山鄉,北埔鄉,峨眉鄉,五峰鄉
 
+ 苗栗縣
竹南鎮,頭份市,三灣鄉,造橋鄉,後龍鎮,南庄鄉,頭屋鄉,獅潭鄉, 苗栗市,西湖鄉,通霄鎮,公館鄉,銅鑼鄉,泰安鄉,苑裡鎮,大湖鄉, 三義鄉,卓蘭鎮
 
+  
+ 彰化縣
伸港鄉,和美鎮,線西鄉,鹿港鎮,彰化市,秀水鄉,福興鄉,花壇鄉, 芬園鄉,芳苑鄉,埔鹽鄉,大村鄉,二林鎮,員林市,溪湖鎮,埔心鄉, 永靖鄉,社頭鄉,埤頭鄉,田尾鄉,大城鄉,田中鎮,北斗鎮,竹塘鄉, 溪州鄉,二水鄉
南投縣 仁愛鄉,國姓鄉,埔里鎮,草屯鎮,中寮鄉,南投市,魚池鄉,水里鄉, 名間鄉,信義鄉,集集鎮,竹山鎮,鹿谷鄉
 
+ 雲林縣
麥寮鄉,二崙鄉,崙背鄉,西螺鎮,莿桐鄉,林內鄉,臺西鄉,土庫鎮, 虎尾鎮,褒忠鄉,東勢鄉,斗南鎮,四湖鄉,古坑鄉,元長鄉,大埤鄉, 口湖鄉,北港鎮,水林鄉,斗六市
 
+ 嘉義縣
大林鎮,溪口鄉,阿里山鄉,梅山鄉,新港鄉,民雄鄉,六腳鄉,竹崎鄉,東石鄉,太保市,番路鄉,朴子市,水上鄉,中埔鄉,布袋鎮,鹿草鄉,義竹鄉,大埔鄉
 
+  
+ 屏東縣
高樹鄉,三地門鄉,霧臺鄉,里港鄉,鹽埔鄉,九如鄉,長治鄉,瑪家鄉,屏東市,內埔鄉,麟洛鄉,泰武鄉,萬巒鄉,竹田鄉,萬丹鄉,來義鄉,潮州鎮,新園鄉,崁頂鄉,新埤鄉,南州鄉,東港鎮,林邊鄉,佳冬鄉,春日鄉,獅子鄉,琉球鄉,枋山鄉,牡丹鄉,滿州鄉,車城鄉,恆春鎮,枋寮鄉
臺東縣 長濱鄉,海端鄉,池上鄉,成功鎮,關山鎮,東河鄉,鹿野鄉,延平鄉, 卑南鄉,臺東市,太麻里鄉,綠島鄉,達仁鄉,大武鄉,蘭嶼鄉,金峰鄉
花蓮縣 秀林鄉,新城鄉,花蓮市,吉安鄉,壽豐鄉,萬榮鄉,鳳林鎮,豐濱鄉, 光復鄉,卓溪鄉,瑞穗鄉,玉里鎮,富里鄉
澎湖縣 白沙鄉,西嶼鄉,湖西鄉,馬公市,望安鄉,七美鄉
基隆市 安樂區,中山區,中正區,七堵區,信義區,仁愛區,暖暖區
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
新竹市 北區,香山區,東區
嘉義市 東區,西區
臺北市 北投區,士林區,內湖區,中山區,大同區,松山區,南港區,中正區, 萬華區,信義區,大安區,文山區
 
+  
+ 高雄市
楠梓區,左營區,三民區,鼓山區,苓雅區,新興區,前金區,鹽埕區, 前鎮區,旗津區,小港區,那瑪夏區,甲仙區,六龜區,杉林區,內門區,茂林區,美濃區,旗山區,田寮區,湖內區,茄萣區,阿蓮區,路竹區,永安區,岡山區,燕巢區,彌陀區,橋頭區,大樹區,梓官區,大社區,仁武區,鳥松區,大寮區,鳳山區,林園區,桃源區
 
+  
+ 新北市
石門區,三芝區,金山區,淡水區,萬里區,八里區,汐止區,林口區, 五股區,瑞芳區,蘆洲區,雙溪區,三重區,貢寮區,平溪區,泰山區, 新莊區,石碇區,板橋區,深坑區,永和區,樹林區,中和區,土城區, 新店區,坪林區,鶯歌區,三峽區,烏來區
 
+  
+ 臺中市
北屯區,西屯區,北區,南屯區,西區,東區,中區,南區,和平區,大甲區,大安區,外埔區,后里區,清水區,東勢區,神岡區,龍井區,石岡區,豐原區,梧棲區,新社區,沙鹿區,大雅區,潭子區,大肚區,太平區,烏日區,大里區,霧峰區
 
+  
+ 臺南市
安南區,中西區,安平區,東區,南區,北區,白河區,後壁區,鹽水區, 新營區,東山區,北門區,柳營區,學甲區,下營區,六甲區,南化區, 將軍區,楠西區,麻豆區,官田區,佳里區,大內區,七股區,玉井區, 善化區,西港區,山上區,安定區,新市區,左鎮區,新化區,永康區, 歸仁區,關廟區,龍崎區,仁德區
連江縣 南竿鄉,北竿鄉,莒光鄉,東引鄉
金門縣 金城鎮,金湖鎮,金沙鎮,金寧鄉,烈嶼鄉,烏坵鄉
\ No newline at end of file diff --git a/app/views/admin/ruling_weathers/_setting_form.html.erb b/app/views/admin/ruling_weathers/_setting_form.html.erb new file mode 100644 index 0000000..4986239 --- /dev/null +++ b/app/views/admin/ruling_weathers/_setting_form.html.erb @@ -0,0 +1,112 @@ + +

+ + +
+ +
+ <%= f.text_field :dataid %> +
+
+
+ +
+ <%= f.text_field :location %> +
+
+
+ +
+ <%= f.text_field :observatory_name %> +
+
+ +
+ <%#= f.hidden_field :time_offset, :id=>"weather_timeoffset" %> + <% referer = request.referer rescue nil %> + <% referer = get_referer_url if referer.blank? || request.host != URI.parse(URI.encode(referer)).host %> + <%= f.submit t('save'), class: 'btn btn-primary' %> + + <%= link_to t('cancel'), referer, :class=>"btn" %> +
+ \ No newline at end of file diff --git a/app/views/admin/ruling_weathers/edit_setting.html.erb b/app/views/admin/ruling_weathers/edit_setting.html.erb new file mode 100644 index 0000000..8398296 --- /dev/null +++ b/app/views/admin/ruling_weathers/edit_setting.html.erb @@ -0,0 +1,5 @@ +<%= form_for @ruling_weather_setting, url: update_setting_admin_ruling_weather_path(@ruling_weather_setting), html: {class: "form-horizontal main-forms previewable"} do |f| %> +
+ <%= render :partial => "setting_form",:locals=>{:f=>f} %> +
+<% end %> \ No newline at end of file diff --git a/app/views/admin/ruling_weathers/index.html.erb b/app/views/admin/ruling_weathers/index.html.erb new file mode 100644 index 0000000..8228d3b --- /dev/null +++ b/app/views/admin/ruling_weathers/index.html.erb @@ -0,0 +1,29 @@ + + + + + + + + + + + <% @settings.each do |setting| %> + + + + + + + <% end %> + +
<%= t("ruling_weather.dataid") %><%= t("ruling_weather.location") %><%= t("ruling_weather.observatory_name") %><%= t(:action) %>
<%= setting.dataid %><%= setting.location %><%= setting.observatory_name %> + <%= link_to(t("restful_actions.edit_setting"), edit_setting_admin_ruling_weather_path(setting), :class=>"btn btn-primary")%> + <%= t(:delete_) %> +
+<%= + content_tag :div, class: "bottomnav clearfix" do + content_tag(:div, paginate(@settings), class: "pagination pagination-centered") + + content_tag(:div, link_to(t("restful_actions.new_setting"),new_setting_admin_ruling_weathers_path, :class=>"btn btn-primary"), class: "pull-right") + end +%> \ No newline at end of file diff --git a/app/views/admin/ruling_weathers/new_setting.html.erb b/app/views/admin/ruling_weathers/new_setting.html.erb new file mode 100644 index 0000000..8b7229e --- /dev/null +++ b/app/views/admin/ruling_weathers/new_setting.html.erb @@ -0,0 +1,5 @@ +<%= form_for @ruling_weather_setting, url: create_setting_admin_ruling_weathers_path(@ruling_weather_setting), html: {class: "form-horizontal main-forms previewable"} do |f| %> +
+ <%= render :partial => "setting_form",:locals=>{:f=>f} %> +
+<% end %> \ No newline at end of file diff --git a/app/views/ruling_weathers/.keep b/app/views/ruling_weathers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/bin/rails b/bin/rails new file mode 100644 index 0000000..ca8f189 --- /dev/null +++ b/bin/rails @@ -0,0 +1,14 @@ +#!/usr/bin/env ruby +# This command will automatically be run when you run "rails" with Rails gems +# installed from the root of your application. + +ENGINE_ROOT = File.expand_path('..', __dir__) +ENGINE_PATH = File.expand_path('../lib/ruling_weather/engine', __dir__) +APP_PATH = File.expand_path('../test/dummy/config/application', __dir__) + +# Set up gems listed in the Gemfile. +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__) +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) + +require 'rails/all' +require 'rails/engine/commands' diff --git a/config/locales/en.yml b/config/locales/en.yml new file mode 100644 index 0000000..78ea2b4 --- /dev/null +++ b/config/locales/en.yml @@ -0,0 +1,16 @@ +en: + restful_actions: + edit_setting: Edit setting + new_setting: New setting + module_name: + ruling_weather: Weather + ruling_weather: + none: None + format: Format + ruling_weather: Weather + location: Location + dataid: dataid + location_need_match_dataid: "Location must match dataid." + setting_management: Setting Management + weather_information_center_api_instruction: Weather Information Center API Instruction + observatory_name: Observatory Name \ No newline at end of file diff --git a/config/locales/zh_tw.yml b/config/locales/zh_tw.yml new file mode 100644 index 0000000..11175ee --- /dev/null +++ b/config/locales/zh_tw.yml @@ -0,0 +1,16 @@ +zh_tw: + restful_actions: + edit_setting: 編輯設定 + new_setting: 新增設定 + module_name: + ruling_weather: 天氣 + ruling_weather: + none: 無 + format: 格式 + ruling_weather: 天氣 + location: 地點 + dataid: 資料集代碼 + location_need_match_dataid: "地點須與資料集代碼相符合(Ex: 資料集代碼選擇宜蘭縣,則地點只能選擇宜蘭縣的鄉鎮)" + setting_management: 設定管理 + weather_information_center_api_instruction: 中央氣象局API說明 + observatory_name: "觀測站站名(蒐集雨量用)" \ No newline at end of file diff --git a/config/routes.rb b/config/routes.rb new file mode 100644 index 0000000..0fe95a2 --- /dev/null +++ b/config/routes.rb @@ -0,0 +1,21 @@ +Rails.application.routes.draw do + locales = Site.first.in_use_locales rescue I18n.available_locales + namespace :admin do + resources :ruling_weathers do + member do + get "edit_setting" + post "update_setting" + patch "update_setting" + end + collection do + get "new_setting" + post "create_setting" + patch "create_setting" + end + end + end + scope "(:locale)", locale: Regexp.new(locales.join("|")) do + post "/xhr/ruling_weather/get_weather_info" => "ruling_weathers#get_weather_info" + get "/xhr/ruling_weather/get_weather_info" => "ruling_weathers#get_weather_info" + end +end \ No newline at end of file diff --git a/lib/ruling_weather.rb b/lib/ruling_weather.rb new file mode 100644 index 0000000..1e30da2 --- /dev/null +++ b/lib/ruling_weather.rb @@ -0,0 +1,5 @@ +require "ruling_weather/engine" + +module RulingWeather + # Your code goes here... +end diff --git a/lib/ruling_weather/engine.rb b/lib/ruling_weather/engine.rb new file mode 100644 index 0000000..d19cb39 --- /dev/null +++ b/lib/ruling_weather/engine.rb @@ -0,0 +1,26 @@ +module RulingWeather + class Engine < ::Rails::Engine + initializer "ruling_weather" do + OrbitApp.registration "RulingWeather", :type => "ModuleApp" do + module_label "ruling_weather.ruling_weather" + base_url File.expand_path File.dirname(__FILE__) + authorizable + widget_methods ["widget"] + widget_settings [{"override_category_with"=>"ruling_weather_setting","multiselect"=>false,"display_field"=>"location"}] + side_bar do + head_label_i18n 'ruling_weather.ruling_weather', icon_class: "fa fa-sun-o" + available_for "users" + active_for_controllers (['admin/ruling_weathers']) + head_link_path "admin_ruling_weathers_path" + + context_link 'ruling_weather.setting_management', + :link_path=>"admin_ruling_weathers_path" , + :priority=>1, + :active_for_action=>{'admin/ruling_weathers'=>'index'}, + :available_for => 'managers' + end + + end + end + end +end diff --git a/lib/ruling_weather/version.rb b/lib/ruling_weather/version.rb new file mode 100644 index 0000000..c24c1f8 --- /dev/null +++ b/lib/ruling_weather/version.rb @@ -0,0 +1,3 @@ +module RulingWeather + VERSION = '0.0.1' +end diff --git a/lib/tasks/.keep b/lib/tasks/.keep new file mode 100644 index 0000000..e69de29 diff --git a/modules/ruling_weather/_ruling_weather_widget1.html.erb b/modules/ruling_weather/_ruling_weather_widget1.html.erb new file mode 100644 index 0000000..80d9e49 --- /dev/null +++ b/modules/ruling_weather/_ruling_weather_widget1.html.erb @@ -0,0 +1,52 @@ +
+ +
+
+
+ +
+
+
{{wx_text}}
+
{{avgt}}
+
+
+
紫外線
+
{{uvi_text}}
+
+
+
+
+
相對濕度
+
{{rh}}%
+
+
+
現在風速
+
{{ws}}m/s
+
+
+
累積雨量
+
{{rain}}mm
+
+
+
+
\ No newline at end of file diff --git a/modules/ruling_weather/info.json b/modules/ruling_weather/info.json new file mode 100644 index 0000000..2a20a42 --- /dev/null +++ b/modules/ruling_weather/info.json @@ -0,0 +1,14 @@ +{ + "frontend": [ + ], + "widgets" : [ + { + "filename" : "ruling_weather_widget1", + "name" : { + "zh_tw" : "1. 天氣呈現樣式1", + "en" : "1. Weather layout 1" + }, + "thumbnail" : "weather1_thumbs.png" + } + ] +} \ No newline at end of file diff --git a/modules/ruling_weather/thumbs/weather1_thumbs.png b/modules/ruling_weather/thumbs/weather1_thumbs.png new file mode 100644 index 0000000000000000000000000000000000000000..e4bcf010173a11f1143cd89c88634efa345bbd46 GIT binary patch literal 22240 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 R%m0pNXYFKFd%^eq{{Sf!eDDAO literal 0 HcmV?d00001 diff --git a/ruling_weather.gemspec b/ruling_weather.gemspec new file mode 100644 index 0000000..d5fad71 --- /dev/null +++ b/ruling_weather.gemspec @@ -0,0 +1,31 @@ +$:.push File.expand_path("lib", __dir__) + +# Maintain your gem's version: +require "ruling_weather/version" +bundle_update_flag = ARGV[0]=='update' || ARGV[0]=='install' +if bundle_update_flag + env_pwd = ENV['PWD'] + app_path = File.expand_path(__dir__) + template_path = env_pwd + '/app/templates' + all_template = Dir.glob(template_path+'/*/') + all_template.each do |folder| + if !folder.include?('mobile') + moudle_path = "#{folder}modules/ruling_weather/" + if !Dir.exist?(moudle_path) && Dir.exist?(File.dirname(moudle_path)) + Bundler.with_clean_env{system ('cp -r '+ app_path + '/modules/ ' + folder)} + end + end + end +end +# Describe your gem and declare its dependencies: +Gem::Specification.new do |spec| + spec.name = "ruling_weather" + spec.version = RulingWeather::VERSION + spec.authors = ["Bohung Chiu"] + spec.email = ["bohung@rulingcom.com"] + spec.homepage = "https://w3.rulingcom.com/" + spec.summary = "Ruling Weather" + spec.description = "Ruling Weather" + spec.license = "MIT" + spec.files = Dir["{app,config,db,lib}/**/*", "MIT-LICENSE", "Rakefile", "README.md"] +end diff --git a/test/dummy/.ruby-version b/test/dummy/.ruby-version new file mode 100644 index 0000000..fe16b34 --- /dev/null +++ b/test/dummy/.ruby-version @@ -0,0 +1 @@ +2.5.4 diff --git a/test/dummy/README.rdoc b/test/dummy/README.rdoc new file mode 100644 index 0000000..dd4e97e --- /dev/null +++ b/test/dummy/README.rdoc @@ -0,0 +1,28 @@ +== README + +This README would normally document whatever steps are necessary to get the +application up and running. + +Things you may want to cover: + +* Ruby version + +* System dependencies + +* Configuration + +* Database creation + +* Database initialization + +* How to run the test suite + +* Services (job queues, cache servers, search engines, etc.) + +* Deployment instructions + +* ... + + +Please feel free to use a different markup language if you do not plan to run +rake doc:app. diff --git a/test/dummy/Rakefile b/test/dummy/Rakefile new file mode 100644 index 0000000..e85f913 --- /dev/null +++ b/test/dummy/Rakefile @@ -0,0 +1,6 @@ +# Add your own tasks in files placed in lib/tasks ending in .rake, +# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake. + +require_relative 'config/application' + +Rails.application.load_tasks diff --git a/test/dummy/app/assets/config/manifest.js b/test/dummy/app/assets/config/manifest.js new file mode 100644 index 0000000..5918193 --- /dev/null +++ b/test/dummy/app/assets/config/manifest.js @@ -0,0 +1,2 @@ +//= link_tree ../images +//= link_directory ../stylesheets .css diff --git a/test/dummy/app/assets/images/.keep b/test/dummy/app/assets/images/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/app/assets/javascripts/application.js b/test/dummy/app/assets/javascripts/application.js new file mode 100644 index 0000000..8913b40 --- /dev/null +++ b/test/dummy/app/assets/javascripts/application.js @@ -0,0 +1,13 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require_tree . diff --git a/test/dummy/app/assets/stylesheets/application.css b/test/dummy/app/assets/stylesheets/application.css new file mode 100644 index 0000000..0ebd7fe --- /dev/null +++ b/test/dummy/app/assets/stylesheets/application.css @@ -0,0 +1,15 @@ +/* + * This is a manifest file that'll be compiled into application.css, which will include all the files + * listed below. + * + * Any CSS and SCSS file within this directory, lib/assets/stylesheets, vendor/assets/stylesheets, + * or any plugin's vendor/assets/stylesheets directory can be referenced here using a relative path. + * + * You're free to add application-wide styles to this file and they'll appear at the bottom of the + * compiled file so the styles you add here take precedence over styles defined in any other CSS/SCSS + * files in this directory. Styles in this file should be added after the last require_* statement. + * It is generally better to create a new file per style scope. + * + *= require_tree . + *= require_self + */ diff --git a/test/dummy/app/channels/application_cable/channel.rb b/test/dummy/app/channels/application_cable/channel.rb new file mode 100644 index 0000000..d672697 --- /dev/null +++ b/test/dummy/app/channels/application_cable/channel.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/test/dummy/app/channels/application_cable/connection.rb b/test/dummy/app/channels/application_cable/connection.rb new file mode 100644 index 0000000..0ff5442 --- /dev/null +++ b/test/dummy/app/channels/application_cable/connection.rb @@ -0,0 +1,4 @@ +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/test/dummy/app/controllers/application_controller.rb b/test/dummy/app/controllers/application_controller.rb new file mode 100644 index 0000000..09705d1 --- /dev/null +++ b/test/dummy/app/controllers/application_controller.rb @@ -0,0 +1,2 @@ +class ApplicationController < ActionController::Base +end diff --git a/test/dummy/app/controllers/concerns/.keep b/test/dummy/app/controllers/concerns/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/app/helpers/application_helper.rb b/test/dummy/app/helpers/application_helper.rb new file mode 100644 index 0000000..de6be79 --- /dev/null +++ b/test/dummy/app/helpers/application_helper.rb @@ -0,0 +1,2 @@ +module ApplicationHelper +end diff --git a/test/dummy/app/javascript/packs/application.js b/test/dummy/app/javascript/packs/application.js new file mode 100644 index 0000000..67ce467 --- /dev/null +++ b/test/dummy/app/javascript/packs/application.js @@ -0,0 +1,15 @@ +// This is a manifest file that'll be compiled into application.js, which will include all the files +// listed below. +// +// Any JavaScript/Coffee file within this directory, lib/assets/javascripts, vendor/assets/javascripts, +// or any plugin's vendor/assets/javascripts directory can be referenced here using a relative path. +// +// It's not advisable to add code directly here, but if you do, it'll appear at the bottom of the +// compiled file. JavaScript code in this file should be added after the last require_* statement. +// +// Read Sprockets README (https://github.com/rails/sprockets#sprockets-directives) for details +// about supported directives. +// +//= require rails-ujs +//= require activestorage +//= require_tree . diff --git a/test/dummy/app/jobs/application_job.rb b/test/dummy/app/jobs/application_job.rb new file mode 100644 index 0000000..d394c3d --- /dev/null +++ b/test/dummy/app/jobs/application_job.rb @@ -0,0 +1,7 @@ +class ApplicationJob < ActiveJob::Base + # Automatically retry jobs that encountered a deadlock + # retry_on ActiveRecord::Deadlocked + + # Most jobs are safe to ignore if the underlying records are no longer available + # discard_on ActiveJob::DeserializationError +end diff --git a/test/dummy/app/mailers/.keep b/test/dummy/app/mailers/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/app/mailers/application_mailer.rb b/test/dummy/app/mailers/application_mailer.rb new file mode 100644 index 0000000..286b223 --- /dev/null +++ b/test/dummy/app/mailers/application_mailer.rb @@ -0,0 +1,4 @@ +class ApplicationMailer < ActionMailer::Base + default from: 'from@example.com' + layout 'mailer' +end diff --git a/test/dummy/app/models/.keep b/test/dummy/app/models/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/app/models/application_record.rb b/test/dummy/app/models/application_record.rb new file mode 100644 index 0000000..10a4cba --- /dev/null +++ b/test/dummy/app/models/application_record.rb @@ -0,0 +1,3 @@ +class ApplicationRecord < ActiveRecord::Base + self.abstract_class = true +end diff --git a/test/dummy/app/models/concerns/.keep b/test/dummy/app/models/concerns/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/app/views/layouts/application.html.erb b/test/dummy/app/views/layouts/application.html.erb new file mode 100644 index 0000000..24307d3 --- /dev/null +++ b/test/dummy/app/views/layouts/application.html.erb @@ -0,0 +1,14 @@ + + + + Dummy + <%= csrf_meta_tags %> + <%= csp_meta_tag %> + + <%= stylesheet_link_tag 'application', media: 'all' %> + + + + <%= yield %> + + diff --git a/test/dummy/app/views/layouts/mailer.html.erb b/test/dummy/app/views/layouts/mailer.html.erb new file mode 100644 index 0000000..cbd34d2 --- /dev/null +++ b/test/dummy/app/views/layouts/mailer.html.erb @@ -0,0 +1,13 @@ + + + + + + + + + <%= yield %> + + diff --git a/test/dummy/app/views/layouts/mailer.text.erb b/test/dummy/app/views/layouts/mailer.text.erb new file mode 100644 index 0000000..37f0bdd --- /dev/null +++ b/test/dummy/app/views/layouts/mailer.text.erb @@ -0,0 +1 @@ +<%= yield %> diff --git a/test/dummy/bin/bundle b/test/dummy/bin/bundle new file mode 100644 index 0000000..66e9889 --- /dev/null +++ b/test/dummy/bin/bundle @@ -0,0 +1,3 @@ +#!/usr/bin/env ruby +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__) +load Gem.bin_path('bundler', 'bundle') diff --git a/test/dummy/bin/rails b/test/dummy/bin/rails new file mode 100644 index 0000000..0739660 --- /dev/null +++ b/test/dummy/bin/rails @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +APP_PATH = File.expand_path('../config/application', __dir__) +require_relative '../config/boot' +require 'rails/commands' diff --git a/test/dummy/bin/rake b/test/dummy/bin/rake new file mode 100644 index 0000000..1724048 --- /dev/null +++ b/test/dummy/bin/rake @@ -0,0 +1,4 @@ +#!/usr/bin/env ruby +require_relative '../config/boot' +require 'rake' +Rake.application.run diff --git a/test/dummy/bin/setup b/test/dummy/bin/setup new file mode 100644 index 0000000..0e39e8c --- /dev/null +++ b/test/dummy/bin/setup @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby +require 'fileutils' + +# path to your application root. +APP_ROOT = File.expand_path('..', __dir__) + +def system!(*args) + system(*args) || abort("\n== Command #{args} failed ==") +end + +FileUtils.chdir APP_ROOT do + # This script is a way to setup or update your development environment automatically. + # This script is idempotent, so that you can run it at anytime and get an expectable outcome. + # Add necessary setup steps to this file. + + puts '== Installing dependencies ==' + system! 'gem install bundler --conservative' + system('bundle check') || system!('bundle install') + + # puts "\n== Copying sample files ==" + # unless File.exist?('config/database.yml') + # FileUtils.cp 'config/database.yml.sample', 'config/database.yml' + # end + + puts "\n== Preparing database ==" + system! 'bin/rails db:prepare' + + puts "\n== Removing old logs and tempfiles ==" + system! 'bin/rails log:clear tmp:clear' + + puts "\n== Restarting application server ==" + system! 'bin/rails restart' +end diff --git a/test/dummy/config.ru b/test/dummy/config.ru new file mode 100644 index 0000000..f7ba0b5 --- /dev/null +++ b/test/dummy/config.ru @@ -0,0 +1,5 @@ +# This file is used by Rack-based servers to start the application. + +require_relative 'config/environment' + +run Rails.application diff --git a/test/dummy/config/application.rb b/test/dummy/config/application.rb new file mode 100644 index 0000000..860ebbd --- /dev/null +++ b/test/dummy/config/application.rb @@ -0,0 +1,19 @@ +require_relative 'boot' + +require 'rails/all' + +Bundler.require(*Rails.groups) +require "sync_ntnu_personal_data" + +module Dummy + class Application < Rails::Application + # Initialize configuration defaults for originally generated Rails version. + config.load_defaults 6.0 + + # Settings in config/environments/* take precedence over those specified here. + # Application configuration can go into files in config/initializers + # -- all .rb files in that directory are automatically loaded after loading + # the framework and any gems in your application. + end +end + diff --git a/test/dummy/config/boot.rb b/test/dummy/config/boot.rb new file mode 100644 index 0000000..c9aef85 --- /dev/null +++ b/test/dummy/config/boot.rb @@ -0,0 +1,5 @@ +# Set up gems listed in the Gemfile. +ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../../Gemfile', __dir__) + +require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE']) +$LOAD_PATH.unshift File.expand_path('../../../lib', __dir__) diff --git a/test/dummy/config/cable.yml b/test/dummy/config/cable.yml new file mode 100644 index 0000000..98367f8 --- /dev/null +++ b/test/dummy/config/cable.yml @@ -0,0 +1,10 @@ +development: + adapter: async + +test: + adapter: test + +production: + adapter: redis + url: <%= ENV.fetch("REDIS_URL") { "redis://localhost:6379/1" } %> + channel_prefix: dummy_production diff --git a/test/dummy/config/database.yml b/test/dummy/config/database.yml new file mode 100644 index 0000000..4a8a1b2 --- /dev/null +++ b/test/dummy/config/database.yml @@ -0,0 +1,25 @@ +# SQLite. Versions 3.8.0 and up are supported. +# gem install sqlite3 +# +# Ensure the SQLite 3 gem is defined in your Gemfile +# gem 'sqlite3' +# +default: &default + adapter: sqlite3 + pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %> + timeout: 5000 + +development: + <<: *default + database: db/development.sqlite3 + +# Warning: The database defined as "test" will be erased and +# re-generated from your development database when you run "rake". +# Do not set this db to the same as development or production. +test: + <<: *default + database: db/test.sqlite3 + +production: + <<: *default + database: db/production.sqlite3 diff --git a/test/dummy/config/environment.rb b/test/dummy/config/environment.rb new file mode 100644 index 0000000..426333b --- /dev/null +++ b/test/dummy/config/environment.rb @@ -0,0 +1,5 @@ +# Load the Rails application. +require_relative 'application' + +# Initialize the Rails application. +Rails.application.initialize! diff --git a/test/dummy/config/environments/development.rb b/test/dummy/config/environments/development.rb new file mode 100644 index 0000000..7e49c00 --- /dev/null +++ b/test/dummy/config/environments/development.rb @@ -0,0 +1,62 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # In the development environment your application's code is reloaded on + # every request. This slows down response time but is perfect for development + # since you don't have to restart the web server when you make code changes. + config.cache_classes = false + + # Do not eager load code on boot. + config.eager_load = false + + # Show full error reports. + config.consider_all_requests_local = true + + # Enable/disable caching. By default caching is disabled. + # Run rails dev:cache to toggle caching. + if Rails.root.join('tmp', 'caching-dev.txt').exist? + config.action_controller.perform_caching = true + config.action_controller.enable_fragment_cache_logging = true + + config.cache_store = :memory_store + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{2.days.to_i}" + } + else + config.action_controller.perform_caching = false + + config.cache_store = :null_store + end + + # Store uploaded files on the local file system (see config/storage.yml for options). + config.active_storage.service = :local + + # Don't care if the mailer can't send. + config.action_mailer.raise_delivery_errors = false + + config.action_mailer.perform_caching = false + + # Print deprecation notices to the Rails logger. + config.active_support.deprecation = :log + + # Raise an error on page load if there are pending migrations. + config.active_record.migration_error = :page_load + + # Highlight code that triggered database queries in logs. + config.active_record.verbose_query_logs = true + + # Debug mode disables concatenation and preprocessing of assets. + # This option may cause significant delays in view rendering with a large + # number of complex assets. + config.assets.debug = true + + # Suppress logger output for asset requests. + config.assets.quiet = true + + # Raises error for missing translations. + # config.action_view.raise_on_missing_translations = true + + # Use an evented file watcher to asynchronously detect changes in source code, + # routes, locales, etc. This feature depends on the listen gem. + # config.file_watcher = ActiveSupport::EventedFileUpdateChecker +end diff --git a/test/dummy/config/environments/production.rb b/test/dummy/config/environments/production.rb new file mode 100644 index 0000000..b7ad81b --- /dev/null +++ b/test/dummy/config/environments/production.rb @@ -0,0 +1,112 @@ +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + # Code is not reloaded between requests. + config.cache_classes = true + + # Eager load code on boot. This eager loads most of Rails and + # your application in memory, allowing both threaded web servers + # and those relying on copy on write to perform better. + # Rake tasks automatically ignore this option for performance. + config.eager_load = true + + # Full error reports are disabled and caching is turned on. + config.consider_all_requests_local = false + config.action_controller.perform_caching = true + + # Ensures that a master key has been made available in either ENV["RAILS_MASTER_KEY"] + # or in config/master.key. This key is used to decrypt credentials (and other encrypted files). + # config.require_master_key = true + + # Disable serving static files from the `/public` folder by default since + # Apache or NGINX already handles this. + config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present? + + # Compress CSS using a preprocessor. + # config.assets.css_compressor = :sass + + # Do not fallback to assets pipeline if a precompiled asset is missed. + config.assets.compile = false + + # Enable serving of images, stylesheets, and JavaScripts from an asset server. + # config.action_controller.asset_host = 'http://assets.example.com' + + # Specifies the header that your server uses for sending files. + # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache + # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX + + # Store uploaded files on the local file system (see config/storage.yml for options). + config.active_storage.service = :local + + # Mount Action Cable outside main process or domain. + # config.action_cable.mount_path = nil + # config.action_cable.url = 'wss://example.com/cable' + # config.action_cable.allowed_request_origins = [ 'http://example.com', /http:\/\/example.*/ ] + + # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies. + # config.force_ssl = true + + # Use the lowest log level to ensure availability of diagnostic information + # when problems arise. + config.log_level = :debug + + # Prepend all log lines with the following tags. + config.log_tags = [ :request_id ] + + # Use a different cache store in production. + # config.cache_store = :mem_cache_store + + # Use a real queuing backend for Active Job (and separate queues per environment). + # config.active_job.queue_adapter = :resque + # config.active_job.queue_name_prefix = "dummy_production" + + config.action_mailer.perform_caching = false + + # Ignore bad email addresses and do not raise email delivery errors. + # Set this to true and configure the email server for immediate delivery to raise delivery errors. + # config.action_mailer.raise_delivery_errors = false + + # Enable locale fallbacks for I18n (makes lookups for any locale fall back to + # the I18n.default_locale when a translation cannot be found). + config.i18n.fallbacks = true + + # Send deprecation notices to registered listeners. + config.active_support.deprecation = :notify + + # Use default logging formatter so that PID and timestamp are not suppressed. + config.log_formatter = ::Logger::Formatter.new + + # Use a different logger for distributed setups. + # require 'syslog/logger' + # config.logger = ActiveSupport::TaggedLogging.new(Syslog::Logger.new 'app-name') + + if ENV["RAILS_LOG_TO_STDOUT"].present? + logger = ActiveSupport::Logger.new(STDOUT) + logger.formatter = config.log_formatter + config.logger = ActiveSupport::TaggedLogging.new(logger) + end + + # Do not dump schema after migrations. + config.active_record.dump_schema_after_migration = false + + # Inserts middleware to perform automatic connection switching. + # The `database_selector` hash is used to pass options to the DatabaseSelector + # middleware. The `delay` is used to determine how long to wait after a write + # to send a subsequent read to the primary. + # + # The `database_resolver` class is used by the middleware to determine which + # database is appropriate to use based on the time delay. + # + # The `database_resolver_context` class is used by the middleware to set + # timestamps for the last write to the primary. The resolver uses the context + # class timestamps to determine how long to wait before reading from the + # replica. + # + # By default Rails will store a last write timestamp in the session. The + # DatabaseSelector middleware is designed as such you can define your own + # strategy for connection switching and pass that into the middleware through + # these configuration options. + # config.active_record.database_selector = { delay: 2.seconds } + # config.active_record.database_resolver = ActiveRecord::Middleware::DatabaseSelector::Resolver + # config.active_record.database_resolver_context = ActiveRecord::Middleware::DatabaseSelector::Resolver::Session +end diff --git a/test/dummy/config/environments/test.rb b/test/dummy/config/environments/test.rb new file mode 100644 index 0000000..de83a77 --- /dev/null +++ b/test/dummy/config/environments/test.rb @@ -0,0 +1,48 @@ +# The test environment is used exclusively to run your application's +# test suite. You never need to work with it otherwise. Remember that +# your test database is "scratch space" for the test suite and is wiped +# and recreated between test runs. Don't rely on the data there! + +Rails.application.configure do + # Settings specified here will take precedence over those in config/application.rb. + + config.cache_classes = false + + # Do not eager load code on boot. This avoids loading your whole application + # just for the purpose of running a single test. If you are using a tool that + # preloads Rails for running tests, you may have to set it to true. + config.eager_load = false + + # Configure public file server for tests with Cache-Control for performance. + config.public_file_server.enabled = true + config.public_file_server.headers = { + 'Cache-Control' => "public, max-age=#{1.hour.to_i}" + } + + # Show full error reports and disable caching. + config.consider_all_requests_local = true + config.action_controller.perform_caching = false + config.cache_store = :null_store + + # Raise exceptions instead of rendering exception templates. + config.action_dispatch.show_exceptions = false + + # Disable request forgery protection in test environment. + config.action_controller.allow_forgery_protection = false + + # Store uploaded files on the local file system in a temporary directory. + config.active_storage.service = :test + + config.action_mailer.perform_caching = false + + # Tell Action Mailer not to deliver emails to the real world. + # The :test delivery method accumulates sent emails in the + # ActionMailer::Base.deliveries array. + config.action_mailer.delivery_method = :test + + # Print deprecation notices to the stderr. + config.active_support.deprecation = :stderr + + # Raises error for missing translations. + # config.action_view.raise_on_missing_translations = true +end diff --git a/test/dummy/config/initializers/application_controller_renderer.rb b/test/dummy/config/initializers/application_controller_renderer.rb new file mode 100644 index 0000000..89d2efa --- /dev/null +++ b/test/dummy/config/initializers/application_controller_renderer.rb @@ -0,0 +1,8 @@ +# Be sure to restart your server when you modify this file. + +# ActiveSupport::Reloader.to_prepare do +# ApplicationController.renderer.defaults.merge!( +# http_host: 'example.org', +# https: false +# ) +# end diff --git a/test/dummy/config/initializers/assets.rb b/test/dummy/config/initializers/assets.rb new file mode 100644 index 0000000..fe48fc3 --- /dev/null +++ b/test/dummy/config/initializers/assets.rb @@ -0,0 +1,12 @@ +# Be sure to restart your server when you modify this file. + +# Version of your assets, change this if you want to expire all your assets. +Rails.application.config.assets.version = '1.0' + +# Add additional assets to the asset load path. +# Rails.application.config.assets.paths << Emoji.images_path + +# Precompile additional assets. +# application.js, application.css, and all non-JS/CSS in the app/assets +# folder are already added. +# Rails.application.config.assets.precompile += %w( admin.js admin.css ) diff --git a/test/dummy/config/initializers/backtrace_silencers.rb b/test/dummy/config/initializers/backtrace_silencers.rb new file mode 100644 index 0000000..59385cd --- /dev/null +++ b/test/dummy/config/initializers/backtrace_silencers.rb @@ -0,0 +1,7 @@ +# Be sure to restart your server when you modify this file. + +# You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces. +# Rails.backtrace_cleaner.add_silencer { |line| line =~ /my_noisy_library/ } + +# You can also remove all the silencers if you're trying to debug a problem that might stem from framework code. +# Rails.backtrace_cleaner.remove_silencers! diff --git a/test/dummy/config/initializers/content_security_policy.rb b/test/dummy/config/initializers/content_security_policy.rb new file mode 100644 index 0000000..41c4301 --- /dev/null +++ b/test/dummy/config/initializers/content_security_policy.rb @@ -0,0 +1,28 @@ +# Be sure to restart your server when you modify this file. + +# Define an application-wide content security policy +# For further information see the following documentation +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy + +# Rails.application.config.content_security_policy do |policy| +# policy.default_src :self, :https +# policy.font_src :self, :https, :data +# policy.img_src :self, :https, :data +# policy.object_src :none +# policy.script_src :self, :https +# policy.style_src :self, :https + +# # Specify URI for violation reports +# # policy.report_uri "/csp-violation-report-endpoint" +# end + +# If you are using UJS then enable automatic nonce generation +# Rails.application.config.content_security_policy_nonce_generator = -> request { SecureRandom.base64(16) } + +# Set the nonce only to specific directives +# Rails.application.config.content_security_policy_nonce_directives = %w(script-src) + +# Report CSP violations to a specified URI +# For further information see the following documentation: +# https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy-Report-Only +# Rails.application.config.content_security_policy_report_only = true diff --git a/test/dummy/config/initializers/cookies_serializer.rb b/test/dummy/config/initializers/cookies_serializer.rb new file mode 100644 index 0000000..5a6a32d --- /dev/null +++ b/test/dummy/config/initializers/cookies_serializer.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. + +# Specify a serializer for the signed and encrypted cookie jars. +# Valid options are :json, :marshal, and :hybrid. +Rails.application.config.action_dispatch.cookies_serializer = :json diff --git a/test/dummy/config/initializers/filter_parameter_logging.rb b/test/dummy/config/initializers/filter_parameter_logging.rb new file mode 100644 index 0000000..4a994e1 --- /dev/null +++ b/test/dummy/config/initializers/filter_parameter_logging.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Configure sensitive parameters which will be filtered from the log file. +Rails.application.config.filter_parameters += [:password] diff --git a/test/dummy/config/initializers/inflections.rb b/test/dummy/config/initializers/inflections.rb new file mode 100644 index 0000000..ac033bf --- /dev/null +++ b/test/dummy/config/initializers/inflections.rb @@ -0,0 +1,16 @@ +# Be sure to restart your server when you modify this file. + +# Add new inflection rules using the following format. Inflections +# are locale specific, and you may define rules for as many different +# locales as you wish. All of these examples are active by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.plural /^(ox)$/i, '\1en' +# inflect.singular /^(ox)en/i, '\1' +# inflect.irregular 'person', 'people' +# inflect.uncountable %w( fish sheep ) +# end + +# These inflection rules are supported but not enabled by default: +# ActiveSupport::Inflector.inflections(:en) do |inflect| +# inflect.acronym 'RESTful' +# end diff --git a/test/dummy/config/initializers/mime_types.rb b/test/dummy/config/initializers/mime_types.rb new file mode 100644 index 0000000..dc18996 --- /dev/null +++ b/test/dummy/config/initializers/mime_types.rb @@ -0,0 +1,4 @@ +# Be sure to restart your server when you modify this file. + +# Add new mime types for use in respond_to blocks: +# Mime::Type.register "text/richtext", :rtf diff --git a/test/dummy/config/initializers/session_store.rb b/test/dummy/config/initializers/session_store.rb new file mode 100644 index 0000000..e766b67 --- /dev/null +++ b/test/dummy/config/initializers/session_store.rb @@ -0,0 +1,3 @@ +# Be sure to restart your server when you modify this file. + +Rails.application.config.session_store :cookie_store, key: '_dummy_session' diff --git a/test/dummy/config/initializers/to_time_preserves_timezone.rb b/test/dummy/config/initializers/to_time_preserves_timezone.rb new file mode 100644 index 0000000..8674be3 --- /dev/null +++ b/test/dummy/config/initializers/to_time_preserves_timezone.rb @@ -0,0 +1,10 @@ +# Be sure to restart your server when you modify this file. + +# Preserve the timezone of the receiver when calling to `to_time`. +# Ruby 2.4 will change the behavior of `to_time` to preserve the timezone +# when converting to an instance of `Time` instead of the previous behavior +# of converting to the local system timezone. +# +# Rails 5.0 introduced this config option so that apps made with earlier +# versions of Rails are not affected when upgrading. +ActiveSupport.to_time_preserves_timezone = true diff --git a/test/dummy/config/initializers/wrap_parameters.rb b/test/dummy/config/initializers/wrap_parameters.rb new file mode 100644 index 0000000..bbfc396 --- /dev/null +++ b/test/dummy/config/initializers/wrap_parameters.rb @@ -0,0 +1,14 @@ +# Be sure to restart your server when you modify this file. + +# This file contains settings for ActionController::ParamsWrapper which +# is enabled by default. + +# Enable parameter wrapping for JSON. You can disable this by setting :format to an empty array. +ActiveSupport.on_load(:action_controller) do + wrap_parameters format: [:json] +end + +# To enable root element in JSON for ActiveRecord objects. +# ActiveSupport.on_load(:active_record) do +# self.include_root_in_json = true +# end diff --git a/test/dummy/config/locales/en.yml b/test/dummy/config/locales/en.yml new file mode 100644 index 0000000..cf9b342 --- /dev/null +++ b/test/dummy/config/locales/en.yml @@ -0,0 +1,33 @@ +# Files in the config/locales directory are used for internationalization +# and are automatically loaded by Rails. If you want to use locales other +# than English, add the necessary files in this directory. +# +# To use the locales, use `I18n.t`: +# +# I18n.t 'hello' +# +# In views, this is aliased to just `t`: +# +# <%= t('hello') %> +# +# To use a different locale, set it with `I18n.locale`: +# +# I18n.locale = :es +# +# This would use the information in config/locales/es.yml. +# +# The following keys must be escaped otherwise they will not be retrieved by +# the default I18n backend: +# +# true, false, on, off, yes, no +# +# Instead, surround them with single quotes. +# +# en: +# 'true': 'foo' +# +# To learn more, please read the Rails Internationalization guide +# available at https://guides.rubyonrails.org/i18n.html. + +en: + hello: "Hello world" diff --git a/test/dummy/config/puma.rb b/test/dummy/config/puma.rb new file mode 100644 index 0000000..5ed4437 --- /dev/null +++ b/test/dummy/config/puma.rb @@ -0,0 +1,38 @@ +# Puma can serve each request in a thread from an internal thread pool. +# The `threads` method setting takes two numbers: a minimum and maximum. +# Any libraries that use thread pools should be configured to match +# the maximum value specified for Puma. Default is set to 5 threads for minimum +# and maximum; this matches the default thread size of Active Record. +# +max_threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 } +min_threads_count = ENV.fetch("RAILS_MIN_THREADS") { max_threads_count } +threads min_threads_count, max_threads_count + +# Specifies the `port` that Puma will listen on to receive requests; default is 3000. +# +port ENV.fetch("PORT") { 3000 } + +# Specifies the `environment` that Puma will run in. +# +environment ENV.fetch("RAILS_ENV") { "development" } + +# Specifies the `pidfile` that Puma will use. +pidfile ENV.fetch("PIDFILE") { "tmp/pids/server.pid" } + +# Specifies the number of `workers` to boot in clustered mode. +# Workers are forked web server processes. If using threads and workers together +# the concurrency of the application would be max `threads` * `workers`. +# Workers do not work on JRuby or Windows (both of which do not support +# processes). +# +# workers ENV.fetch("WEB_CONCURRENCY") { 2 } + +# Use the `preload_app!` method when specifying a `workers` number. +# This directive tells Puma to first boot the application and load code +# before forking the application. This takes advantage of Copy On Write +# process behavior so workers use less memory. +# +# preload_app! + +# Allow puma to be restarted by `rails restart` command. +plugin :tmp_restart diff --git a/test/dummy/config/routes.rb b/test/dummy/config/routes.rb new file mode 100644 index 0000000..c06383a --- /dev/null +++ b/test/dummy/config/routes.rb @@ -0,0 +1,3 @@ +Rails.application.routes.draw do + # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html +end diff --git a/test/dummy/config/secrets.yml b/test/dummy/config/secrets.yml new file mode 100644 index 0000000..cb03ec7 --- /dev/null +++ b/test/dummy/config/secrets.yml @@ -0,0 +1,22 @@ +# Be sure to restart your server when you modify this file. + +# Your secret key is used for verifying the integrity of signed cookies. +# If you change this key, all old signed cookies will become invalid! + +# Make sure the secret is at least 30 characters and all random, +# no regular words or you'll be exposed to dictionary attacks. +# You can use `rake secret` to generate a secure secret key. + +# Make sure the secrets in this file are kept private +# if you're sharing your code publicly. + +development: + secret_key_base: f229dd4974549a2d096402bd823f542d6e54df0f015422f7d7b954cb10e65c0256cff830c0972a9e736c007f69b4a0e972812f3a04bff16852ebd31e8089c27b + +test: + secret_key_base: 4fc4affd84263342fb1abb9eabbdab71ed9a5ca805f67c671e31b28f626e5a4aa808b169e6cac7ad02638ee862458836caeb0972694a912ddc66497affeb2638 + +# Do not keep production secrets in the repository, +# instead read values from the environment. +production: + secret_key_base: <%= ENV["SECRET_KEY_BASE"] %> diff --git a/test/dummy/config/spring.rb b/test/dummy/config/spring.rb new file mode 100644 index 0000000..db5bf13 --- /dev/null +++ b/test/dummy/config/spring.rb @@ -0,0 +1,6 @@ +Spring.watch( + ".ruby-version", + ".rbenv-vars", + "tmp/restart.txt", + "tmp/caching-dev.txt" +) diff --git a/test/dummy/config/storage.yml b/test/dummy/config/storage.yml new file mode 100644 index 0000000..d32f76e --- /dev/null +++ b/test/dummy/config/storage.yml @@ -0,0 +1,34 @@ +test: + service: Disk + root: <%= Rails.root.join("tmp/storage") %> + +local: + service: Disk + root: <%= Rails.root.join("storage") %> + +# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key) +# amazon: +# service: S3 +# access_key_id: <%= Rails.application.credentials.dig(:aws, :access_key_id) %> +# secret_access_key: <%= Rails.application.credentials.dig(:aws, :secret_access_key) %> +# region: us-east-1 +# bucket: your_own_bucket + +# Remember not to checkin your GCS keyfile to a repository +# google: +# service: GCS +# project: your_project +# credentials: <%= Rails.root.join("path/to/gcs.keyfile") %> +# bucket: your_own_bucket + +# Use rails credentials:edit to set the Azure Storage secret (as azure_storage:storage_access_key) +# microsoft: +# service: AzureStorage +# storage_account_name: your_account_name +# storage_access_key: <%= Rails.application.credentials.dig(:azure_storage, :storage_access_key) %> +# container: your_container_name + +# mirror: +# service: Mirror +# primary: local +# mirrors: [ amazon, google, microsoft ] diff --git a/test/dummy/lib/assets/.keep b/test/dummy/lib/assets/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/log/.keep b/test/dummy/log/.keep new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/public/404.html b/test/dummy/public/404.html new file mode 100644 index 0000000..2be3af2 --- /dev/null +++ b/test/dummy/public/404.html @@ -0,0 +1,67 @@ + + + + The page you were looking for doesn't exist (404) + + + + + + +
+
+

The page you were looking for doesn't exist.

+

You may have mistyped the address or the page may have moved.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/test/dummy/public/422.html b/test/dummy/public/422.html new file mode 100644 index 0000000..c08eac0 --- /dev/null +++ b/test/dummy/public/422.html @@ -0,0 +1,67 @@ + + + + The change you wanted was rejected (422) + + + + + + +
+
+

The change you wanted was rejected.

+

Maybe you tried to change something you didn't have access to.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/test/dummy/public/500.html b/test/dummy/public/500.html new file mode 100644 index 0000000..78a030a --- /dev/null +++ b/test/dummy/public/500.html @@ -0,0 +1,66 @@ + + + + We're sorry, but something went wrong (500) + + + + + + +
+
+

We're sorry, but something went wrong.

+
+

If you are the application owner check the logs for more information.

+
+ + diff --git a/test/dummy/public/apple-touch-icon-precomposed.png b/test/dummy/public/apple-touch-icon-precomposed.png new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/public/apple-touch-icon.png b/test/dummy/public/apple-touch-icon.png new file mode 100644 index 0000000..e69de29 diff --git a/test/dummy/public/favicon.ico b/test/dummy/public/favicon.ico new file mode 100644 index 0000000..e69de29 diff --git a/test/integration/navigation_test.rb b/test/integration/navigation_test.rb new file mode 100644 index 0000000..29e59d8 --- /dev/null +++ b/test/integration/navigation_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class NavigationTest < ActionDispatch::IntegrationTest + # test "the truth" do + # assert true + # end +end diff --git a/test/ruling_template_test.rb b/test/ruling_template_test.rb new file mode 100644 index 0000000..b34d52f --- /dev/null +++ b/test/ruling_template_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class RulingTemplateTest < ActiveSupport::TestCase + test "truth" do + assert_kind_of Module, RulingTemplate + end +end diff --git a/test/ruling_timer_test.rb b/test/ruling_timer_test.rb new file mode 100644 index 0000000..7a1d4af --- /dev/null +++ b/test/ruling_timer_test.rb @@ -0,0 +1,7 @@ +require 'test_helper' + +class RulingTimer::Test < ActiveSupport::TestCase + test "truth" do + assert_kind_of Module, RulingTimer + end +end diff --git a/test/test_helper.rb b/test/test_helper.rb new file mode 100644 index 0000000..d2af136 --- /dev/null +++ b/test/test_helper.rb @@ -0,0 +1,18 @@ +# Configure Rails Environment +ENV["RAILS_ENV"] = "test" + +require_relative "../test/dummy/config/environment" +ActiveRecord::Migrator.migrations_paths = [File.expand_path("../test/dummy/db/migrate", __dir__)] +require "rails/test_help" + +# Filter out the backtrace from minitest while preserving the one from other libraries. +Minitest.backtrace_filter = Minitest::BacktraceFilter.new + + +# Load fixtures from the engine +if ActiveSupport::TestCase.respond_to?(:fixture_path=) + ActiveSupport::TestCase.fixture_path = File.expand_path("fixtures", __dir__) + ActionDispatch::IntegrationTest.fixture_path = ActiveSupport::TestCase.fixture_path + ActiveSupport::TestCase.file_fixture_path = ActiveSupport::TestCase.fixture_path + "/files" + ActiveSupport::TestCase.fixtures :all +end