Compare commits

...

218 commits

Author SHA1 Message Date
Jyri-Petteri Paloposki
97220798db
Merge pull request #3143 from TracksApp/dependabot/bundler/nokogiri-1.18.9
Some checks failed
Build latest / Build latest (push) Has been cancelled
Bump nokogiri from 1.18.8 to 1.18.9
2025-09-20 18:18:25 +03:00
Jyri-Petteri Paloposki
bebdcb233c
Merge pull request #3142 from TracksApp/dependabot/bundler/thor-1.4.0
Bump thor from 1.3.2 to 1.4.0
2025-09-20 18:18:09 +03:00
Jyri-Petteri Paloposki
52c9a50f16
Merge pull request #3141 from TracksApp/dependabot/bundler/sqlite3-2.7.3
Bump sqlite3 from 2.7.2 to 2.7.3
2025-09-20 18:17:55 +03:00
Jyri-Petteri Paloposki
6e0cb8125d
Merge pull request #3149 from TracksApp/dependabot/bundler/rack-mini-profiler-4.0.1
Bump rack-mini-profiler from 4.0.0 to 4.0.1
2025-09-20 18:17:41 +03:00
Jyri-Petteri Paloposki
1d483148d7
Merge pull request #3156 from TracksApp/dependabot/bundler/stripe-15.5.0
Bump stripe from 15.3.0 to 15.5.0
2025-09-20 18:16:41 +03:00
Jyri-Petteri Paloposki
d397e7be97
Merge pull request #3161 from bluewings1211/add_zh_TW_support
Add Traditional Chinese (Taiwan) localization support
2025-09-20 14:32:15 +03:00
Jyri-Petteri Paloposki
8a8a816645
Merge pull request #3167 from TracksApp/fix_build
Fix build by changing how Yarn is installed
2025-09-20 14:29:38 +03:00
Jyri-Petteri Paloposki
36cba2fffc Fix build by changing how Yarn is installed 2025-09-20 14:21:16 +03:00
bluewings1211
02ca81f761 Add Traditional Chinese (Taiwan) localization support
- Add jQuery UI datepicker Traditional Chinese localization file
- Add complete zh-TW locale file with translations for all UI elements
- Configure asset precompilation for datepicker locale files
2025-09-05 16:19:23 +08:00
dependabot[bot]
f8966fb48f
Bump stripe from 15.3.0 to 15.5.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 15.3.0 to 15.5.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v15.3.0...v15.5.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-28 03:19:53 +00:00
dependabot[bot]
a121b6381d
Bump rack-mini-profiler from 4.0.0 to 4.0.1
Bumps [rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler) from 4.0.0 to 4.0.1.
- [Release notes](https://github.com/MiniProfiler/rack-mini-profiler/releases)
- [Changelog](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MiniProfiler/rack-mini-profiler/compare/v4.0.0...v4.0.1)

---
updated-dependencies:
- dependency-name: rack-mini-profiler
  dependency-version: 4.0.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-01 00:23:28 +00:00
dependabot[bot]
d670a70ede
Bump nokogiri from 1.18.8 to 1.18.9
---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 04:04:24 +00:00
dependabot[bot]
21e27915a6
Bump thor from 1.3.2 to 1.4.0
---
updated-dependencies:
- dependency-name: thor
  dependency-version: 1.4.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-22 02:08:59 +00:00
dependabot[bot]
2691d18cdb
Bump sqlite3 from 2.7.2 to 2.7.3
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.2 to 2.7.3.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.2...v2.7.3)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.3
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 00:12:20 +00:00
Jyri-Petteri Paloposki
4ffdf00dca
Merge pull request #3140 from TracksApp/dependabot/bundler/rubocop-1.78.0
Bump rubocop from 1.77.0 to 1.78.0
2025-07-11 18:35:07 +03:00
dependabot[bot]
889540cc94
Bump rubocop from 1.77.0 to 1.78.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.77.0 to 1.78.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.77.0...v1.78.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.78.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-09 00:04:29 +00:00
Jyri-Petteri Paloposki
ea70f0a13b
Merge pull request #3139 from TracksApp/dependabot/bundler/sqlite3-2.7.2
Bump sqlite3 from 2.7.1 to 2.7.2
2025-07-07 15:07:05 +03:00
dependabot[bot]
3b2c26478f
Bump sqlite3 from 2.7.1 to 2.7.2
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.1 to 2.7.2.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.1...v2.7.2)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.2
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-07 00:01:25 +00:00
Jyri-Petteri Paloposki
a2d86b5d6c
Merge pull request #3135 from TracksApp/dependabot/bundler/rubocop-1.77.0
Bump rubocop from 1.70.0 to 1.77.0
2025-07-02 10:24:31 +03:00
Jyri-Petteri Paloposki
86a0ace6b9
Merge pull request #3136 from TracksApp/dependabot/bundler/stripe-15.3.0
Bump stripe from 15.2.1 to 15.3.0
2025-07-02 10:24:17 +03:00
Jyri-Petteri Paloposki
18e9fb7b0c
Merge pull request #3137 from TracksApp/dependabot/bundler/sqlite3-2.7.1
Bump sqlite3 from 2.7.0 to 2.7.1
2025-07-02 10:24:06 +03:00
Jyri-Petteri Paloposki
a3e23ef9ed
Merge pull request #3138 from TracksApp/dependabot/bundler/solargraph-0.56.0
Bump solargraph from 0.55.4 to 0.56.0
2025-07-02 10:23:54 +03:00
dependabot[bot]
4cf825cb83
Bump solargraph from 0.55.4 to 0.56.0
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.55.4 to 0.56.0.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.55.4...v0.56.0)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-version: 0.56.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:38 +00:00
dependabot[bot]
c684b1ce19
Bump sqlite3 from 2.7.0 to 2.7.1
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 2.7.0 to 2.7.1.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v2.7.0...v2.7.1)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.1
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:27 +00:00
dependabot[bot]
86b982df8e
Bump stripe from 15.2.1 to 15.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 15.2.1 to 15.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v15.2.1...v15.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:16:16 +00:00
dependabot[bot]
c1dd33975b
Bump rubocop from 1.70.0 to 1.77.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.70.0 to 1.77.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.70.0...v1.77.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-version: 1.77.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-02 00:15:55 +00:00
Jyri-Petteri Paloposki
661ef20c5f
Merge pull request #3133 from TracksApp/dependabot/bundler/rails-dom-testing-2.3.0
Bump rails-dom-testing from 2.2.0 to 2.3.0
2025-07-01 12:48:16 +03:00
Jyri-Petteri Paloposki
ab640a8f46
Merge pull request #3131 from TracksApp/dependabot/bundler/rexml-3.4.1
Bump rexml from 3.4.0 to 3.4.1
2025-07-01 12:48:01 +03:00
Jyri-Petteri Paloposki
8a50b67edd
Merge pull request #3130 from TracksApp/dependabot/bundler/spring-4.3.0
Bump spring from 4.2.1 to 4.3.0
2025-07-01 12:47:50 +03:00
Jyri-Petteri Paloposki
61841c1f14
Merge pull request #3127 from TracksApp/dependabot/bundler/bullet-8.0.8
Bump bullet from 8.0.0 to 8.0.8
2025-07-01 12:47:40 +03:00
dependabot[bot]
e7aace3cac
Bump rexml from 3.4.0 to 3.4.1
Bumps [rexml](https://github.com/ruby/rexml) from 3.4.0 to 3.4.1.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.4.0...v3.4.1)

---
updated-dependencies:
- dependency-name: rexml
  dependency-version: 3.4.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 09:02:10 +00:00
dependabot[bot]
160b9a7ab5
Bump rails-dom-testing from 2.2.0 to 2.3.0
Bumps [rails-dom-testing](https://github.com/rails/rails-dom-testing) from 2.2.0 to 2.3.0.
- [Release notes](https://github.com/rails/rails-dom-testing/releases)
- [Commits](https://github.com/rails/rails-dom-testing/compare/v2.2.0...v2.3.0)

---
updated-dependencies:
- dependency-name: rails-dom-testing
  dependency-version: 2.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:55 +00:00
dependabot[bot]
2f5451a713
Bump spring from 4.2.1 to 4.3.0
Bumps [spring](https://github.com/rails/spring) from 4.2.1 to 4.3.0.
- [Release notes](https://github.com/rails/spring/releases)
- [Changelog](https://github.com/rails/spring/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/spring/compare/v4.2.1...v4.3.0)

---
updated-dependencies:
- dependency-name: spring
  dependency-version: 4.3.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:49 +00:00
dependabot[bot]
42e397d028
Bump bullet from 8.0.0 to 8.0.8
Bumps [bullet](https://github.com/flyerhzm/bullet) from 8.0.0 to 8.0.8.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/8.0.0...8.0.8)

---
updated-dependencies:
- dependency-name: bullet
  dependency-version: 8.0.8
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-01 08:58:39 +00:00
Jyri-Petteri Paloposki
edf145f366
Merge pull request #3129 from TracksApp/dependabot/bundler/stripe-15.2.1
Bump stripe from 13.3.1 to 15.2.1
2025-07-01 11:58:19 +03:00
Jyri-Petteri Paloposki
82e49bd00b
Merge pull request #3128 from TracksApp/dependabot/bundler/rspec-expectations-3.13.5
Bump rspec-expectations from 3.13.3 to 3.13.5
2025-07-01 11:58:05 +03:00
Jyri-Petteri Paloposki
e3a26f9396
Merge pull request #3126 from TracksApp/dependabot/bundler/byebug-12.0.0
Bump byebug from 11.1.3 to 12.0.0
2025-07-01 11:57:51 +03:00
Jyri-Petteri Paloposki
3fbf0b07f5
Merge pull request #3134 from TracksApp/dependabot/bundler/solargraph-0.55.4
Bump solargraph from 0.51.0 to 0.55.4
2025-07-01 11:57:39 +03:00
dependabot[bot]
4bbc809a1c
Bump solargraph from 0.51.0 to 0.55.4
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.51.0 to 0.55.4.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.51.0...v0.55.4)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-version: 0.55.4
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:23:25 +00:00
dependabot[bot]
a185b2c0f8
Bump stripe from 13.3.1 to 15.2.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.3.1 to 15.2.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.3.1...v15.2.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-version: 15.2.1
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:22:31 +00:00
dependabot[bot]
3ccd2345ba
Bump rspec-expectations from 3.13.3 to 3.13.5
Bumps [rspec-expectations](https://github.com/rspec/rspec) from 3.13.3 to 3.13.5.
- [Changelog](https://github.com/rspec/rspec/blob/rspec-expectations-v3.13.5/rspec-expectations/Changelog.md)
- [Commits](https://github.com/rspec/rspec/compare/rspec-expectations-v3.13.3...rspec-expectations-v3.13.5)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-version: 3.13.5
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:22:21 +00:00
dependabot[bot]
95597a969c
Bump byebug from 11.1.3 to 12.0.0
Bumps [byebug](https://github.com/deivid-rodriguez/byebug) from 11.1.3 to 12.0.0.
- [Release notes](https://github.com/deivid-rodriguez/byebug/releases)
- [Changelog](https://github.com/deivid-rodriguez/byebug/blob/master/CHANGELOG.md)
- [Commits](https://github.com/deivid-rodriguez/byebug/compare/v11.1.3...v12.0.0)

---
updated-dependencies:
- dependency-name: byebug
  dependency-version: 12.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-30 00:21:58 +00:00
Jyri-Petteri Paloposki
4f6d806724
Merge pull request #3124 from TracksApp/fix_env
Upgrade to Rails 7.1 and add some environment fixes
2025-06-30 01:00:08 +03:00
Jyri-Petteri Paloposki
63d2060dc1 Use MariaDB instead of MySQL also in tests 2025-06-30 00:49:34 +03:00
Jyri-Petteri Paloposki
2eb54b1c3e Upgrade to Rails 7.1 2025-06-30 00:45:25 +03:00
Jyri-Petteri Paloposki
36b47125ef Change to a new JS preprocessor, change from MySQL to MariaDB and fix polling 2025-06-29 21:27:27 +03:00
Jyri-Petteri Paloposki
d51432d09b
Merge pull request #3118 from TracksApp/dependabot/bundler/factory_bot_rails-6.5.0
Bump factory_bot_rails from 6.4.4 to 6.5.0
2025-06-29 15:39:55 +03:00
Jyri-Petteri Paloposki
46a6cd716b
Merge pull request #3120 from TracksApp/dependabot/bundler/jquery-ui-rails-8.0.0
Bump jquery-ui-rails from 7.0.0 to 8.0.0
2025-06-29 15:37:25 +03:00
Jyri-Petteri Paloposki
1a9ffd96d3
Merge pull request #3122 from TracksApp/dependabot/bundler/sanitize-7.0.0
Bump sanitize from 6.1.3 to 7.0.0
2025-06-29 15:37:12 +03:00
dependabot[bot]
eecd15b150
Bump sanitize from 6.1.3 to 7.0.0
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.3 to 7.0.0.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.3...v7.0.0)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-version: 7.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:29:26 +00:00
dependabot[bot]
7b6f7fe8bb
Bump factory_bot_rails from 6.4.4 to 6.5.0
Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.4.4 to 6.5.0.
- [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases)
- [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md)
- [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.4...v6.5.0)

---
updated-dependencies:
- dependency-name: factory_bot_rails
  dependency-version: 6.5.0
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:28:19 +00:00
dependabot[bot]
2f6dd0f808
Bump jquery-ui-rails from 7.0.0 to 8.0.0
Bumps [jquery-ui-rails](https://github.com/joliss/jquery-ui-rails) from 7.0.0 to 8.0.0.
- [Release notes](https://github.com/joliss/jquery-ui-rails/releases)
- [Changelog](https://github.com/jquery-ui-rails/jquery-ui-rails/blob/master/History.md)
- [Commits](https://github.com/joliss/jquery-ui-rails/compare/v7.0.0...v8.0.0)

---
updated-dependencies:
- dependency-name: jquery-ui-rails
  dependency-version: 8.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:26:52 +00:00
Jyri-Petteri Paloposki
8a8bdfe732
Merge pull request #3119 from TracksApp/dependabot/bundler/tolk-6.0.0
Bump tolk from 5.0.2 to 6.0.0
2025-06-29 15:26:44 +03:00
Jyri-Petteri Paloposki
db41886954
Merge pull request #3117 from TracksApp/dependabot/bundler/i18n-tasks-1.0.15
Bump i18n-tasks from 1.0.14 to 1.0.15
2025-06-29 15:24:44 +03:00
Jyri-Petteri Paloposki
77d12853c1
Merge pull request #3123 from TracksApp/dependabot/bundler/nokogiri-1.18.8
Bump nokogiri from 1.17.2 to 1.18.8
2025-06-29 15:24:27 +03:00
dependabot[bot]
19c8fcc0d9
Bump tolk from 5.0.2 to 6.0.0
Bumps [tolk](https://github.com/tolk/tolk) from 5.0.2 to 6.0.0.
- [Changelog](https://github.com/tolk/tolk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tolk/tolk/compare/v5.0.2...v6.0.0)

---
updated-dependencies:
- dependency-name: tolk
  dependency-version: 6.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:14:45 +00:00
dependabot[bot]
b97aa8fd4e
Bump i18n-tasks from 1.0.14 to 1.0.15
Bumps [i18n-tasks](https://github.com/glebm/i18n-tasks) from 1.0.14 to 1.0.15.
- [Release notes](https://github.com/glebm/i18n-tasks/releases)
- [Changelog](https://github.com/glebm/i18n-tasks/blob/main/CHANGES.md)
- [Commits](https://github.com/glebm/i18n-tasks/compare/v1.0.14...v1.0.15)

---
updated-dependencies:
- dependency-name: i18n-tasks
  dependency-version: 1.0.15
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:14:07 +00:00
Jyri-Petteri Paloposki
fc2a8bb8f3
Merge pull request #3121 from TracksApp/dependabot/bundler/sqlite3-2.7.0
Bump sqlite3 from 1.7.3 to 2.7.0
2025-06-29 15:12:20 +03:00
Jyri-Petteri Paloposki
70c5ba94df
Merge pull request #3116 from TracksApp/dependabot/bundler/puma-6.6.0
Bump puma from 6.5.0 to 6.6.0
2025-06-29 15:11:44 +03:00
dependabot[bot]
761ec11e07
Bump nokogiri from 1.17.2 to 1.18.8
Bumps [nokogiri](https://github.com/sparklemotion/nokogiri) from 1.17.2 to 1.18.8.
- [Release notes](https://github.com/sparklemotion/nokogiri/releases)
- [Changelog](https://github.com/sparklemotion/nokogiri/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/nokogiri/compare/v1.17.2...v1.18.8)

---
updated-dependencies:
- dependency-name: nokogiri
  dependency-version: 1.18.8
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 12:07:52 +00:00
Jyri-Petteri Paloposki
c69811e19c
Merge pull request #3115 from TracksApp/dependabot/bundler/rack-mini-profiler-4.0.0
Bump rack-mini-profiler from 3.3.1 to 4.0.0
2025-06-29 15:05:52 +03:00
Jyri-Petteri Paloposki
3fbe3b2c90
Merge pull request #3114 from TracksApp/dependabot/bundler/aasm-5.5.1
Bump aasm from 5.5.0 to 5.5.1
2025-06-29 15:04:58 +03:00
dependabot[bot]
8868c389af
Bump sqlite3 from 1.7.3 to 2.7.0
Bumps [sqlite3](https://github.com/sparklemotion/sqlite3-ruby) from 1.7.3 to 2.7.0.
- [Release notes](https://github.com/sparklemotion/sqlite3-ruby/releases)
- [Changelog](https://github.com/sparklemotion/sqlite3-ruby/blob/main/CHANGELOG.md)
- [Commits](https://github.com/sparklemotion/sqlite3-ruby/compare/v1.7.3...v2.7.0)

---
updated-dependencies:
- dependency-name: sqlite3
  dependency-version: 2.7.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:59:15 +00:00
dependabot[bot]
23223dea9b
Bump puma from 6.5.0 to 6.6.0
Bumps [puma](https://github.com/puma/puma) from 6.5.0 to 6.6.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.5.0...v6.6.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-version: 6.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:29 +00:00
dependabot[bot]
674e24ea62
Bump rack-mini-profiler from 3.3.1 to 4.0.0
Bumps [rack-mini-profiler](https://github.com/MiniProfiler/rack-mini-profiler) from 3.3.1 to 4.0.0.
- [Release notes](https://github.com/MiniProfiler/rack-mini-profiler/releases)
- [Changelog](https://github.com/MiniProfiler/rack-mini-profiler/blob/master/CHANGELOG.md)
- [Commits](https://github.com/MiniProfiler/rack-mini-profiler/compare/v3.3.1...v4.0.0)

---
updated-dependencies:
- dependency-name: rack-mini-profiler
  dependency-version: 4.0.0
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:21 +00:00
dependabot[bot]
3e07e27099
Bump aasm from 5.5.0 to 5.5.1
Bumps [aasm](https://github.com/aasm/aasm) from 5.5.0 to 5.5.1.
- [Changelog](https://github.com/aasm/aasm/blob/master/CHANGELOG.md)
- [Commits](https://github.com/aasm/aasm/compare/v5.5.0...v5.5.1)

---
updated-dependencies:
- dependency-name: aasm
  dependency-version: 5.5.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-29 11:58:13 +00:00
Jyri-Petteri Paloposki
c43cd6cb16
Merge pull request #3113 from TracksApp/dependabot_fix
Dependabot Ruby version
2025-06-29 14:57:30 +03:00
Jyri-Petteri Paloposki
7ed9f2ca3d Dependabot Ruby version 2025-06-29 14:51:18 +03:00
Jyri-Petteri Paloposki
b32cb2090e
Merge pull request #3112 from TracksApp/ror_70
Upgrade to RoR 7.0
2025-06-29 13:37:27 +03:00
Jyri-Petteri Paloposki
2094826d2f Change the command used for running tests 2025-06-29 13:26:58 +03:00
Jyri-Petteri Paloposki
4f94e2dfc2 Use the array syntax to avoid asset precompile failing to missing values 2025-06-29 13:25:29 +03:00
Jyri-Petteri Paloposki
13bdef74b3 Update the date formatting syntax 2025-06-29 13:25:14 +03:00
Jyri-Petteri Paloposki
3fc943ce2a No longer test for Ruby 3.0 or 3.1 2025-06-28 16:31:31 +03:00
Jyri-Petteri Paloposki
e77b83683a Upgrade to RoR 7.0 2025-06-28 16:25:52 +03:00
Jyri-Petteri Paloposki
854034c554
Merge pull request #3111 from TracksApp/fix_template_errors
Fix a few template errors caused by RoR 6
2025-06-28 16:24:05 +03:00
Jyri-Petteri Paloposki
7d9c5786be Fix a few template errors caused by RoR 6 2025-04-26 14:02:49 +03:00
Jyri-Petteri Paloposki
fa7d213ca7 Require rexml specifically to make sure it's available. The POST API didn't always work without this. 2025-01-26 18:12:15 +02:00
Jyri-Petteri Paloposki
da726b1700
Merge pull request #3108 from TracksApp/dependabot/bundler/stripe-13.3.1
Bump stripe from 13.3.0 to 13.3.1
2025-01-26 17:45:41 +02:00
Jyri-Petteri Paloposki
ffa79f2820
Merge pull request #3109 from TracksApp/dependabot/bundler/solargraph-0.51.0
Bump solargraph from 0.50.0 to 0.51.0
2025-01-26 17:45:31 +02:00
dependabot[bot]
6d5f269d77
Bump solargraph from 0.50.0 to 0.51.0
Bumps [solargraph](https://github.com/castwide/solargraph) from 0.50.0 to 0.51.0.
- [Changelog](https://github.com/castwide/solargraph/blob/master/CHANGELOG.md)
- [Commits](https://github.com/castwide/solargraph/compare/v0.50.0...v0.51.0)

---
updated-dependencies:
- dependency-name: solargraph
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-20 00:34:56 +00:00
dependabot[bot]
2144160ec5
Bump stripe from 13.3.0 to 13.3.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.3.0 to 13.3.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.3.0...v13.3.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-14 00:41:06 +00:00
Jyri-Petteri Paloposki
41f7a86bba
Merge pull request #3107 from TracksApp/dependabot/bundler/rubocop-1.70.0
Bump rubocop from 1.69.2 to 1.70.0
2025-01-13 12:35:40 +02:00
dependabot[bot]
03dc26c06e
Bump rubocop from 1.69.2 to 1.70.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.2 to 1.70.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.2...v1.70.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-13 00:11:10 +00:00
Jyri-Petteri Paloposki
10bb9e86ac
Merge pull request #3106 from TracksApp/dependabot/bundler/stripe-13.3.0
Bump stripe from 13.2.0 to 13.3.0
2024-12-19 19:46:32 +02:00
Jyri-Petteri Paloposki
4863c82469
Merge pull request #3105 from TracksApp/dependabot/bundler/font-awesome-sass-6.7.2
Bump font-awesome-sass from 6.5.2 to 6.7.2
2024-12-19 19:46:19 +02:00
dependabot[bot]
3a8988ac74
Bump stripe from 13.2.0 to 13.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.2.0 to 13.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.2.0...v13.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-19 00:52:52 +00:00
dependabot[bot]
5484a4c894
Bump font-awesome-sass from 6.5.2 to 6.7.2
Bumps [font-awesome-sass](https://github.com/FortAwesome/font-awesome-sass) from 6.5.2 to 6.7.2.
- [Release notes](https://github.com/FortAwesome/font-awesome-sass/releases)
- [Commits](https://github.com/FortAwesome/font-awesome-sass/commits)

---
updated-dependencies:
- dependency-name: font-awesome-sass
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-18 00:29:28 +00:00
Jyri-Petteri Paloposki
ecaed7bca7
Merge pull request #3102 from TracksApp/dependabot/bundler/mocha-2.7.1
Bump mocha from 2.6.1 to 2.7.1
2024-12-14 14:27:18 +02:00
Jyri-Petteri Paloposki
69d3ea5f30
Merge pull request #3104 from TracksApp/dependabot/bundler/rubocop-1.69.2
Bump rubocop from 1.69.1 to 1.69.2
2024-12-14 14:27:07 +02:00
dependabot[bot]
fb38741fa2
Bump rubocop from 1.69.1 to 1.69.2
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.1 to 1.69.2.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.1...v1.69.2)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-13 00:43:39 +00:00
dependabot[bot]
cb9fc6900d
Bump mocha from 2.6.1 to 2.7.1
Bumps [mocha](https://github.com/freerange/mocha) from 2.6.1 to 2.7.1.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.6.1...v2.7.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-10 00:36:42 +00:00
Jyri-Petteri Paloposki
ad356a9a01
Merge pull request #3100 from TracksApp/dependabot/bundler/rails-html-sanitizer-1.6.1
Bump rails-html-sanitizer from 1.6.0 to 1.6.1
2024-12-09 10:47:49 +02:00
Jyri-Petteri Paloposki
b27cf9f533
Merge pull request #3101 from TracksApp/dependabot/bundler/rubocop-1.69.1
Bump rubocop from 1.69.0 to 1.69.1
2024-12-09 10:47:34 +02:00
dependabot[bot]
7d96e9b0cf
Bump rubocop from 1.69.0 to 1.69.1
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.69.0 to 1.69.1.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.69.0...v1.69.1)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-04 00:21:19 +00:00
dependabot[bot]
0487c9f17c
Bump rails-html-sanitizer from 1.6.0 to 1.6.1
Bumps [rails-html-sanitizer](https://github.com/rails/rails-html-sanitizer) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/rails/rails-html-sanitizer/releases)
- [Changelog](https://github.com/rails/rails-html-sanitizer/blob/main/CHANGELOG.md)
- [Commits](https://github.com/rails/rails-html-sanitizer/compare/v1.6.0...v1.6.1)

---
updated-dependencies:
- dependency-name: rails-html-sanitizer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-02 22:09:11 +00:00
Jyri-Petteri Paloposki
4e6d8396ad
Merge pull request #3098 from TracksApp/dependabot/bundler/mocha-2.6.1
Bump mocha from 2.6.0 to 2.6.1
2024-11-29 17:51:53 +02:00
Jyri-Petteri Paloposki
c8c48306ea
Merge pull request #3097 from TracksApp/dependabot/bundler/rubocop-1.69.0
Bump rubocop from 1.68.0 to 1.69.0
2024-11-29 17:51:41 +02:00
dependabot[bot]
87a2fca247
Bump mocha from 2.6.0 to 2.6.1
Bumps [mocha](https://github.com/freerange/mocha) from 2.6.0 to 2.6.1.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.6.0...v2.6.1)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-29 00:23:38 +00:00
dependabot[bot]
9d737b57f4
Bump rubocop from 1.68.0 to 1.69.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.68.0 to 1.69.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.68.0...v1.69.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-27 00:29:20 +00:00
Jyri-Petteri Paloposki
2431cdef3b
Merge pull request #3096 from TracksApp/dependabot/bundler/mocha-2.6.0
Bump mocha from 2.5.0 to 2.6.0
2024-11-25 09:54:19 +02:00
Jyri-Petteri Paloposki
f64445cd33
Merge pull request #3095 from TracksApp/dependabot/bundler/puma-6.5.0
Bump puma from 6.4.3 to 6.5.0
2024-11-25 09:54:09 +02:00
dependabot[bot]
0d2223ef52
Bump mocha from 2.5.0 to 2.6.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.5.0 to 2.6.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.5.0...v2.6.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 00:43:29 +00:00
dependabot[bot]
29ce045f15
Bump puma from 6.4.3 to 6.5.0
Bumps [puma](https://github.com/puma/puma) from 6.4.3 to 6.5.0.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.3...v6.5.0)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-25 00:41:59 +00:00
Jyri-Petteri Paloposki
dd406ad6cc
Merge pull request #3093 from TracksApp/dependabot/bundler/acts_as_list-1.2.4
Bump acts_as_list from 1.2.3 to 1.2.4
2024-11-23 14:23:42 +02:00
Jyri-Petteri Paloposki
c5e27b3c5a
Merge pull request #3094 from TracksApp/dependabot/bundler/stripe-13.2.0
Bump stripe from 13.1.1 to 13.2.0
2024-11-23 13:48:36 +02:00
dependabot[bot]
57cc1185f4
Bump stripe from 13.1.1 to 13.2.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.1.1 to 13.2.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.1.1...v13.2.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-21 00:12:04 +00:00
dependabot[bot]
1d1bc3b71e
Bump acts_as_list from 1.2.3 to 1.2.4
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.3 to 1.2.4.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.3...v1.2.4)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-20 00:23:11 +00:00
Jyri-Petteri Paloposki
fbd888c200
Merge pull request #3091 from TracksApp/dependabot/bundler/mocha-2.5.0
Bump mocha from 2.4.5 to 2.5.0
2024-11-14 10:10:04 +02:00
dependabot[bot]
186901cf32
Bump mocha from 2.4.5 to 2.5.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.5 to 2.5.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.5...v2.5.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-13 00:49:08 +00:00
Jyri-Petteri Paloposki
9a2e947173
Merge pull request #3090 from TracksApp/dependabot/bundler/bullet-8.0.0
Bump bullet from 7.2.0 to 8.0.0
2024-11-12 02:44:35 +02:00
Jyri-Petteri Paloposki
692b6bf653
Merge pull request #3089 from TracksApp/dependabot/bundler/stripe-13.1.1
Bump stripe from 13.1.0 to 13.1.1
2024-11-12 02:44:23 +02:00
dependabot[bot]
976ad893e7
Bump bullet from 7.2.0 to 8.0.0
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.2.0 to 8.0.0.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.2.0...8.0.0)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 00:34:41 +00:00
dependabot[bot]
fe2befc72e
Bump stripe from 13.1.0 to 13.1.1
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.1.0 to 13.1.1.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.1.0...v13.1.1)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-12 00:34:11 +00:00
Jyri-Petteri Paloposki
846494843b
Merge pull request #3087 from TracksApp/dependabot/bundler/acts_as_list-1.2.3
Bump acts_as_list from 1.2.2 to 1.2.3
2024-11-11 10:14:19 +02:00
Jyri-Petteri Paloposki
57aa499027
Merge pull request #3088 from TracksApp/dependabot/bundler/factory_bot_rails-6.4.4
Bump factory_bot_rails from 6.4.3 to 6.4.4
2024-11-11 10:14:05 +02:00
dependabot[bot]
3221f1c194
Bump factory_bot_rails from 6.4.3 to 6.4.4
Bumps [factory_bot_rails](https://github.com/thoughtbot/factory_bot_rails) from 6.4.3 to 6.4.4.
- [Release notes](https://github.com/thoughtbot/factory_bot_rails/releases)
- [Changelog](https://github.com/thoughtbot/factory_bot_rails/blob/main/NEWS.md)
- [Commits](https://github.com/thoughtbot/factory_bot_rails/compare/v6.4.3...v6.4.4)

---
updated-dependencies:
- dependency-name: factory_bot_rails
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 00:51:12 +00:00
dependabot[bot]
61b9c93a7d
Bump acts_as_list from 1.2.2 to 1.2.3
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.2 to 1.2.3.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.2...v1.2.3)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-11 00:50:38 +00:00
Jyri-Petteri Paloposki
1ca43b8ee5
Merge pull request #3079 from TracksApp/dependabot/bundler/database_cleaner-2.1.0
Bump database_cleaner from 1.99.0 to 2.1.0
2024-11-08 19:31:47 +02:00
Jyri-Petteri Paloposki
9742bfc338
Merge pull request #3086 from TracksApp/dependabot/bundler/rubocop-1.68.0
Bump rubocop from 1.67.0 to 1.68.0
2024-11-08 19:19:33 +02:00
dependabot[bot]
39ab8dddcf
Bump rubocop from 1.67.0 to 1.68.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.67.0 to 1.68.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.67.0...v1.68.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-06 00:18:22 +00:00
dependabot[bot]
450db54865
Bump database_cleaner from 1.99.0 to 2.1.0
Bumps [database_cleaner](https://github.com/DatabaseCleaner/database_cleaner) from 1.99.0 to 2.1.0.
- [Changelog](https://github.com/DatabaseCleaner/database_cleaner/blob/main/History.rdoc)
- [Commits](https://github.com/DatabaseCleaner/database_cleaner/compare/v1.99.0...v2.1.0)

---
updated-dependencies:
- dependency-name: database_cleaner
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-05 18:04:54 +00:00
Jyri-Petteri Paloposki
f960c1939e
Merge pull request #3085 from TracksApp/dependabot/bundler/tolk-5.0.2
Bump tolk from 5.0.1 to 5.0.2
2024-11-05 20:03:41 +02:00
dependabot[bot]
308410ea71
Bump tolk from 5.0.1 to 5.0.2
Bumps [tolk](https://github.com/tolk/tolk) from 5.0.1 to 5.0.2.
- [Changelog](https://github.com/tolk/tolk/blob/main/CHANGELOG.md)
- [Commits](https://github.com/tolk/tolk/compare/v5.0.1...v5.0.2)

---
updated-dependencies:
- dependency-name: tolk
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-04 00:16:19 +00:00
Jyri-Petteri Paloposki
d946081e0f
Merge pull request #3084 from TracksApp/dependabot/bundler/pg-1.5.9
Bump pg from 1.5.7 to 1.5.9
2024-11-01 10:24:34 +02:00
dependabot[bot]
c56db12281
Bump pg from 1.5.7 to 1.5.9
Bumps [pg](https://github.com/ged/ruby-pg) from 1.5.7 to 1.5.9.
- [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.5.7...v1.5.9)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-01 00:28:02 +00:00
Jyri-Petteri Paloposki
a5e5d0934f
Merge pull request #3082 from TracksApp/dependabot/bundler/stripe-13.1.0
Bump stripe from 13.0.2 to 13.1.0
2024-10-31 18:18:34 +02:00
dependabot[bot]
3077578e6b
Bump stripe from 13.0.2 to 13.1.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 13.0.2 to 13.1.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v13.0.2...v13.1.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-30 00:02:43 +00:00
Jyri-Petteri Paloposki
2e82791887
Merge pull request #3081 from TracksApp/dependabot/bundler/sanitize-6.1.3
Bump sanitize from 6.1.2 to 6.1.3
2024-10-29 09:28:34 +02:00
dependabot[bot]
5b49f9e704
Bump sanitize from 6.1.2 to 6.1.3
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.2 to 6.1.3.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.2...v6.1.3)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-29 00:32:27 +00:00
Jyri-Petteri Paloposki
a746dd31d3
Merge pull request #3080 from TracksApp/dependabot/bundler/rexml-3.3.9
Bump rexml from 3.3.8 to 3.3.9
2024-10-28 21:54:50 +02:00
dependabot[bot]
b3754f2ee6
Bump rexml from 3.3.8 to 3.3.9
Bumps [rexml](https://github.com/ruby/rexml) from 3.3.8 to 3.3.9.
- [Release notes](https://github.com/ruby/rexml/releases)
- [Changelog](https://github.com/ruby/rexml/blob/master/NEWS.md)
- [Commits](https://github.com/ruby/rexml/compare/v3.3.8...v3.3.9)

---
updated-dependencies:
- dependency-name: rexml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 19:07:34 +00:00
Jyri-Petteri Paloposki
5243a0a092
Merge pull request #3077 from TracksApp/dependabot/bundler/activemodel-serializers-xml-1.0.3
Bump activemodel-serializers-xml from 1.0.2 to 1.0.3
2024-10-28 12:54:03 +02:00
dependabot[bot]
5682a380f3
Bump activemodel-serializers-xml from 1.0.2 to 1.0.3
Bumps [activemodel-serializers-xml](https://github.com/rails/activemodel-serializers-xml) from 1.0.2 to 1.0.3.
- [Release notes](https://github.com/rails/activemodel-serializers-xml/releases)
- [Commits](https://github.com/rails/activemodel-serializers-xml/compare/v1.0.2...v1.0.3)

---
updated-dependencies:
- dependency-name: activemodel-serializers-xml
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-28 00:38:36 +00:00
Jyri-Petteri Paloposki
477dd9737f
Merge pull request #3076 from TracksApp/dependabot/bundler/stripe-13.0.2
Bump stripe from 12.4.0 to 13.0.2
2024-10-25 09:57:53 +03:00
Jyri-Petteri Paloposki
4b043968ad
Merge pull request #3075 from TracksApp/dependabot/bundler/yard-0.9.37
Bump yard from 0.9.36 to 0.9.37
2024-10-25 09:57:40 +03:00
dependabot[bot]
ecccf02cc9
Bump stripe from 12.4.0 to 13.0.2
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 12.4.0 to 13.0.2.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v12.4.0...v13.0.2)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 00:46:12 +00:00
dependabot[bot]
9290e32739
Bump yard from 0.9.36 to 0.9.37
Bumps [yard](https://github.com/lsegal/yard) from 0.9.36 to 0.9.37.
- [Release notes](https://github.com/lsegal/yard/releases)
- [Changelog](https://github.com/lsegal/yard/blob/main/CHANGELOG.md)
- [Commits](https://github.com/lsegal/yard/compare/v0.9.36...v0.9.37)

---
updated-dependencies:
- dependency-name: yard
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-25 00:45:38 +00:00
Jyri-Petteri Paloposki
df1e9a064a
Merge pull request #3072 from TracksApp/dependabot/bundler/uglifier-4.2.1
Bump uglifier from 4.2.0 to 4.2.1
2024-10-24 11:54:11 +03:00
Jyri-Petteri Paloposki
e4b366494d
Merge pull request #3073 from TracksApp/dependabot/bundler/rspec-expectations-3.13.3
Bump rspec-expectations from 3.13.1 to 3.13.3
2024-10-24 11:53:53 +03:00
dependabot[bot]
cfaa0a00be
Bump rspec-expectations from 3.13.1 to 3.13.3
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.13.1 to 3.13.3.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/compare/v3.13.1...v3.13.3)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 00:09:14 +00:00
dependabot[bot]
06000a0aab
Bump uglifier from 4.2.0 to 4.2.1
Bumps [uglifier](https://github.com/lautis/uglifier) from 4.2.0 to 4.2.1.
- [Changelog](https://github.com/lautis/uglifier/blob/master/CHANGELOG.md)
- [Commits](https://github.com/lautis/uglifier/compare/v4.2.0...v4.2.1)

---
updated-dependencies:
- dependency-name: uglifier
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-24 00:08:47 +00:00
Jyri-Petteri Paloposki
894e497e88
Merge pull request #3047 from TracksApp/irc
Remove the IRC channel for now
2024-10-23 13:54:52 +03:00
Jyri-Petteri Paloposki
6eef42d569
Merge pull request #3064 from TracksApp/dependabot/bundler/puma-6.4.3
Bump puma from 6.4.2 to 6.4.3
2024-10-23 10:52:29 +03:00
Jyri-Petteri Paloposki
0616dc41a7
Merge pull request #3070 from TracksApp/dependabot/bundler/actionpack-6.1.7.9
Bump actionpack from 6.1.7.8 to 6.1.7.9
2024-10-23 10:52:16 +03:00
Jyri-Petteri Paloposki
7be0e4286a
Merge pull request #3071 from TracksApp/dependabot/bundler/actionmailer-6.1.7.9
Bump actionmailer from 6.1.7.8 to 6.1.7.9
2024-10-23 10:52:02 +03:00
Jyri-Petteri Paloposki
1438f25b79
Merge pull request #3069 from TracksApp/dependabot/bundler/actiontext-6.1.7.9
Bump actiontext from 6.1.7.8 to 6.1.7.9
2024-10-23 10:51:48 +03:00
dependabot[bot]
89a464d9ea
Bump puma from 6.4.2 to 6.4.3
Bumps [puma](https://github.com/puma/puma) from 6.4.2 to 6.4.3.
- [Release notes](https://github.com/puma/puma/releases)
- [Changelog](https://github.com/puma/puma/blob/master/History.md)
- [Commits](https://github.com/puma/puma/compare/v6.4.2...v6.4.3)

---
updated-dependencies:
- dependency-name: puma
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:39:23 +00:00
dependabot[bot]
8e85af75e8
Bump actionpack from 6.1.7.8 to 6.1.7.9
Bumps [actionpack](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actionpack/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actionpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:55 +00:00
dependabot[bot]
322d2b62d8
Bump actionmailer from 6.1.7.8 to 6.1.7.9
Bumps [actionmailer](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actionmailer/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actionmailer
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:53 +00:00
dependabot[bot]
6844679547
Bump actiontext from 6.1.7.8 to 6.1.7.9
Bumps [actiontext](https://github.com/rails/rails) from 6.1.7.8 to 6.1.7.9.
- [Release notes](https://github.com/rails/rails/releases)
- [Changelog](https://github.com/rails/rails/blob/v7.2.1.1/actiontext/CHANGELOG.md)
- [Commits](https://github.com/rails/rails/compare/v6.1.7.8...v6.1.7.9)

---
updated-dependencies:
- dependency-name: actiontext
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:38:46 +00:00
Jyri-Petteri Paloposki
2204b2c246
Merge pull request #3068 from TracksApp/dependabot/bundler/rubocop-1.67.0
Bump rubocop from 1.65.0 to 1.67.0
2024-10-23 10:37:36 +03:00
dependabot[bot]
87950c6500
Bump rubocop from 1.65.0 to 1.67.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.65.0 to 1.67.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.65.0...v1.67.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-23 07:31:23 +00:00
Jyri-Petteri Paloposki
e829daca1e
Merge pull request #3055 from TracksApp/fix_tests
Fix tests
2024-10-23 10:30:10 +03:00
Jyri-Petteri Paloposki
e4f3fd0737 Use docker compose command 2024-10-23 02:01:42 +03:00
Jyri-Petteri Paloposki
24c4634a7b Use correct var for detecting MySQL 2024-10-23 01:56:34 +03:00
Jyri-Petteri Paloposki
e70a569511 Add debug output for the DB poll 2024-08-15 13:16:14 +03:00
Jyri-Petteri Paloposki
e81919888e Remove the version specificators 2024-08-02 10:36:08 +03:00
Jyri-Petteri Paloposki
d9854e1a4e Fix tests 2024-08-02 10:23:34 +03:00
Jyri-Petteri Paloposki
8abfafa0c6
Merge pull request #3051 from TracksApp/dependabot/bundler/sanitize-6.1.2
Bump sanitize from 6.1.1 to 6.1.2
2024-08-02 10:18:29 +03:00
Jyri-Petteri Paloposki
efea77c9cb
Merge pull request #3052 from TracksApp/dependabot/bundler/pg-1.5.7
Bump pg from 1.5.6 to 1.5.7
2024-08-02 10:18:16 +03:00
dependabot[bot]
96712ee99c
Bump pg from 1.5.6 to 1.5.7
Bumps [pg](https://github.com/ged/ruby-pg) from 1.5.6 to 1.5.7.
- [Changelog](https://github.com/ged/ruby-pg/blob/master/History.md)
- [Commits](https://github.com/ged/ruby-pg/compare/v1.5.6...v1.5.7)

---
updated-dependencies:
- dependency-name: pg
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:43:02 +00:00
dependabot[bot]
a79660299a
Bump sanitize from 6.1.1 to 6.1.2
Bumps [sanitize](https://github.com/rgrove/sanitize) from 6.1.1 to 6.1.2.
- [Release notes](https://github.com/rgrove/sanitize/releases)
- [Changelog](https://github.com/rgrove/sanitize/blob/main/HISTORY.md)
- [Commits](https://github.com/rgrove/sanitize/compare/v6.1.1...v6.1.2)

---
updated-dependencies:
- dependency-name: sanitize
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-29 00:42:31 +00:00
Jyri-Petteri Paloposki
5f456d5300
Merge pull request #3049 from TracksApp/dependabot/bundler/stripe-12.4.0
Bump stripe from 12.3.0 to 12.4.0
2024-07-26 03:49:06 +03:00
dependabot[bot]
fac04ee0c1
Bump stripe from 12.3.0 to 12.4.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 12.3.0 to 12.4.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v12.3.0...v12.4.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-26 00:39:54 +00:00
Jyri-Petteri Paloposki
d9f254e2c5 Add custom release build option 2024-07-26 00:27:43 +03:00
Jyri-Petteri Paloposki
10a6ebcb41 Remove the IRC channel for now 2024-07-25 23:59:05 +03:00
Jyri-Petteri Paloposki
36529c50b3 Release 2.7.1 2024-07-25 23:54:52 +03:00
Jyri-Petteri Paloposki
75420d9c38
Merge commit from fork
Fix a few reflected XSS vulnerabilities
2024-07-25 23:52:51 +03:00
Jyri-Petteri Paloposki
b0d288d2ef Fix reflected XSS vulnerabilities in some views 2024-07-25 23:32:56 +03:00
Jyri-Petteri Paloposki
6a4a72270e
Merge pull request #3044 from weblate/weblate-tracks-tracks
Translations update from Hosted Weblate
2024-07-25 21:39:10 +03:00
Jyri-Petteri Paloposki
d64e1a0fa4 Fix the plurals as usual 2024-07-25 21:34:12 +03:00
Jyri-Petteri Paloposki
c23ca0574e Fix reflected XSS vulnerability on the stats page 2024-07-25 14:53:04 +03:00
Jyri-Petteri Paloposki
c7d81bb79f
Translated using Weblate (Finnish)
Currently translated at 99.1% (1111 of 1121 strings)

Translation: Tracks/Tracks
Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/fi/
2024-07-25 13:18:31 +02:00
gallegonovato
784f8c3009
Translated using Weblate (Spanish)
Currently translated at 100.0% (1121 of 1121 strings)

Translation: Tracks/Tracks
Translate-URL: https://hosted.weblate.org/projects/tracks/tracks/es/
2024-07-25 13:18:31 +02:00
Jyri-Petteri Paloposki
0fc66953c0
Merge pull request #3046 from TracksApp/dependabot/bundler/mocha-2.4.5
Bump mocha from 2.4.4 to 2.4.5
2024-07-25 14:18:27 +03:00
dependabot[bot]
49fa90c7a6
Bump mocha from 2.4.4 to 2.4.5
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.4 to 2.4.5.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.4...v2.4.5)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-25 00:28:45 +00:00
Jyri-Petteri Paloposki
31f35f50c7
Merge pull request #3045 from TracksApp/dependabot/bundler/mocha-2.4.4
Bump mocha from 2.4.3 to 2.4.4
2024-07-24 12:11:40 +03:00
dependabot[bot]
a984011ddc
Bump mocha from 2.4.3 to 2.4.4
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.3 to 2.4.4.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.3...v2.4.4)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-24 00:32:02 +00:00
Jyri-Petteri Paloposki
22f42211b0
Merge pull request #3042 from TracksApp/dependabot/bundler/stripe-12.3.0
Bump stripe from 5.24.0 to 12.3.0
2024-07-23 13:56:24 +03:00
Jyri-Petteri Paloposki
92348f9bc5
Merge pull request #3043 from TracksApp/dependabot/bundler/mocha-2.4.3
Bump mocha from 2.4.2 to 2.4.3
2024-07-23 13:11:43 +03:00
dependabot[bot]
0d2d89780b
Bump mocha from 2.4.2 to 2.4.3
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.2 to 2.4.3.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.2...v2.4.3)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-23 00:33:56 +00:00
dependabot[bot]
3fcdb41fa9
Bump stripe from 5.24.0 to 12.3.0
Bumps [stripe](https://github.com/stripe/stripe-ruby) from 5.24.0 to 12.3.0.
- [Release notes](https://github.com/stripe/stripe-ruby/releases)
- [Changelog](https://github.com/stripe/stripe-ruby/blob/master/CHANGELOG.md)
- [Commits](https://github.com/stripe/stripe-ruby/compare/v5.24.0...v12.3.0)

---
updated-dependencies:
- dependency-name: stripe
  dependency-type: direct:development
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 00:25:45 +00:00
Jyri-Petteri Paloposki
a9a978c1f8 Fix the installation documentation of postgresql. Fixes #2845. 2024-07-19 14:34:54 +03:00
Jyri-Petteri Paloposki
e1c5fbbbc2
Merge pull request #3039 from Pegasus-RPG/patch-1
Update bundle config command, add instructions for PostgreSQL
2024-07-19 14:05:48 +03:00
Jyri-Petteri Paloposki
36f139d879 Update schema.rb for Postgres support 2024-07-19 14:00:19 +03:00
Jyri-Petteri Paloposki
11a1a6a58e
Merge pull request #3040 from TracksApp/dependabot/bundler/mocha-2.4.2
Bump mocha from 2.4.0 to 2.4.2
2024-07-19 13:45:38 +03:00
Jyri-Petteri Paloposki
62ad2f7f0b
Merge pull request #3041 from TracksApp/dependabot/bundler/acts_as_list-1.2.2
Bump acts_as_list from 1.2.1 to 1.2.2
2024-07-19 13:45:25 +03:00
dependabot[bot]
a0999e3e45
Bump acts_as_list from 1.2.1 to 1.2.2
Bumps [acts_as_list](https://github.com/brendon/acts_as_list) from 1.2.1 to 1.2.2.
- [Changelog](https://github.com/brendon/acts_as_list/blob/master/CHANGELOG.md)
- [Commits](https://github.com/brendon/acts_as_list/compare/v1.2.1...v1.2.2)

---
updated-dependencies:
- dependency-name: acts_as_list
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 00:40:25 +00:00
dependabot[bot]
76d3083e8f
Bump mocha from 2.4.0 to 2.4.2
Bumps [mocha](https://github.com/freerange/mocha) from 2.4.0 to 2.4.2.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.4.0...v2.4.2)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-19 00:40:03 +00:00
Jyri-Petteri Paloposki
50f5a946d4 Don't use old databases in test runs 2024-07-19 00:42:44 +03:00
Jyri-Petteri Paloposki
13d7a711a4 Move jquery back to default group 2024-07-19 00:14:41 +03:00
Jyri-Petteri Paloposki
55050af2cb Test the builded code, not the one mounted. 2024-07-19 00:02:15 +03:00
Jyri-Petteri Paloposki
f5f0193b60 Add asset stuff back to being included by default for non-Docker users; move more asset-related packages to the group 2024-07-19 00:02:07 +03:00
Sean M. Pappalardo
ad87729e31 Update bundle config command, add instructions for PostgreSQL 2024-07-19 00:01:56 +03:00
Jyri-Petteri Paloposki
f097a1f5e9
Merge pull request #3038 from TracksApp/user_errors
Fix a few user creation errors to be prettier
2024-07-18 22:40:01 +03:00
Jyri-Petteri Paloposki
2bf2f9476a Fix a few user creation errors to be prettier 2024-07-18 22:34:04 +03:00
Jyri-Petteri Paloposki
7b9a1e322f
Merge pull request #3037 from TracksApp/dockerfile_git_req
Don't require the .git directory to exist for a successful Docker build.
2024-07-18 22:14:30 +03:00
Jyri-Petteri Paloposki
d2fff6a64c Don't require the .git directory to exist for a successful Docker build. 2024-07-18 22:09:35 +03:00
Jyri-Petteri Paloposki
8f7b1ab7b2
Merge pull request #3036 from TracksApp/rexml
Update rexml
2024-07-18 21:57:48 +03:00
Jyri-Petteri Paloposki
0968152c5a Update rexml 2024-07-18 21:53:03 +03:00
Jyri-Petteri Paloposki
7a64917647
Merge pull request #3035 from TracksApp/db_versions
Fix DB adapters with the same constraints as in the ActiveRecord file…
2024-07-18 21:45:38 +03:00
Jyri-Petteri Paloposki
8464d0c60e Remove the version constraint from Stripe 2024-07-18 21:39:08 +03:00
Jyri-Petteri Paloposki
212b2dc20c Fix DB adapters with the same constraints as in the ActiveRecord files (for example https://github.com/rails/rails/blob/v7.1.3.4/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb ) 2024-07-18 21:36:51 +03:00
Jyri-Petteri Paloposki
75a88f2955
Merge pull request #3033 from TracksApp/stripe
Add Stripe as an optional package and move to a single staged Dockerfile
2024-07-18 21:14:56 +03:00
Jyri-Petteri Paloposki
ff5adc5696 Replace the version-specific Dockerfiles with one staged Dockerfile 2024-07-18 21:09:04 +03:00
Jyri-Petteri Paloposki
5940fe10a6 Add Stripe as an optional package 2024-07-18 16:14:42 +03:00
Jyri-Petteri Paloposki
11ef1b6f6b
Merge pull request #3032 from TracksApp/dependabot/bundler/bullet-7.2.0
Bump bullet from 7.1.6 to 7.2.0
2024-07-18 14:52:35 +03:00
dependabot[bot]
a66dca4a6b
Bump bullet from 7.1.6 to 7.2.0
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.6 to 7.2.0.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.6...7.2.0)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-15 00:39:04 +00:00
Jyri-Petteri Paloposki
2726abb8ea
Merge pull request #3030 from TracksApp/dependabot/bundler/rubocop-1.65.0
Bump rubocop from 1.64.1 to 1.65.0
2024-07-13 12:10:44 +03:00
dependabot[bot]
2108b203a6
Bump rubocop from 1.64.1 to 1.65.0
Bumps [rubocop](https://github.com/rubocop/rubocop) from 1.64.1 to 1.65.0.
- [Release notes](https://github.com/rubocop/rubocop/releases)
- [Changelog](https://github.com/rubocop/rubocop/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop/compare/v1.64.1...v1.65.0)

---
updated-dependencies:
- dependency-name: rubocop
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-11 00:27:42 +00:00
Jyri-Petteri Paloposki
78ab8b0ff2
Merge pull request #3026 from TracksApp/dependabot/bundler/rspec-expectations-3.13.1
Bump rspec-expectations from 3.12.3 to 3.13.1
2024-06-25 15:58:46 +03:00
dependabot[bot]
713c89c6e0
Bump rspec-expectations from 3.12.3 to 3.13.1
Bumps [rspec-expectations](https://github.com/rspec/rspec-expectations) from 3.12.3 to 3.13.1.
- [Release notes](https://github.com/rspec/rspec-expectations/releases)
- [Changelog](https://github.com/rspec/rspec-expectations/blob/main/Changelog.md)
- [Commits](https://github.com/rspec/rspec-expectations/compare/v3.12.3...v3.13.1)

---
updated-dependencies:
- dependency-name: rspec-expectations
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-25 00:01:21 +00:00
Jyri-Petteri Paloposki
38db8f983d
Merge pull request #3025 from TracksApp/dependabot/bundler/mocha-2.4.0
Bump mocha from 2.1.0 to 2.4.0
2024-06-24 14:58:42 +03:00
dependabot[bot]
720cb02697
Bump mocha from 2.1.0 to 2.4.0
Bumps [mocha](https://github.com/freerange/mocha) from 2.1.0 to 2.4.0.
- [Changelog](https://github.com/freerange/mocha/blob/main/RELEASE.md)
- [Commits](https://github.com/freerange/mocha/compare/v2.1.0...v2.4.0)

---
updated-dependencies:
- dependency-name: mocha
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-20 00:12:49 +00:00
Jyri-Petteri Paloposki
867f1bc5d1
Merge pull request #3024 from TracksApp/dependabot/bundler/bullet-7.1.6
Bump bullet from 7.1.4 to 7.1.6
2024-06-19 10:20:24 +03:00
dependabot[bot]
b280485ef2
Bump bullet from 7.1.4 to 7.1.6
Bumps [bullet](https://github.com/flyerhzm/bullet) from 7.1.4 to 7.1.6.
- [Changelog](https://github.com/flyerhzm/bullet/blob/main/CHANGELOG.md)
- [Commits](https://github.com/flyerhzm/bullet/compare/7.1.4...7.1.6)

---
updated-dependencies:
- dependency-name: bullet
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-19 00:20:33 +00:00
Jyri-Petteri Paloposki
54ed7d118b
Merge pull request #3023 from TracksApp/dependabot/bundler/RedCloth-4.3.4
Bump RedCloth from 4.3.3 to 4.3.4
2024-06-18 12:22:01 +03:00
dependabot[bot]
f20aa13b7b
Bump RedCloth from 4.3.3 to 4.3.4
Bumps [RedCloth](https://github.com/jgarber/redcloth) from 4.3.3 to 4.3.4.
- [Changelog](https://github.com/jgarber/redcloth/blob/master/CHANGELOG)
- [Commits](https://github.com/jgarber/redcloth/compare/v4.3.3...v4.3.4)

---
updated-dependencies:
- dependency-name: RedCloth
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 00:55:39 +00:00
70 changed files with 1030 additions and 655 deletions

View file

@ -3,9 +3,7 @@ config/database.yml
config/site.yml
coverage
db/*.sqlite3
doc
features
log
public/assets
test
tmp

View file

@ -9,3 +9,4 @@ updates:
directory: "/"
schedule:
interval: "daily"
open-pull-requests-limit: 10

View file

@ -0,0 +1,55 @@
---
name: 'Build custom release'
on:
workflow_dispatch:
inputs:
tag:
description: 'Tag to release'
required: true
type: string
name:
description: 'Name of the release'
required: true
type: string
jobs:
build-and-publish-release:
name: 'Build custom release'
runs-on: ubuntu-latest
steps:
-
name: Checkout the code
uses: actions/checkout@v2
with:
ref: ${{ inputs.tag }}
-
name: Set up QEMU
uses: docker/setup-qemu-action@v2
-
name: Set up Docker Buildx
uses: docker/setup-buildx-action@v2
-
name: Login to DockerHub
uses: docker/login-action@v2
with:
username: ${{ secrets.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }}
-
name: Login to GitHub Container Registry
uses: docker/login-action@v2
with:
registry: ghcr.io
username: ${{ github.repository_owner }}
password: ${{ secrets.GITHUB_TOKEN }}
-
name: Build and push
uses: docker/build-push-action@v3
with:
context: .
target: production
push: true
tags: |
tracksapp/tracks:${{ inputs.name }}
ghcr.io/tracksapp/tracks:${{ inputs.name }}
# platforms: linux/amd64,linux/arm64

View file

@ -35,6 +35,7 @@ jobs:
uses: docker/build-push-action@v3
with:
context: .
target: production
push: true
tags: |
tracksapp/tracks:latest

View file

@ -35,6 +35,7 @@ jobs:
uses: docker/build-push-action@v3
with:
context: .
target: production
push: true
tags: |
tracksapp/tracks:${{ github.event.release.name }}

View file

@ -6,18 +6,8 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
ruby: ["3.0", "3.1", "3.2", "3.3"]
ruby: ["3.2", "3.3"]
db: [sqlite, mysql, postgres]
exclude:
- ruby: "3.1"
db: sqlite
- ruby: "3.1"
db: postgres
- ruby: "3.2"
db: sqlite
- ruby: "3.2"
db: postgres
steps:
- uses: actions/checkout@v1
- run: bash -x script/cibuild ${{ matrix.ruby }} ${{ matrix.db }}

View file

@ -1 +1 @@
3.0
3.3

View file

@ -1,19 +1,12 @@
FROM ruby:3.3
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
ARG RUBY_VERSION=3.3
FROM ruby:${RUBY_VERSION} AS base
WORKDIR /app
RUN touch /etc/app-env
COPY Gemfile* /app/
RUN apt-get update && apt-get install -y npm netcat-openbsd
RUN npm install -g yarn
RUN gem install bundler
RUN bundle install --jobs 4
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y yarn netcat-openbsd
RUN mkdir /app/log
@ -36,12 +29,38 @@ COPY lib /app/lib/
COPY app /app/app/
COPY db /app/db/
COPY .git /app/.git
# Use glob to omit error if the .git directory doesn't exists (in case the
# code is from a release archive, not a Git clone)
COPY .gi[t] /app/.git
RUN RAILS_ENV=production bundle exec rake assets:precompile
COPY Gemfile* /app/
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["./bin/rails", "server", "-b", "0.0.0.0"]
FROM base AS precompile
RUN bundle config set deployment true
RUN bundle install --jobs 4
RUN RAILS_GROUPS=assets bundle exec rake assets:precompile
# Build the environment-specific stuff
FROM base AS production
RUN bundle config set without assets
RUN bundle config --global frozen 1
RUN bundle install --jobs 4
COPY --from=precompile /app/public/assets /app/public/assets
FROM base AS test
COPY test /app/test/
# For testing the API client
COPY doc /app/doc/
RUN bundle config set without assets
RUN bundle config set with development test
RUN bundle config --global frozen 1
RUN bundle install --jobs 4
COPY --from=precompile /app/public/assets /app/public/assets
FROM base AS development
RUN bundle config set with development test
RUN bundle install --jobs 4

View file

@ -1,30 +0,0 @@
FROM ruby:3.0
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

View file

@ -1,30 +0,0 @@
FROM ruby:3.1
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

View file

@ -1,30 +0,0 @@
FROM ruby:3.2
# throw errors if Gemfile has been modified since Gemfile.lock
RUN bundle config --global frozen 1
WORKDIR /app
RUN touch /etc/app-env
RUN curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | apt-key add -
RUN echo "deb https://dl.yarnpkg.com/debian/ stable main" | tee /etc/apt/sources.list.d/yarn.list
RUN apt-get update && apt-get install -y yarn
COPY Gemfile* /app/
RUN gem install bundler
RUN bundle install --jobs 4
RUN mkdir /app/log
COPY . /app/
COPY config/database.docker.yml /app/config/database.yml
COPY config/site.docker.yml /app/config/site.yml
RUN RAILS_ENV=production bundle exec rake assets:precompile
ENTRYPOINT ["/app/docker-entrypoint.sh"]
EXPOSE 3000
CMD ["rails", "server", "-b", "0.0.0.0"]

66
Gemfile
View file

@ -1,70 +1,72 @@
source 'https://rubygems.org'
gem 'actionpack-xml_parser', '~> 2.0'
gem 'activemodel-serializers-xml', '~> 1.0.1'
gem 'activemodel-serializers-xml', '~> 1.0.3'
gem 'coffee-rails', '~> 5.0.0'
gem 'rails', '~> 7.1'
gem 'font-awesome-sass', '~> 6.7.2'
gem 'jquery-rails', '~> 4.6'
gem 'jquery-ui-rails', '~>7.0.0'
gem 'rails', '~> 6.1'
gem 'sassc-rails', '~> 2.1.2'
gem 'bootstrap-sass', '3.4.1'
gem 'font-awesome-sass', '~> 6.5.2'
gem 'uglifier', '>=1.3.0'
gem 'aasm', '~> 5.5.0'
gem 'jquery-ui-rails', '~>8.0.0'
gem 'aasm', '~> 5.5.1'
gem 'acts_as_list'
gem 'bcrypt', '~> 3.1.20'
gem 'htmlentities'
gem "kt-paperclip", "~> 7.2"
gem 'puma', '~> 6.4'
gem 'puma', '~> 6.6'
gem 'rails_autolink'
gem 'RedCloth'
gem 'sanitize', '~> 6.1'
gem 'sanitize', '~> 7.0'
gem 'tracks-chartjs-ror'
gem 'will_paginate'
gem 'rexml'
# Use --without <group> argument to skip unnecessary drivers
gem 'sqlite3', '~> 2.7', group: :sqlite
gem 'mysql2', '~> 0.5', group: :mysql
gem 'pg', '~> 1.5', group: :postgresql
# See https://github.com/sstephenson/execjs#readme for more supported runtimes
gem 'mini_racer', group: :therubyracer
# Use --without <group> argument to skip unnecessary drivers
gem 'sqlite3', group: :sqlite
gem 'mysql2', '~> 0.5.6', group: :mysql
gem 'pg', '~> 1.5.6', group: :postgresql
gem 'sprockets-rails'
gem 'coffee-rails', '~> 5.0.0'
gem 'dartsass-sprockets'
gem 'bootstrap-sass', '3.4.1'
gem 'terser'
gem 'listen'
gem 'tolk', '~> 6.0.0'
group :development do
group :development, :optional => true do
gem 'spring', '~> 4'
gem 'yard'
gem 'tolk', '~> 5.0.1'
gem 'bullet'
gem 'rack-mini-profiler'
gem 'solargraph'
gem 'i18n-tasks', '~> 1.0.14'
gem 'i18n-tasks', '~> 1.0.15'
end
group :development, :test do
group :development, :test, :optional => true do
gem 'byebug'
gem 'listen'
gem 'rubocop', '~> 1.64', require: false
gem 'rubocop', '~> 1.78'
end
group :test do
group :test, :optional => true do
# get test coverage info on codeclimate
gem 'codeclimate-test-reporter', '1.0.9', group: :test, require: nil
gem 'database_cleaner', '~> 1'
gem 'codeclimate-test-reporter', '1.0.9'
gem 'database_cleaner', '~> 2'
gem 'factory_bot_rails'
gem 'minitest-stub-const'
gem 'mocha', :require => false
gem 'mocha'
gem 'rails-controller-testing'
gem 'rails-dom-testing', '~> 2.2.0'
gem 'rails-dom-testing', '~> 2.3.0'
gem 'rspec-expectations'
gem 'simplecov'
end
group :stripe, :optional => true do
gem 'stripe'
end

View file

@ -1,92 +1,112 @@
GEM
remote: https://rubygems.org/
specs:
RedCloth (4.3.3)
aasm (5.5.0)
RedCloth (4.3.4)
aasm (5.5.1)
concurrent-ruby (~> 1.0)
actioncable (6.1.7.8)
actionpack (= 6.1.7.8)
activesupport (= 6.1.7.8)
actioncable (7.1.5.1)
actionpack (= 7.1.5.1)
activesupport (= 7.1.5.1)
nio4r (~> 2.0)
websocket-driver (>= 0.6.1)
actionmailbox (6.1.7.8)
actionpack (= 6.1.7.8)
activejob (= 6.1.7.8)
activerecord (= 6.1.7.8)
activestorage (= 6.1.7.8)
activesupport (= 6.1.7.8)
zeitwerk (~> 2.6)
actionmailbox (7.1.5.1)
actionpack (= 7.1.5.1)
activejob (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (>= 2.7.1)
actionmailer (6.1.7.8)
actionpack (= 6.1.7.8)
actionview (= 6.1.7.8)
activejob (= 6.1.7.8)
activesupport (= 6.1.7.8)
net-imap
net-pop
net-smtp
actionmailer (7.1.5.1)
actionpack (= 7.1.5.1)
actionview (= 7.1.5.1)
activejob (= 7.1.5.1)
activesupport (= 7.1.5.1)
mail (~> 2.5, >= 2.5.4)
rails-dom-testing (~> 2.0)
actionpack (6.1.7.8)
actionview (= 6.1.7.8)
activesupport (= 6.1.7.8)
rack (~> 2.0, >= 2.0.9)
net-imap
net-pop
net-smtp
rails-dom-testing (~> 2.2)
actionpack (7.1.5.1)
actionview (= 7.1.5.1)
activesupport (= 7.1.5.1)
nokogiri (>= 1.8.5)
racc
rack (>= 2.2.4)
rack-session (>= 1.0.1)
rack-test (>= 0.6.3)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.0, >= 1.2.0)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
actionpack-xml_parser (2.0.1)
actionpack (>= 5.0)
railties (>= 5.0)
actiontext (6.1.7.8)
actionpack (= 6.1.7.8)
activerecord (= 6.1.7.8)
activestorage (= 6.1.7.8)
activesupport (= 6.1.7.8)
actiontext (7.1.5.1)
actionpack (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
globalid (>= 0.6.0)
nokogiri (>= 1.8.5)
actionview (6.1.7.8)
activesupport (= 6.1.7.8)
actionview (7.1.5.1)
activesupport (= 7.1.5.1)
builder (~> 3.1)
erubi (~> 1.4)
rails-dom-testing (~> 2.0)
rails-html-sanitizer (~> 1.1, >= 1.2.0)
activejob (6.1.7.8)
activesupport (= 6.1.7.8)
erubi (~> 1.11)
rails-dom-testing (~> 2.2)
rails-html-sanitizer (~> 1.6)
activejob (7.1.5.1)
activesupport (= 7.1.5.1)
globalid (>= 0.3.6)
activemodel (6.1.7.8)
activesupport (= 6.1.7.8)
activemodel-serializers-xml (1.0.2)
activemodel (> 5.x)
activesupport (> 5.x)
activemodel (7.1.5.1)
activesupport (= 7.1.5.1)
activemodel-serializers-xml (1.0.3)
activemodel (>= 5.0.0.a)
activesupport (>= 5.0.0.a)
builder (~> 3.1)
activerecord (6.1.7.8)
activemodel (= 6.1.7.8)
activesupport (= 6.1.7.8)
activestorage (6.1.7.8)
actionpack (= 6.1.7.8)
activejob (= 6.1.7.8)
activerecord (= 6.1.7.8)
activesupport (= 6.1.7.8)
activerecord (7.1.5.1)
activemodel (= 7.1.5.1)
activesupport (= 7.1.5.1)
timeout (>= 0.4.0)
activestorage (7.1.5.1)
actionpack (= 7.1.5.1)
activejob (= 7.1.5.1)
activerecord (= 7.1.5.1)
activesupport (= 7.1.5.1)
marcel (~> 1.0)
mini_mime (>= 1.1.0)
activesupport (6.1.7.8)
activesupport (7.1.5.1)
base64
benchmark (>= 0.3)
bigdecimal
concurrent-ruby (~> 1.0, >= 1.0.2)
connection_pool (>= 2.2.5)
drb
i18n (>= 1.6, < 2)
logger (>= 1.4.2)
minitest (>= 5.1)
mutex_m
securerandom (>= 0.3)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
acts_as_list (1.2.1)
acts_as_list (1.2.4)
activerecord (>= 6.1)
activesupport (>= 6.1)
ast (2.4.2)
autoprefixer-rails (10.4.7.0)
ast (2.4.3)
autoprefixer-rails (10.4.21.0)
execjs (~> 2)
backport (1.2.0)
base64 (0.3.0)
bcrypt (3.1.20)
benchmark (0.3.0)
benchmark (0.4.1)
bigdecimal (3.2.2)
bootstrap-sass (3.4.1)
autoprefixer-rails (>= 5.2.1)
sassc (>= 2.0.0)
builder (3.3.0)
bullet (7.1.4)
bullet (8.0.8)
activesupport (>= 3.0.0)
uniform_notifier (~> 1.11)
byebug (11.1.3)
byebug (12.0.0)
climate_control (0.2.0)
codeclimate-test-reporter (1.0.9)
simplecov (<= 0.13)
@ -97,30 +117,47 @@ GEM
coffee-script-source
execjs
coffee-script-source (1.12.2)
concurrent-ruby (1.3.3)
concurrent-ruby (1.3.5)
connection_pool (2.5.3)
crass (1.0.6)
database_cleaner (1.99.0)
date (3.3.4)
diff-lcs (1.5.0)
dartsass-sprockets (3.2.1)
railties (>= 4.0.0)
sassc-embedded (~> 1.80.1)
sprockets (> 3.0)
sprockets-rails
tilt
database_cleaner (2.1.0)
database_cleaner-active_record (>= 2, < 3)
database_cleaner-active_record (2.2.0)
activerecord (>= 5.a)
database_cleaner-core (~> 2.0.0)
database_cleaner-core (2.0.1)
date (3.4.1)
diff-lcs (1.6.2)
docile (1.1.5)
e2mmap (0.1.0)
erubi (1.13.0)
execjs (2.8.1)
factory_bot (6.4.6)
activesupport (>= 5.0.0)
factory_bot_rails (6.4.3)
factory_bot (~> 6.4)
railties (>= 5.0.0)
drb (2.2.3)
erb (5.0.1)
erubi (1.13.1)
execjs (2.10.0)
factory_bot (6.5.4)
activesupport (>= 6.1.0)
factory_bot_rails (6.5.0)
factory_bot (~> 6.5)
railties (>= 6.1.0)
ffi (1.17.0)
font-awesome-sass (6.5.2)
font-awesome-sass (6.7.2)
sassc (~> 2.0)
globalid (1.2.1)
activesupport (>= 6.1)
highline (3.0.1)
google-protobuf (4.31.1)
bigdecimal
rake (>= 13)
highline (3.1.2)
reline
htmlentities (4.3.4)
i18n (1.14.5)
i18n (1.14.7)
concurrent-ruby (~> 1.0)
i18n-tasks (1.0.14)
i18n-tasks (1.0.15)
activesupport (>= 4.0.2)
ast (>= 2.1.0)
erubi
@ -129,17 +166,23 @@ GEM
parser (>= 3.2.2.1)
rails-i18n
rainbow (>= 2.2.2, < 4.0)
ruby-progressbar (~> 1.8, >= 1.8.1)
terminal-table (>= 1.5.1)
jaro_winkler (1.5.6)
io-console (0.8.0)
irb (1.15.2)
pp (>= 0.6.0)
rdoc (>= 4.0.0)
reline (>= 0.4.2)
jaro_winkler (1.6.1)
jquery-rails (4.6.0)
rails-dom-testing (>= 1, < 3)
railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
jquery-ui-rails (7.0.0)
jquery-ui-rails (8.0.0)
railties (>= 3.2.16)
json (2.7.2)
kramdown (2.4.0)
rexml
json (2.12.2)
kramdown (2.5.1)
rexml (>= 3.3.9)
kramdown-parser-gfm (1.1.0)
kramdown (~> 2.0)
kt-paperclip (7.2.0)
@ -148,12 +191,14 @@ GEM
marcel (~> 1.0.1)
mime-types
terrapin (~> 0.6.0)
language_server-protocol (3.17.0.3)
libv8-node (21.7.2.0)
language_server-protocol (3.17.0.5)
libv8-node (24.1.0.0)
lint_roller (1.1.0)
listen (3.9.0)
rb-fsevent (~> 0.10, >= 0.10.3)
rb-inotify (~> 0.9, >= 0.9.10)
loofah (2.22.0)
logger (1.7.0)
loofah (2.24.1)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
mail (2.8.1)
@ -161,193 +206,223 @@ GEM
net-imap
net-pop
net-smtp
marcel (1.0.2)
method_source (1.1.0)
marcel (1.0.4)
mime-types (3.4.1)
mime-types-data (~> 3.2015)
mime-types-data (3.2023.0218.1)
mini_mime (1.1.5)
mini_portile2 (2.8.7)
mini_racer (0.12.0)
libv8-node (~> 21.7.2.0)
minitest (5.23.1)
mini_portile2 (2.8.9)
mini_racer (0.19.0)
libv8-node (~> 24.1.0.0)
minitest (5.25.5)
minitest-stub-const (0.6)
mocha (2.1.0)
mocha (2.7.1)
ruby2_keywords (>= 0.0.5)
mutex_m (0.3.0)
mysql2 (0.5.6)
net-imap (0.4.12)
net-imap (0.5.9)
date
net-protocol
net-pop (0.1.2)
net-protocol
net-protocol (0.2.2)
timeout
net-smtp (0.5.0)
net-smtp (0.5.1)
net-protocol
nio4r (2.7.3)
nokogiri (1.16.6)
nio4r (2.7.4)
nokogiri (1.18.9)
mini_portile2 (~> 2.8.2)
racc (~> 1.4)
parallel (1.25.1)
parser (3.3.3.0)
observer (0.1.2)
ostruct (0.6.2)
parallel (1.27.0)
parser (3.3.8.0)
ast (~> 2.4.1)
racc
pg (1.5.6)
puma (6.4.2)
pg (1.5.9)
pp (0.6.2)
prettyprint
prettyprint (0.2.0)
prism (1.4.0)
psych (5.2.6)
date
stringio
puma (6.6.0)
nio4r (~> 2.0)
racc (1.8.0)
rack (2.2.9)
rack-mini-profiler (3.3.1)
racc (1.8.1)
rack (3.2.0)
rack-mini-profiler (4.0.1)
rack (>= 1.2.0)
rack-test (2.1.0)
rack-session (2.1.1)
base64 (>= 0.1.0)
rack (>= 3.0.0)
rack-test (2.2.0)
rack (>= 1.3)
rails (6.1.7.8)
actioncable (= 6.1.7.8)
actionmailbox (= 6.1.7.8)
actionmailer (= 6.1.7.8)
actionpack (= 6.1.7.8)
actiontext (= 6.1.7.8)
actionview (= 6.1.7.8)
activejob (= 6.1.7.8)
activemodel (= 6.1.7.8)
activerecord (= 6.1.7.8)
activestorage (= 6.1.7.8)
activesupport (= 6.1.7.8)
rackup (2.2.1)
rack (>= 3)
rails (7.1.5.1)
actioncable (= 7.1.5.1)
actionmailbox (= 7.1.5.1)
actionmailer (= 7.1.5.1)
actionpack (= 7.1.5.1)
actiontext (= 7.1.5.1)
actionview (= 7.1.5.1)
activejob (= 7.1.5.1)
activemodel (= 7.1.5.1)
activerecord (= 7.1.5.1)
activestorage (= 7.1.5.1)
activesupport (= 7.1.5.1)
bundler (>= 1.15.0)
railties (= 6.1.7.8)
sprockets-rails (>= 2.0.0)
railties (= 7.1.5.1)
rails-controller-testing (1.0.5)
actionpack (>= 5.0.1.rc1)
actionview (>= 5.0.1.rc1)
activesupport (>= 5.0.1.rc1)
rails-dom-testing (2.2.0)
rails-dom-testing (2.3.0)
activesupport (>= 5.0.0)
minitest
nokogiri (>= 1.6)
rails-html-sanitizer (1.6.0)
rails-html-sanitizer (1.6.2)
loofah (~> 2.21)
nokogiri (~> 1.14)
rails-i18n (7.0.9)
nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
rails-i18n (7.0.10)
i18n (>= 0.7, < 2)
railties (>= 6.0.0, < 8)
rails_autolink (1.1.8)
actionview (> 3.1)
activesupport (> 3.1)
railties (> 3.1)
railties (6.1.7.8)
actionpack (= 6.1.7.8)
activesupport (= 6.1.7.8)
method_source
railties (7.1.5.1)
actionpack (= 7.1.5.1)
activesupport (= 7.1.5.1)
irb
rackup (>= 1.0.0)
rake (>= 12.2)
thor (~> 1.0)
thor (~> 1.0, >= 1.2.2)
zeitwerk (~> 2.6)
rainbow (3.1.1)
rake (13.2.1)
rake (13.3.0)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
rbs (2.8.4)
regexp_parser (2.9.2)
reverse_markdown (2.1.1)
rbs (3.9.4)
logger
rdoc (6.14.1)
erb
psych (>= 4.0.0)
regexp_parser (2.10.0)
reline (0.6.1)
io-console (~> 0.5)
reverse_markdown (3.0.0)
nokogiri
rexml (3.3.0)
strscan
rspec-expectations (3.12.3)
rexml (3.4.1)
rspec-expectations (3.13.5)
diff-lcs (>= 1.2.0, < 2.0)
rspec-support (~> 3.12.0)
rspec-support (3.12.0)
rubocop (1.64.1)
rspec-support (~> 3.13.0)
rspec-support (3.13.4)
rubocop (1.78.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
language_server-protocol (~> 3.17.0.2)
lint_roller (~> 1.1.0)
parallel (~> 1.10)
parser (>= 3.3.0.2)
rainbow (>= 2.2.2, < 4.0)
regexp_parser (>= 1.8, < 3.0)
rexml (>= 3.2.5, < 4.0)
rubocop-ast (>= 1.31.1, < 2.0)
regexp_parser (>= 2.9.3, < 3.0)
rubocop-ast (>= 1.45.1, < 2.0)
ruby-progressbar (~> 1.7)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.31.3)
parser (>= 3.3.1.0)
unicode-display_width (>= 2.4.0, < 4.0)
rubocop-ast (1.45.1)
parser (>= 3.3.7.2)
prism (~> 1.4)
ruby-progressbar (1.13.0)
ruby2_keywords (0.0.5)
safe_yaml (1.0.5)
sanitize (6.1.1)
sanitize (7.0.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
nokogiri (>= 1.16.8)
sass-embedded (1.89.2)
google-protobuf (~> 4.31)
rake (>= 13)
sassc (2.4.0)
ffi (~> 1.9)
sassc-rails (2.1.2)
railties (>= 4.0.0)
sassc (>= 2.0)
sprockets (> 3.0)
sprockets-rails
tilt
sassc-embedded (1.80.4)
sass-embedded (~> 1.80)
securerandom (0.4.1)
simplecov (0.13.0)
docile (~> 1.1.0)
json (>= 1.8, < 3)
simplecov-html (~> 0.10.0)
simplecov-html (0.10.2)
solargraph (0.50.0)
solargraph (0.56.0)
backport (~> 1.2)
benchmark
benchmark (~> 0.4)
bundler (~> 2.0)
diff-lcs (~> 1.4)
e2mmap
jaro_winkler (~> 1.5)
jaro_winkler (~> 1.6, >= 1.6.1)
kramdown (~> 2.3)
kramdown-parser-gfm (~> 1.1)
logger (~> 1.6)
observer (~> 0.1)
ostruct (~> 0.6)
parser (~> 3.0)
rbs (~> 2.0)
reverse_markdown (~> 2.0)
prism (~> 1.4)
rbs (~> 3.3)
reverse_markdown (~> 3.0)
rubocop (~> 1.38)
thor (~> 1.0)
tilt (~> 2.0)
yard (~> 0.9, >= 0.9.24)
spring (4.2.1)
sprockets (4.2.0)
yard-solargraph (~> 0.1)
spring (4.3.0)
sprockets (4.2.2)
concurrent-ruby (~> 1.0)
logger
rack (>= 2.2.4, < 4)
sprockets-rails (3.4.2)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets-rails (3.5.2)
actionpack (>= 6.1)
activesupport (>= 6.1)
sprockets (>= 3.0.0)
sqlite3 (1.6.9)
sqlite3 (2.7.3)
mini_portile2 (~> 2.8.0)
strscan (3.1.0)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
stringio (3.1.7)
stripe (15.5.0)
terminal-table (4.0.0)
unicode-display_width (>= 1.1.1, < 4)
terrapin (0.6.0)
climate_control (>= 0.0.3, < 1.0)
thor (1.3.1)
tilt (2.3.0)
timeout (0.4.1)
tolk (5.0.1)
rails (>= 6.0)
safe_yaml (>= 0.8.6)
terser (1.2.6)
execjs (>= 0.3.0, < 3)
thor (1.4.0)
tilt (2.6.0)
timeout (0.4.3)
tolk (6.0.0)
rails (>= 7.0, < 7.3)
sprockets-rails (~> 3.4)
tracks-chartjs-ror (3.6.4)
rails (>= 3.1)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
uglifier (4.2.0)
execjs (>= 0.3.0, < 3)
unicode-display_width (2.5.0)
uniform_notifier (1.16.0)
websocket-driver (0.7.6)
unicode-display_width (3.1.4)
unicode-emoji (~> 4.0, >= 4.0.4)
unicode-emoji (4.0.4)
uniform_notifier (1.17.0)
websocket-driver (0.8.0)
base64
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
will_paginate (4.0.1)
yard (0.9.36)
zeitwerk (2.6.15)
yard (0.9.37)
yard-solargraph (0.1.0)
yard (~> 0.9)
zeitwerk (2.7.3)
PLATFORMS
ruby
DEPENDENCIES
RedCloth
aasm (~> 5.5.0)
aasm (~> 5.5.1)
actionpack-xml_parser (~> 2.0)
activemodel-serializers-xml (~> 1.0.1)
activemodel-serializers-xml (~> 1.0.3)
acts_as_list
bcrypt (~> 3.1.20)
bootstrap-sass (= 3.4.1)
@ -355,37 +430,40 @@ DEPENDENCIES
byebug
codeclimate-test-reporter (= 1.0.9)
coffee-rails (~> 5.0.0)
database_cleaner (~> 1)
dartsass-sprockets
database_cleaner (~> 2)
factory_bot_rails
font-awesome-sass (~> 6.5.2)
font-awesome-sass (~> 6.7.2)
htmlentities
i18n-tasks (~> 1.0.14)
i18n-tasks (~> 1.0.15)
jquery-rails (~> 4.6)
jquery-ui-rails (~> 7.0.0)
jquery-ui-rails (~> 8.0.0)
kt-paperclip (~> 7.2)
listen
mini_racer
minitest-stub-const
mocha
mysql2 (~> 0.5.6)
pg (~> 1.5.6)
puma (~> 6.4)
mysql2 (~> 0.5)
pg (~> 1.5)
puma (~> 6.6)
rack-mini-profiler
rails (~> 6.1)
rails (~> 7.1)
rails-controller-testing
rails-dom-testing (~> 2.2.0)
rails-dom-testing (~> 2.3.0)
rails_autolink
rexml
rspec-expectations
rubocop (~> 1.64)
sanitize (~> 6.1)
sassc-rails (~> 2.1.2)
rubocop (~> 1.78)
sanitize (~> 7.0)
simplecov
solargraph
spring (~> 4)
sqlite3
tolk (~> 5.0.1)
sprockets-rails
sqlite3 (~> 2.7)
stripe
terser
tolk (~> 6.0.0)
tracks-chartjs-ror
uglifier (>= 1.3.0)
will_paginate
yard

View file

@ -13,7 +13,6 @@
* Hosted services: https://github.com/TracksApp/tracks/wiki/Hosted-Tracks
* Bug reports and feature requests: https://github.com/TracksApp/tracks/issues
* Mailing list: http://groups.google.com/group/TracksApp
* IRC channel: #tracks on Libera, available also on [Matrix](https://matrix.to/#/#tracks:matrix.org)
* License: See COPYING
Full instructions for both new installations and upgrades from older installations

View file

@ -0,0 +1,40 @@
/* Traditional Chinese (Taiwan) initialisation for the jQuery UI date picker plugin. */
/* Written by Claude Code for Tracks application. */
( function( factory ) {
"use strict";
if ( typeof define === "function" && define.amd ) {
// AMD. Register as an anonymous module.
define( [ "../widgets/datepicker" ], factory );
} else {
// Browser globals
factory( jQuery.datepicker );
}
} )( function( datepicker ) {
"use strict";
datepicker.regional["zh-TW"] = {
closeText: "關閉",
prevText: "上一月",
nextText: "下一月",
currentText: "今天",
monthNames: [ "一月", "二月", "三月", "四月", "五月", "六月",
"七月", "八月", "九月", "十月", "十一月", "十二月" ],
monthNamesShort: [ "1月", "2月", "3月", "4月", "5月", "6月",
"7月", "8月", "9月", "10月", "11月", "12月" ],
dayNames: [ "星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ],
dayNamesShort: [ "日", "一", "二", "三", "四", "五", "六" ],
dayNamesMin: [ "日", "一", "二", "三", "四", "五", "六" ],
weekHeader: "週",
dateFormat: "yy/mm/dd",
firstDay: 0,
isRTL: false,
showMonthAfterYear: true,
yearSuffix: "年" };
datepicker.setDefaults( datepicker.regional["zh-TW"] );
return datepicker.regional["zh-TW"];
} );

View file

@ -10,9 +10,9 @@
// Read Sprockets README (https://github.com/sstephenson/sprockets#sprockets-directives) for details
// about supported directives.
//
//= require jquery
//= require jquery_ujs
//= require bootstrap-sprockets
//= require jquery3
//= require bootstrap
//= require jquery-ui/widgets/autocomplete
//= require jquery-ui/widgets/datepicker

View file

@ -21,7 +21,6 @@
}
.bootstrap {
@import "bootstrap-sprockets";
@import "bootstrap";
@import "tracks-logo";
@import "login";

View file

@ -1,5 +1,5 @@
require_dependency "login_system"
require_dependency "tracks/source_view"
require_dependency "tracks/source_view_switching"
class ApplicationController < ActionController::Base
# Prevent CSRF attacks by raising an exception.

View file

@ -36,7 +36,7 @@ class FeedlistController < ApplicationController
def get_feeds_for(object)
respond_to do |format|
format.html { render :file => "feedlist/get_feeds_for_#{object.class.name.downcase}" }
format.html { render :template => "feedlist/get_feeds_for_#{object.class.name.downcase}" }
format.js
end
end

View file

@ -863,8 +863,10 @@ class TodosController < ApplicationController
end
@single_tag = @tag_expr.size == 1 && @tag_expr[0].size == 1
@tag_name = @tag_expr[0][0]
@tag_title = @single_tag ? @tag_name : tag_title(@tag_expr)
# These are used in the templates, sanitise to prevent XSS.
@tag_name = sanitize(@tag_expr[0][0])
@tag_title = sanitize(@single_tag ? @tag_name : tag_title(@tag_expr))
end
def filter_format_for_tag_view

View file

@ -81,13 +81,15 @@ class UsersController < ApplicationController
end
unless params['approve_tos'] == 'on' || SITE_CONFIG['tos_link'].blank?
render_failure "You have to accept the terms of service to sign up!"
notify :error, t('users.tos_error')
redirect_to signup_path
return
end
user = User.new(user_params)
unless user.valid?
notify :error, t('users.create_error')
redirect_to signup_path
return
end

View file

@ -11,7 +11,7 @@ xml.rss :version => "2.0" do
xml.item do
xml.title h(context.title)
xml.description context_summary(context, count_undone_todos_phrase(context))
xml.pubDate context.created_at.to_s(:rfc822)
xml.pubDate context.created_at.to_formatted_s(:rfc822)
xml.link context_url(context)
xml.guid context_url(context)
end

View file

@ -7,14 +7,14 @@
<%= javascript_include_tag "application" %>
<%= csrf_meta_tags %>
<script type="text/javascript">
var SOURCE_VIEW = '<%=@source_view%>';
var AUTH_TOKEN = '<%= raw(protect_against_forgery? ? form_authenticity_token.inspect : "") %>'
var TAG_NAME = '<%= @tag_name ? @tag_name : "" %>'
var GROUP_VIEW_BY = '<%= @group_view_by ? @group_view_by : "" %>'
var SOURCE_VIEW = '<%=j @source_view %>';
var AUTH_TOKEN = '<%=j raw(protect_against_forgery? ? form_authenticity_token.inspect : "") %>'
var TAG_NAME = '<%=j @tag_name ? @tag_name : "" %>'
var GROUP_VIEW_BY = '<%=j @group_view_by ? @group_view_by : "" %>'
var defaultContexts = <%= default_contexts_for_autocomplete.html_safe rescue '{}' %>;
var defaultTags = <%= default_tags_for_autocomplete.html_safe rescue '{}' %>;
var dateFormat = '<%= date_format_for_date_picker %>';
var weekStart = '<%= current_user.prefs.week_starts %>';
var dateFormat = '<%=j date_format_for_date_picker %>';
var weekStart = '<%=j current_user.prefs.week_starts %>';
function relative_to_root(path) { return '<%= root_url %>'+path; };
<% if current_user.prefs.refresh != 0 -%>
setup_auto_refresh(<%= current_user.prefs["refresh"].to_i*60000 %>);

View file

@ -86,7 +86,7 @@ var <%=object_name%> = {
return "<%= source_view_is_one_of(:project_list, :review) ? js_render('project_listing', {:suppress_drag_handle => source_view_is(:review)}, @project) : "" %>";
},
html_for_sidebar: function() {
return "<%= source_view_is(:project) ? escape_javascript(render(:file => 'sidebar/sidebar')) : "" %>";
return "<%= source_view_is(:project) ? escape_javascript(render(:template => 'sidebar/sidebar.html.erb')) : "" %>";
},
html_for_project_settings: function() {
return "<%= source_view_is(:project) ? js_render('project_settings', {}, @project) : "" %>";

View file

@ -4,8 +4,8 @@
unless @further
-%>
<%= raw t('stats.click_to_show_actions_from_week',
:link => link_to("here", show_actions_from_chart_path(:id=>"#{params[:id]}_end", :index => params[:index])),
:week => params[:index])
:link => link_to("here", show_actions_from_chart_path(:id=>"#{params[:id].to_i}_end", :index => params[:index].to_i)),
:week => params[:index].to_i)
-%>
<%
end

View file

@ -11,7 +11,7 @@ xml.rss :version => "2.0" do
xml.item do
xml.title h(todo.description)
xml.description feed_content_for_todo(todo)
xml.pubDate todo.created_at.to_s(:rfc822)
xml.pubDate todo.created_at.to_formatted_s(:rfc822)
xml.link (todo.project && !todo.project.is_a?(NullProject)) ? project_url(todo.project) : context_url(todo.context)
xml.guid todo_url(todo)
end

View file

@ -9,5 +9,5 @@ if [ -e $SCRIPTPATH/../.use-docker -a ! -e /etc/app-env ];
then
$SCRIPTPATH/../script/docker-environment $0 "$@"
else
$SCRIPTPATH/run-rake "$@"
bundle exec rake "$@"
fi

View file

@ -12,7 +12,7 @@ SITE_CONFIG = YAML.load_file(File.join(File.dirname(__FILE__), 'site.yml'))
module Tracksapp
class Application < Rails::Application
# Initialize configuration defaults for originally generated Rails version.
config.load_defaults 5.1
config.load_defaults 7.0
# Settings in config/environments/* take precedence over those specified here.
# Application configuration can go into files in config/initializers
@ -21,8 +21,7 @@ module Tracksapp
# Custom directories with classes and modules you want to be autoloadable.
# config.autoload_paths += %W(#{config.root}/extras)
config.autoload_paths += %W(#{config.root}/lib)
config.eager_load_paths += %W(#{config.root}/lib)
config.autoload_lib(ignore: %w(assets tasks))
# Set Time.zone default to the specified zone and make Active Record auto-convert to this zone.
# Run "rake -D time" for a list of tasks for finding time zone names. Default is UTC.

View file

@ -1,26 +1,26 @@
test:
adapter: <%= ENV.fetch('DATABASE_TYPE') %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %>
database: <%= ENV.fetch('DATABASE_NAME') %>
host: <%= ENV.fetch('DATABASE_HOST') %>
port: <%= ENV.fetch('DATABASE_PORT') %>
username: <%= ENV.fetch('DATABASE_USERNAME') %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %>
adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
development:
adapter: <%= ENV.fetch('DATABASE_TYPE') %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %>
database: <%= ENV.fetch('DATABASE_NAME') %>
host: <%= ENV.fetch('DATABASE_HOST') %>
port: <%= ENV.fetch('DATABASE_PORT') %>
username: <%= ENV.fetch('DATABASE_USERNAME') %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %>
adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>
production:
adapter: <%= ENV.fetch('DATABASE_TYPE') %>
encoding: <%= ENV.fetch('DATABASE_ENCODING') %>
database: <%= ENV.fetch('DATABASE_NAME') %>
host: <%= ENV.fetch('DATABASE_HOST') %>
port: <%= ENV.fetch('DATABASE_PORT') %>
username: <%= ENV.fetch('DATABASE_USERNAME') %>
password: <%= ENV.fetch('DATABASE_PASSWORD') %>
adapter: <%= ENV['DATABASE_TYPE'] %>
encoding: <%= ENV['DATABASE_ENCODING'] %>
database: <%= ENV['DATABASE_NAME'] %>
host: <%= ENV['DATABASE_HOST'] %>
port: <%= ENV['DATABASE_PORT'] %>
username: <%= ENV['DATABASE_USERNAME'] %>
password: <%= ENV['DATABASE_PASSWORD'] %>

View file

@ -23,7 +23,7 @@ Rails.application.configure do
config.public_file_server.enabled = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
config.assets.js_compressor = Terser.new
# config.assets.css_compressor = :sass
# Do not fallback to assets pipeline if a precompiled asset is missed.

View file

@ -23,7 +23,7 @@ Rails.application.configure do
config.action_controller.perform_caching = false
# Raise exceptions instead of rendering exception templates.
config.action_dispatch.show_exceptions = false
config.action_dispatch.show_exceptions = :none
# Disable request forgery protection in test environment.
config.action_controller.allow_forgery_protection = false

View file

@ -7,3 +7,11 @@ Rails.application.config.assets.version = '1.0'
# Rails.application.config.assets.paths << Emoji.images_path
# Add Yarn node_modules folder to the asset load path.
Rails.application.config.assets.paths << Rails.root.join('node_modules')
# 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 )
# Precompile jQuery UI datepicker locale files
Rails.application.config.assets.precompile += Dir[Rails.root.join('app/assets/javascripts-jquery-ui/datepicker-*.js')].map { |f| File.basename(f) }

View file

@ -1,3 +1,3 @@
TRACKS_VERSION='2.7'
TRACKS_VERSION='2.7.1'
TRACKS_REVISION_WITH_DATE=`git log --date=format:'%Y-%m-%d' --pretty=format:"%h @ %ad" -1`
TRACKS_REVISION=`git log --pretty=format:"%h" -1`

View file

@ -472,7 +472,7 @@ de:
)'"
'3': 'Go to %{preferences_link} and enter your incoming Mailgun email address
(e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
'4': 'Select a default context for emails to be put in with "%{sms_context_name"'
'4': 'Select a default context for emails to be put in with "%{sms_context_name}"'
'5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
'6': "Update the mailmap in 'site.yml' to define which senders can send emails\
\ to which incoming addresses. For example, to send emails from your work\

View file

@ -1281,6 +1281,7 @@ en:
change_password_title: TRACKS::Change password
choose_password: Choose password
confirm_password: Confirm password
create_error: User creation failed, maybe you already have an account here?
desired_login: Desired login
destroy_confirmation: 'Warning: this will delete user ''%{login}'', all their
actions, contexts, project and notes. Are you sure that you want to continue?'
@ -1315,6 +1316,7 @@ en:
signup_successful: Signup successful for user %{username}.
successfully_deleted_user: Successfully deleted user %{username}
tos_link: read the Terms of Service
tos_error: You have to accept the terms of service to sign up!
total_actions: Total actions
total_contexts: Total contexts
total_notes: Total notes

View file

@ -133,7 +133,7 @@ es:
not_available_abbr: n/d
note:
one: 1 nota
other: "%{count} notas"
other: '%{count} notas'
zero: 0 notas
notes: Notas
numbered_step: Paso %{number}
@ -1347,6 +1347,8 @@ es:
user_created: User created.
you_have_to_reset_your_password: Usted tiene que restablecer su contraseña
manage_users_title: TRACKS::Gestión de usuarios
create_error: La creación de usuario falló, ¿quizás ya tienes una cuenta aquí?
tos_error: ¡Tienes que aceptar los términos del servicio para registrarte!
will_paginate:
next_label: Siguiente »
page_entries_info:

View file

@ -132,7 +132,7 @@ fi:
not_available_abbr: ei
note:
one: 1 muistiinpano
other: "%{count} muistiinpanoa"
other: '%{count} muistiinpanoa'
zero: ei muistiinpanoja
notes: Muistiinpanot
numbered_step: Askel %{number}
@ -1268,7 +1268,7 @@ fi:
tickler_items_due:
one: Yksi muistilistan merkintä on nyt ajankohtainen päivitä sivu nähdäksesi
sen.
other: '{%count} muistilistan merkintää on nyt ajankohtaisia päivitä sivu
other: '%{count} muistilistan merkintää on nyt ajankohtaisia päivitä sivu
nähdäksesi ne.'
to_tickler: muistilistaan
unable_to_add_dependency: Riippuvuuden lisääminen epäonnistui
@ -1331,6 +1331,9 @@ fi:
total_users_count: Sinulla on yhteensä %{count} käyttäjää
user_created: Käyttäjä luotu.
you_have_to_reset_your_password: Palauta salasanasi
create_error: Tunnuksen luominen epäonnistui, ehkä sinulla on jo käyttäjätunnus
täällä?
tos_error: Sinun täytyy hyväksyä käyttöehdot rekisteröityäksesi!
will_paginate:
next_label: Seuraava &#8594;
page_entries_info:

View file

@ -424,7 +424,7 @@ nl:
)'"
'3': 'Go to %{preferences_link} and enter your incoming Mailgun email address
(e.g. tracks@user.mailgun.com) in the "%{sms_email_name}" box.'
'4': 'Select a default context for emails to be put in with "%{sms_context_name"'
'4': 'Select a default context for emails to be put in with "%{sms_context_name}"'
'5': "Add your Mailgun API key (not the Public API key) to the Tracks 'site.yml'"
'6': "Update the mailmap in 'site.yml' to define which senders can send emails
to which incoming addresses. For example, to send emails from your work

View file

@ -459,7 +459,7 @@ ru:
интернета. Тогда Mailgun сможет отправлять на него данные.
description: Если вы хотите отправлять письма в Tracks, но не можете запустить
почтовый сервер на том же сервере, то можно использовать встроенную в Tracks
поддержку {mailgun_link}.
поддержку %{mailgun_link}.
example_names:
tag:
'2': метка2

View file

@ -35,7 +35,7 @@ tr:
etiketlerinizi ve notlarınızı içerir
csv_notes_title: CSV dosyası (sadece notlar)
xml_link_title: XML dosyası (sadece eylemler)
yaml_description: ':{yaml}: Dışarı aktarmak için en iyisidir.'
yaml_description: '%{yaml}: Dışarı aktarmak için en iyisidir.'
download_link: İndirme bağlantısı
yaml_link_title: YAML dosyası
xml_description: '%{xml}: Veri aktarımı ve düzenleme için en iyisidir'
@ -148,7 +148,7 @@ tr:
other: Günler
note:
one: Not yok
other: 1 not var
other: '%{count} not var'
actions_midsentence:
one: eylem
other: eylemler

352
config/locales/zh-TW.yml Normal file
View file

@ -0,0 +1,352 @@
# Traditional Chinese (Taiwan) locale for Tracks
# 繁體中文 (台灣) 語言包
zh-TW:
activerecord:
attributes:
note:
created_at: 建立於
updated_at: 更新於
preference:
date_format: 日期格式
due_style: 到期樣式
first_name: 名字
last_name: 姓氏
email: 電子郵件
locale: 語言
mobile_todos_per_page: 每頁動作數 (行動版)
refresh: 重新整理間隔 (分鐘)
review_period: 專案檢視間隔
show_completed_projects_in_sidebar: 在側邊欄顯示已完成的專案
show_hidden_contexts_in_sidebar: 在側邊欄顯示隱藏的情境
show_hidden_projects_in_sidebar: 在側邊欄顯示隱藏的專案
show_number_completed: 顯示已完成的動作數量
show_project_on_todo_done: 完成待辦事項時進入專案頁面
sms_context: 預設電子郵件情境
sms_email: 寄件者電子郵件
staleness_starts: 過期開始時間
theme: 主題
time_zone: 時區
title_date_format: 標題日期格式
verbose_action_descriptors: 以詳細形式顯示動作的描述 (情境、專案)
week_starts: 每週開始於
project:
default_context_name: 預設情境
default_tags: 預設標籤
description: 描述
name: 名稱
todo:
context: 情境
description: 描述
due: 到期
notes: 備註
predecessors: 依賴於
project: 專案
show_from: 顯示開始時間
tags: 標籤
user:
auth_type: 驗證類型
created_at: 建立於
display_name: 顯示名稱
email: 電子郵件地址
first_name: 名字
last_login_at: 上次登入時間
last_name: 姓氏
login: 登入名稱
open_id_url: OpenID 網址
password: 密碼
errors:
full_messages:
format: "%{attribute} %{message}"
messages:
accepted: 必須被接受
blank: 不能為空
confirmation: 與確認不符
empty: 不能為空
equal_to: '必須等於 %{count}'
even: 必須為偶數
exclusion: 被保留使用
greater_than: '必須大於 %{count}'
greater_than_or_equal_to: '必須大於或等於 %{count}'
inclusion: 不在清單中
invalid: 無效
less_than: '必須小於 %{count}'
less_than_or_equal_to: '必須小於或等於 %{count}'
not_a_number: 不是數字
odd: 必須為奇數
record_invalid: '驗證失敗:%{errors}'
restrict_dependent_destroy:
has_one: '無法刪除記錄,因為存在相依的 %{record}'
has_many: '無法刪除記錄,因為存在相依的 %{record}'
taken: 已被使用
too_long: '太長了 (最多 %{count} 個字元)'
too_short: '太短了 (最少 %{count} 個字元)'
wrong_length: '長度錯誤 (應為 %{count} 個字元)'
models:
project:
attributes:
name:
blank: 專案必須有名稱
taken: 已存在
too_long: 專案名稱必須少於 256 個字元
template:
body: 下列欄位有問題:
header:
one: '1 個錯誤阻止了 %{model} 的儲存'
other: '%{count} 個錯誤阻止了 %{model} 的儲存'
common:
action: 動作
actions: 動作
actions_midsentence:
one: 動作
other: 動作
zero: 動作
add: 新增
ajaxError: 從伺服器取得資料時發生錯誤
back: 返回
bugs: 錯誤回報
cancel: 取消
collapse_expand: 摺疊/展開
context: 情境
contexts: 情境
contribute: 貢獻
create: 建立
days_midsentence:
one:
other:
zero:
deferred: 延期
description: 描述
drag_handle: 拖曳
email: 電子郵件
errors_with_fields: 下列欄位有問題:
first: 第一個
forth: 第四個
fourth: 第四個
go_back: 返回
last: 最後一個
logout: 登出
mailing_list: 郵寄清單
month:
months:
next: 下一個
none:
not_available_abbr:
note:
one: 1 個備註
other: "%{count} 個備註"
zero: 無備註
notes: 備註
numbered_step: '步驟 %{number}'
ok: 確定
optional: 選填
previous: 前一個
project: 專案
projects: 專案
recurring_todos: 重複動作
review: 檢視
search: 搜尋
second: 第二個
server_error: 伺服器發生錯誤。
show_all: 顯示全部
sort:
alphabetically: 依字母排序
alphabetically_confirm: 您確定要依字母順序排列這些專案嗎?這會取代現有的排序順序。
alphabetically_title: 依字母順序排列專案
by_task_count: 依任務數量排序
by_task_count_title: 依任務數量排序
by_task_count_title_confirm: 您確定要依任務數量排列這些專案嗎?這會取代現有的排序順序。
sort: 排序
third: 第三個
todo: 待辦事項
update: 更新
website: 網站
week:
weeks:
wiki: Wiki
login:
account_login: 帳戶登入
please_login: 請登入以使用 Tracks
sign_in: 登入
successful: 登入成功。歡迎回來!
unsuccessful: 登入失敗。
logout: 登出
logged_out: 您已從 Tracks 登出。
layouts:
navigation:
home: 首頁
contexts_title: 情境
projects_title: 專案
calendar: 日曆
calendar_title: 到期動作的日曆
completed_tasks: 已完成
completed_tasks_title: 已完成
starred: 已標星
starred_title: 查看您已標星的動作
preferences: 偏好設定
preferences_title: 顯示我的偏好設定
help: "?"
help_page: 說明
todos:
next_actions_title: Tracks - 下一步動作
action_saved: 動作已儲存
action_marked_complete: '動作 <strong>"%{description}"</strong> 已標記為 <strong>%{completed}</strong>'
confirm_delete: '您確定要刪除動作 "%{description}" 嗎?'
deleted_success: 動作已成功刪除。
edit_action: 編輯動作
delete_action: 刪除動作
mark_complete: 標記完成
due: 到期
context: 情境
project: 專案
tags: 標籤 (用逗號分隔)
notes: 備註
show_from: 顯示開始時間
completed: 已完成
no_actions:
not_done: 目前沒有未完成動作
completed: 目前沒有已完成動作
title: 找不到動作
contexts:
add_context: 新增情境
context_name: 情境名稱
save_status_message: 情境已儲存
delete_context: 刪除情境
delete_context_confirmation: '您確定要刪除情境 "%{name}" 嗎?請注意,這也會刪除此情境中的所有(重複)動作!'
context_deleted: '已刪除情境 "%{name}"'
edit_context: 編輯情境
show_form: 建立新情境
hide_form: 隱藏表單
projects:
add_project: 新增專案
project_saved_status: 專案已儲存
delete_project: 刪除專案
delete_project_confirmation: '您確定要刪除專案 "%{name}" 嗎?'
project_destroyed_status: '已刪除專案 "%{name}"'
edit_project_title: 編輯專案
show_form: 新增專案
hide_form: 隱藏表單
notes: 備註
add_note: 新增備註
add_note_submit: 新增備註
settings: 設定
preferences:
title: 您的偏好設定
edit_preferences: 編輯偏好設定
updated: 偏好設定已更新
tabs:
profile: 個人檔案
authentication: 驗證
date_and_time: 日期和時間
tracks_behavior: Tracks 行為
remove_account: 移除帳戶
help:
title: 說明
usage: '您可以在專案 GitHub wiki 的 %{manual_link} 中找到使用資訊。'
manual_link_text: 使用手冊
bugs: '如果您遇到錯誤或有功能請求,請在 %{issue_link} 中回報。'
issue_link_text: 問題佇列
date:
abbr_day_names:
-
-
-
-
-
-
-
day_names:
- 星期日
- 星期一
- 星期二
- 星期三
- 星期四
- 星期五
- 星期六
abbr_month_names:
-
- 1月
- 2月
- 3月
- 4月
- 5月
- 6月
- 7月
- 8月
- 9月
- 10月
- 11月
- 12月
month_names:
-
- 一月
- 二月
- 三月
- 四月
- 五月
- 六月
- 七月
- 八月
- 九月
- 十月
- 十一月
- 十二月
formats:
default: "%Y-%m-%d"
long: "%Y年%m月%d日"
short: "%m月%d日"
order:
- :year
- :month
- :day
time:
am: 上午
pm: 下午
formats:
default: "%a, %d %b %Y %H:%M:%S %z"
long: "%Y年%m月%d日 %H:%M"
short: "%m月%d日 %H:%M"
number:
format:
delimiter: ","
separator: "."
currency:
format:
unit: "$"
delimiter: ","
separator: "."
format: "%u%n"
errors:
format: "%{attribute} %{message}"
messages:
accepted: 必須被接受
blank: 不能為空
confirmation: '與 %{attribute} 不符'
empty: 不能為空
equal_to: '必須等於 %{count}'
even: 必須為偶數
exclusion: 被保留使用
greater_than: '必須大於 %{count}'
greater_than_or_equal_to: '必須大於或等於 %{count}'
inclusion: 不在清單中
invalid: 無效
less_than: '必須小於 %{count}'
less_than_or_equal_to: '必須小於或等於 %{count}'
not_a_number: 不是數字
not_an_integer: 必須是整數
odd: 必須為奇數
other_than: '必須不同於 %{count}'
present: 必須為空白
taken: 已被使用
too_long: '太長了 (最多 %{count} 個字元)'
too_short: '太短了 (最少 %{count} 個字元)'
wrong_length: '長度錯誤 (應為 %{count} 個字元)'
users:
signup: 註冊
signup_successful: '用戶 %{username} 註冊成功。'
create_error: 用戶建立失敗,也許您在這裡已經有帳戶?
user_created: 用戶已建立。
choose_password: 選擇密碼
confirm_password: 確認密碼
email_address: 電子郵件地址
change_password: 變更您的密碼
password_updated: 密碼已更新。

View file

@ -2,30 +2,33 @@
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
# This file is the source Rails uses to define your schema when running `bin/rails
# db:schema:load`. When creating a new database, `bin/rails db:schema:load` tends to
# be faster and is potentially less error prone than running all of your
# migrations from scratch. Old migrations may fail to apply correctly if those
# migrations use external dependencies or application code.
#
# It's strongly recommended that you check this file into your version control system.
ActiveRecord::Schema.define(version: 2020_08_20_000743) do
create_table "attachments", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
t.integer "todo_id"
# These are extensions that must be enabled in order to support this database
enable_extension "plpgsql"
create_table "attachments", force: :cascade do |t|
t.bigint "todo_id"
t.string "file_file_name"
t.string "file_content_type"
t.integer "file_file_size"
t.bigint "file_file_size"
t.datetime "file_updated_at"
t.datetime "created_at"
t.datetime "updated_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.index ["todo_id"], name: "index_attachments_on_todo_id"
end
create_table "contexts", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "contexts", force: :cascade do |t|
t.string "name", null: false
t.integer "position", default: 0
t.integer "position"
t.integer "user_id", default: 1
t.datetime "created_at"
t.datetime "updated_at"
@ -34,7 +37,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_contexts_on_user_id"
end
create_table "dependencies", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "dependencies", force: :cascade do |t|
t.integer "successor_id", null: false
t.integer "predecessor_id", null: false
t.string "relationship_type"
@ -42,7 +45,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["successor_id"], name: "index_dependencies_on_successor_id"
end
create_table "notes", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "notes", force: :cascade do |t|
t.integer "user_id", null: false
t.integer "project_id", null: false
t.text "body"
@ -52,7 +55,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_notes_on_user_id"
end
create_table "open_id_authentication_associations", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "open_id_authentication_associations", force: :cascade do |t|
t.integer "issued"
t.integer "lifetime"
t.string "handle"
@ -61,13 +64,13 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.binary "secret"
end
create_table "open_id_authentication_nonces", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "open_id_authentication_nonces", force: :cascade do |t|
t.integer "timestamp", null: false
t.string "server_url"
t.string "salt", null: false
end
create_table "preferences", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "preferences", force: :cascade do |t|
t.integer "user_id", null: false
t.string "date_format", limit: 40, default: "%d/%m/%Y", null: false
t.integer "week_starts", default: 0, null: false
@ -79,9 +82,9 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.integer "refresh", default: 0, null: false
t.boolean "verbose_action_descriptors", default: false, null: false
t.boolean "show_hidden_projects_in_sidebar", default: true, null: false
t.string "time_zone", default: "London", null: false
t.string "time_zone", limit: 255, default: "London", null: false
t.boolean "show_project_on_todo_done", default: false, null: false
t.string "title_date_format", default: "%A, %d %B %Y", null: false
t.string "title_date_format", limit: 255, default: "%A, %d %B %Y", null: false
t.integer "mobile_todos_per_page", default: 6, null: false
t.string "sms_email"
t.integer "sms_context_id"
@ -91,11 +94,11 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_preferences_on_user_id"
end
create_table "projects", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "projects", force: :cascade do |t|
t.string "name", null: false
t.integer "position", default: 0
t.integer "position"
t.integer "user_id", default: 1
t.text "description", limit: 16777215
t.text "description"
t.string "state", limit: 20, null: false
t.datetime "created_at"
t.datetime "updated_at"
@ -109,12 +112,12 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id"], name: "index_projects_on_user_id"
end
create_table "recurring_todos", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "recurring_todos", force: :cascade do |t|
t.integer "user_id", default: 1
t.integer "context_id", null: false
t.integer "project_id"
t.string "description", null: false
t.text "notes", limit: 16777215
t.text "notes"
t.string "state", limit: 20, null: false
t.datetime "start_from"
t.string "ends_on"
@ -133,21 +136,21 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.integer "every_count"
t.integer "weekday"
t.datetime "completed_at"
t.datetime "created_at"
t.datetime "updated_at"
t.datetime "created_at", null: false
t.datetime "updated_at", null: false
t.boolean "show_always"
t.index ["state"], name: "index_recurring_todos_on_state"
t.index ["user_id"], name: "index_recurring_todos_on_user_id"
end
create_table "sessions", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "sessions", force: :cascade do |t|
t.string "session_id"
t.text "data"
t.datetime "updated_at"
t.index ["session_id"], name: "sessions_session_id_index"
t.index ["session_id"], name: "index_sessions_on_session_id"
end
create_table "taggings", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "taggings", force: :cascade do |t|
t.integer "taggable_id"
t.integer "tag_id"
t.string "taggable_type"
@ -156,7 +159,7 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["taggable_id", "taggable_type"], name: "index_taggings_on_taggable_id_and_taggable_type"
end
create_table "tags", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "tags", force: :cascade do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
@ -164,11 +167,11 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["name"], name: "index_tags_on_name"
end
create_table "todos", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "todos", force: :cascade do |t|
t.integer "context_id", null: false
t.integer "project_id"
t.text "description", null: false
t.text "notes", limit: 16777215
t.text "notes"
t.datetime "created_at"
t.datetime "due"
t.datetime "completed_at"
@ -177,7 +180,6 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.string "state", limit: 20, null: false
t.integer "recurring_todo_id"
t.datetime "updated_at"
t.text "rendered_notes", limit: 16777215
t.index ["context_id"], name: "index_todos_on_context_id"
t.index ["project_id"], name: "index_todos_on_project_id"
t.index ["state"], name: "index_todos_on_state"
@ -186,20 +188,20 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["user_id", "state"], name: "index_todos_on_user_id_and_state"
end
create_table "tolk_locales", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "tolk_locales", force: :cascade do |t|
t.string "name"
t.datetime "created_at"
t.datetime "updated_at"
t.index ["name"], name: "index_tolk_locales_on_name", unique: true
end
create_table "tolk_phrases", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "tolk_phrases", force: :cascade do |t|
t.text "key"
t.datetime "created_at"
t.datetime "updated_at"
end
create_table "tolk_translations", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "tolk_translations", force: :cascade do |t|
t.integer "phrase_id"
t.integer "locale_id"
t.text "text"
@ -210,9 +212,9 @@ ActiveRecord::Schema.define(version: 2020_08_20_000743) do
t.index ["phrase_id", "locale_id"], name: "index_tolk_translations_on_phrase_id_and_locale_id", unique: true
end
create_table "users", options: "ENGINE=InnoDB DEFAULT CHARSET=utf8", force: :cascade do |t|
create_table "users", force: :cascade do |t|
t.string "login", limit: 80, null: false
t.string "crypted_password", limit: 60
t.string "crypted_password", limit: 60, null: false
t.string "token"
t.boolean "is_admin", default: false, null: false
t.string "first_name"

View file

@ -1,5 +1,40 @@
See doc/upgrading.md for the upgrade documentation!
## Version 2.7.1
### Security advisory CVE-2024-41805 (severity 6.1 / moderate)
This release fixes a few reflected XSS vulnerabilities which enabled execution
of malicious JavaScript in the context of a users browser if that user clicks
on a malicious link, possibly allowing retrieval or modification of the current
user's data. The issue is of moderate severity (score 6.1/10) with the CVSS
rating CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N.
I want to thank Alec Romano for reporting the issues.
### New features
* The test suite now uses always the same Dockerfile as the main build.
* The Dockerfile now supports environment-specific builds via stages.
Note: This requires slight changes to docker build commands, see documentation!
### Deprecations
* This will be the last release to support Ruby 3.0, which is already end-of-life.
### Bug fixes
* Lots of dependencies have been updated (including security updates).
* Fixed Docker build not working on an archive version (ie. one not cloned with Git)
* An error is shown if the user being created already exists.
* The TOS error in user creation is now in template.
* Schema.rb has been updated for Postgres support.
### Updated translations
* Spanish (thanks Gallegonovato!)
* Finnish (by maintainer Jyri-Petteri ”ZeiP” Paloposki)
## Version 2.7
### Removed features

View file

@ -44,7 +44,7 @@ Tracks container. In future there should be an official image in Docker Hub. You
1. Get the Tracks code base by either downloading the archive file for the latest releast or cloning it from GitHub.
2. Run the following command in the Tracks directory to build the image:
```
$ docker build -t="tracks" .
$ docker build -t="tracks" --target=production .
```
1. Make sure you have Docker properly installed.
@ -142,7 +142,7 @@ You need to create a database and database-user to use with Tracks. For this, yo
#### PostgreSQL
$ sudo -u postgres psql
postgres=# CREATE USER tracks WITH ENCRYPTED PASSWORD 'password-goes-here';
postgres=# CREATE ROLE tracks WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION PASSWORD 'password-goes-here';
postgres=# CREATE DATABASE tracks OWNER=tracks;
### Install dependencies
@ -153,13 +153,22 @@ Tracks is built upon a number of Ruby libraries (known as gems). The Bundl
* If you are using SQLite:
```
bundle install --without "development test mysql"
bundle config set without mysql postgresql
bundle install
```
* If you are using MySQL:
```
bundle install --without "development test sqlite"
bundle config set without sqlite postgresql
bundle install
```
* If you are using PostgreSQL:
```
bundle config set without sqlite mysql
bundle install
```
* If you are installing Tracks on Windows or Mac OS X, or if you have another JavaScript runtime such as Node.js installed, you may also append `therubyracer` as an additional "without" parameter.

View file

@ -1,14 +1,16 @@
version: '3'
services:
db:
image: mysql:5.7
image: mariadb:lts
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
MARIADB_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build: .
build:
context: .
target: production # can also be development or test
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV

View file

@ -2,7 +2,9 @@
set -e
docker_compose="docker-compose --file test-envs/docker-compose-$1-$2.yml"
export RUBY_VERSION=$1
docker_compose="docker compose --file test-envs/docker-compose-$2.yml"
function cleanup() {
$docker_compose down
@ -20,7 +22,7 @@ export DATABASE_NAME=tracks_test
$docker_compose build
$docker_compose up -d
script/poll-for-db
script/poll-for-db $2
# Leaving this in since it will be needed for Rails 5
$docker_compose run web bin/rails db:environment:set RAILS_ENV=test || true
@ -32,5 +34,5 @@ else
$docker_compose run web bin/rake db:migrate
$docker_compose run web bin/rake db:seed
fi
$docker_compose run web bin/rake test
echo "==> Running the tests…"
$docker_compose run web bin/rails test

View file

@ -2,7 +2,7 @@
set -e
docker_compose="docker-compose --file docker-compose.yml"
docker_compose="docker compose --file docker-compose.yml"
# Find our app dir
appdir=$(cd $(dirname "$0")/.. && pwd)

View file

@ -2,13 +2,16 @@
echo "==> Polling DB…"
if [ -z "$1" ] || [ "$1" == "mysql" ]; then
appdir=$(cd $(dirname "$0")/.. && pwd)
[ -f /etc/app-env ] || exec "$appdir/script/docker-environment" $0 $@
for i in {1..60}; do
echo "... Checking for connection"
nc -z -w5 db 3306 && exit
sleep 1
done
echo "Unable to reach database!"
exit 1
fi

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.0
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,32 +0,0 @@
version: '3'
services:
db:
image: postgres:13
environment:
POSTGRES_DB: ${DATABASE_NAME:-tracks}
POSTGRES_PASSWORD: password
volumes:
- db-data:/var/lib/postgresql/data
web:
build:
context: ..
dockerfile: Dockerfile-3.0
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: postgres
DATABASE_PASSWORD: password
DATABASE_TYPE: postgresql
DATABASE_ENCODING: unicode
DATABASE_PORT: 5432
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.1
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,29 +0,0 @@
version: '3'
services:
db:
image: mysql:5.7
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
web:
build:
context: ..
dockerfile: Dockerfile-3.2
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,17 +0,0 @@
version: '3'
services:
web:
build:
context: ..
dockerfile: Dockerfile
environment:
# These are set in script/ci-build, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: "/app/db.sqlite"
DATABASE_TYPE: sqlite3
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000

View file

@ -1,29 +1,25 @@
version: '3'
services:
db:
image: mysql:5.7
image: mariadb:lts
environment:
MYSQL_ALLOW_EMPTY_PASSWORD: 1
MYSQL_DATABASE: ${TRACKS_DB:-tracks}
volumes:
- db-data:/var/lib/mysql
MARIADB_ALLOW_EMPTY_ROOT_PASSWORD: 1
MARIADB_DATABASE: ${TRACKS_DB:-tracks}
web:
build:
context: ..
dockerfile: Dockerfile
target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment:
# These are set in script/ci-build, so we need to pass-thru them.
# These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: root
DATABASE_PASSWORD_EMPTY: 1
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,18 +1,17 @@
version: '3'
services:
db:
image: postgres:13
environment:
POSTGRES_DB: ${DATABASE_NAME:-tracks}
POSTGRES_PASSWORD: password
volumes:
- db-data:/var/lib/postgresql/data
web:
build:
context: ..
dockerfile: Dockerfile
target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment:
# These are set in script/ci-build, so we need to pass-thru them.
# These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: $DATABASE_NAME
DATABASE_USERNAME: postgres
@ -21,12 +20,9 @@ services:
DATABASE_ENCODING: unicode
DATABASE_PORT: 5432
volumes:
- ${VOLUME:-..}:/app:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
depends_on:
- db
volumes:
db-data:

View file

@ -1,17 +1,20 @@
version: '3'
services:
web:
build:
context: ..
dockerfile: Dockerfile-3.0
target: test
args:
RUBY_VERSION: ${RUBY_VERSION}
environment:
# These are set in script/ci-build, so we need to pass-thru them.
# These are set in script/cibuild, so we need to pass-thru them.
RAILS_ENV: $RAILS_ENV
DATABASE_NAME: "/app/db.sqlite"
DATABASE_NAME: "/app/db/db.sqlite"
DATABASE_TYPE: sqlite3
volumes:
- ${VOLUME:-..}:/app:Z
- sqlite:/app/db:Z
- ${VOLUME:-..}/config/database.docker.yml:/app/config/database.yml:Z
- ${VOLUME:-..}/config/site.docker.yml:/app/config/site.yml:Z
ports:
- 3000:3000
volumes:
sqlite: {}

View file

@ -124,7 +124,7 @@ class ContextsControllerTest < ActionController::TestCase
%w(guid link).each do |node|
assert_select node, /http:\/\/test.host\/contexts\/.+/
end
assert_select 'pubDate', contexts(:agenda).created_at.to_s(:rfc822)
assert_select 'pubDate', contexts(:agenda).created_at.to_formatted_s(:rfc822)
end
end
end

View file

@ -102,7 +102,7 @@ class ProjectsControllerTest < ActionController::TestCase
%w(guid link).each do |node|
assert_select node, /http:\/\/test.host\/projects\/.+/
end
assert_select 'pubDate', projects(:timemachine).updated_at.to_s(:rfc822)
assert_select 'pubDate', projects(:timemachine).updated_at.to_formatted_s(:rfc822)
end
end
end

View file

@ -403,7 +403,7 @@ class TodosControllerTest < ActionController::TestCase
assert_equal "bar, foo", t.tag_list
expected = Date.new(2006,11,30)
actual = t.due.to_date
assert_equal expected, actual, "Expected #{expected.to_s(:db)}, was #{actual.to_s(:db)}"
assert_equal expected, actual, "Expected #{expected.to_formatted_s(:db)}, was #{actual.to_formatted_s(:db)}"
end
def test_update_todos_with_blank_project_name
@ -551,7 +551,7 @@ class TodosControllerTest < ActionController::TestCase
assert_select 'description', /.*/
assert_select 'link', %r{http://test.host/contexts/.+}
assert_select 'guid', %r{http://test.host/todos/.+}
assert_select 'pubDate', todos(:call_bill_gates_every_day).created_at.to_s(:rfc822)
assert_select 'pubDate', todos(:call_bill_gates_every_day).created_at.to_formatted_s(:rfc822)
end
end
end

View file

@ -5,7 +5,7 @@
<%
def today
Time.zone.now.utc.to_s(:db)
Time.zone.now.utc.to_formatted_s(:db)
end
%>

View file

@ -4,15 +4,15 @@
# rails does automatically in models or controllers! Convert to utc manually!
<%
def today
Time.zone.now.utc.to_s(:db)
Time.zone.now.utc.to_formatted_s(:db)
end
def next_week
1.week.from_now.utc.to_s(:db)
1.week.from_now.utc.to_formatted_s(:db)
end
def last_week
1.week.ago.utc.to_s(:db)
1.week.ago.utc.to_formatted_s(:db)
end
%>

View file

@ -4,13 +4,13 @@
# rails does automatically in models or controllers! Convert to utc manually!
<%
def today
Time.zone.now.utc.beginning_of_day.to_s(:db)
Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end
def yesterday
1.day.ago.utc.beginning_of_day.to_s(:db)
1.day.ago.utc.beginning_of_day.to_formatted_s(:db)
end
def last_week
1.week.ago.utc.beginning_of_day.to_s(:db)
1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end
%>

View file

@ -3,27 +3,27 @@
<%
def today
Time.zone.now.utc.beginning_of_day.to_s(:db)
Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end
def next_week
1.week.from_now.utc.beginning_of_day.to_s(:db)
1.week.from_now.utc.beginning_of_day.to_formatted_s(:db)
end
def last_week
1.week.ago.utc.beginning_of_day.to_s(:db)
1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end
def two_weeks_ago
2.weeks.ago.utc.beginning_of_day.to_s(:db)
2.weeks.ago.utc.beginning_of_day.to_formatted_s(:db)
end
def two_weeks_hence
2.weeks.from_now.utc.beginning_of_day.to_s(:db)
2.weeks.from_now.utc.beginning_of_day.to_formatted_s(:db)
end
def way_back
Time.zone.local(2008,1,1).utc.to_s(:db)
Time.zone.local(2008,1,1).utc.to_formatted_s(:db)
end
%>

View file

@ -3,7 +3,7 @@
<%
def today
Time.zone.now.utc.beginning_of_day.to_s(:db)
Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end
%>

View file

@ -8,27 +8,27 @@ def yesterday
Time.zone.now.utc.beginning_of_day - 1.day
end
def today
Time.zone.now.utc.beginning_of_day.to_s(:db)
Time.zone.now.utc.beginning_of_day.to_formatted_s(:db)
end
def tomorrow
(Time.zone.now.utc.beginning_of_day + 1.day).to_s(:db)
(Time.zone.now.utc.beginning_of_day + 1.day).to_formatted_s(:db)
end
def next_week
1.week.from_now.utc.beginning_of_day.to_s(:db)
1.week.from_now.utc.beginning_of_day.to_formatted_s(:db)
end
def last_week
1.week.ago.utc.beginning_of_day.to_s(:db)
1.week.ago.utc.beginning_of_day.to_formatted_s(:db)
end
def two_weeks_ago
2.weeks.ago.utc.beginning_of_day.to_s(:db)
2.weeks.ago.utc.beginning_of_day.to_formatted_s(:db)
end
def two_weeks_hence
2.weeks.from_now.utc.beginning_of_day.to_s(:db)
2.weeks.from_now.utc.beginning_of_day.to_formatted_s(:db)
end
%>

View file

@ -110,7 +110,7 @@ class RecurringTodoTest < ActiveSupport::TestCase
# every_day should return start_day if it is in the future
@every_day.start_from = @in_three_days
due_date = @every_day.get_due_date(nil)
assert_equal @in_three_days.at_midnight.to_s(:db), due_date.to_s(:db)
assert_equal @in_three_days.at_midnight.to_formatted_s(:db), due_date.to_formatted_s(:db)
due_date = @every_day.get_due_date(@tomorrow)
assert_equal @in_three_days.at_midnight, due_date

View file

@ -122,8 +122,8 @@ module RecurringTodos
travel_to Time.zone.local(2013,1,1) do
rt = create_recurring_todo
assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil), "no previous date, use today"
assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil, 1.day).to_s(:db), "no previous date, use today without offset"
assert_equal Time.zone.parse("2013-01-02 00:00:00"), rt.send(:determine_start, Time.zone.now, 1.day).to_s(:db), "use previous date and offset"
assert_equal Time.zone.parse("2013-01-01 00:00:00"), rt.send(:determine_start, nil, 1.day).to_formatted_s(:db), "no previous date, use today without offset"
assert_equal Time.zone.parse("2013-01-02 00:00:00"), rt.send(:determine_start, Time.zone.now, 1.day).to_formatted_s(:db), "use previous date and offset"
end
end
@ -131,14 +131,14 @@ module RecurringTodos
rt = create_recurring_todo
# march 2014 has 5 saturdays, the last will return the 5th
assert_equal Time.zone.parse("2014-03-01 00:00:00"), rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-22 00:00:00"), rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-29 00:00:00"), rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-01 00:00:00"), rt.send(:get_xth_day_of_month, 1, 6, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-22 00:00:00"), rt.send(:get_xth_day_of_month, 4, 6, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-29 00:00:00"), rt.send(:get_xth_day_of_month, 5, 6, 3, 2014).to_formatted_s(:db)
# march 2014 has 4 fridays, the last will return the 4th
assert_equal Time.zone.parse("2014-03-07 00:00:00"), rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_s(:db)
assert_equal Time.zone.parse("2014-03-07 00:00:00"), rt.send(:get_xth_day_of_month, 1, 5, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 4, 5, 3, 2014).to_formatted_s(:db)
assert_equal Time.zone.parse("2014-03-28 00:00:00"), rt.send(:get_xth_day_of_month, 5, 5, 3, 2014).to_formatted_s(:db)
assert_raise(RuntimeError, "should check on valid weekdays"){ rt.send(:get_xth_day_of_month, 5, 9, 3, 2014) }
assert_raise(RuntimeError, "should check on valid count x"){ rt.send(:get_xth_day_of_month, 6, 5, 3, 2014) }

View file

@ -10,7 +10,7 @@ class TodoTest < ActiveSupport::TestCase
end
def next_week
1.week.from_now.beginning_of_day.to_s(:db)
1.week.from_now.beginning_of_day.to_formatted_s(:db)
end
# Test loading a todo item