mirror of
https://github.com/rickbarrette/stopwatch.git
synced 2026-04-02 17:51:59 -04:00
Compare commits
12 Commits
feature/st
...
v1.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e40840b974 | ||
|
|
efc8c6c620 | ||
|
|
33e8d85f8f | ||
|
|
7f0581aff2 | ||
|
|
c496fac5e2 | ||
|
|
45d15917b3 | ||
|
|
fd7a5375e2 | ||
|
|
8db0686e3a | ||
|
|
e435d5f350 | ||
|
|
8e572e79b5 | ||
|
|
88c1748703 | ||
|
|
84a49f1d1c |
32
.github/workflows/redmine.yml
vendored
Normal file
32
.github/workflows/redmine.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
||||
name: Test with Redmine
|
||||
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- master
|
||||
pull_request:
|
||||
branches:
|
||||
- master
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
strategy:
|
||||
matrix:
|
||||
redmine:
|
||||
- '5.0'
|
||||
- '5.1'
|
||||
ruby:
|
||||
- '3.0'
|
||||
- '3.1'
|
||||
database:
|
||||
- postgresql
|
||||
- mysql
|
||||
steps:
|
||||
- uses: eXolnet/action-redmine-plugin@v1
|
||||
with:
|
||||
plugin_name: stopwatch
|
||||
redmine_version: ${{ matrix.redmine }}
|
||||
ruby_version: ${{ matrix.ruby }}
|
||||
database: ${{ matrix.database }}
|
||||
|
||||
33
.travis.yml
33
.travis.yml
@@ -1,33 +0,0 @@
|
||||
sudo: false
|
||||
language: ruby
|
||||
rvm:
|
||||
- 2.4.10
|
||||
- 2.5.8
|
||||
- 2.6.6
|
||||
|
||||
branches:
|
||||
only:
|
||||
- master
|
||||
|
||||
addons:
|
||||
postgresql: "9.6"
|
||||
|
||||
env:
|
||||
- REDMINE_VER=4.0-stable
|
||||
- REDMINE_VER=4.1-stable
|
||||
- REDMINE_VER=master
|
||||
|
||||
install: "echo skip bundle install"
|
||||
|
||||
before_script:
|
||||
- psql -c 'create database travis_ci_test;' -U postgres
|
||||
|
||||
script:
|
||||
- export TESTSPACE=`pwd`/testspace
|
||||
- export NAME_OF_PLUGIN=stopwatch
|
||||
- export PATH_TO_PLUGIN=`pwd`
|
||||
- export PATH_TO_REDMINE=$TESTSPACE/redmine
|
||||
- mkdir $TESTSPACE
|
||||
- cp test/support/* $TESTSPACE/
|
||||
- bash -x ./travis.sh
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Stopwatch Plugin for Redmine [](https://travis-ci.org/jkraemer/stopwatch)
|
||||
# Stopwatch Plugin for Redmine [](https://github.com/jkraemer/stopwatch/actions/workflows/redmine.yml)
|
||||
|
||||
Minimal plugin that aims to make tracking your time with Redmine much easier.
|
||||
|
||||
|
||||
15
init.rb
15
init.rb
@@ -1,14 +1,11 @@
|
||||
require_dependency 'stopwatch'
|
||||
require 'stopwatch/hooks'
|
||||
|
||||
Redmine::Plugin.register :stopwatch do
|
||||
name 'Redmine Stopwatch Plugin'
|
||||
author 'Jens Krämer'
|
||||
author_url 'https://jkraemer.net/'
|
||||
description "Start/stop timer and quick access to today's time bookings for Redmine"
|
||||
version '0.2.0'
|
||||
version '1.0.0'
|
||||
|
||||
requires_redmine version_or_higher: '3.4.0'
|
||||
requires_redmine version_or_higher: '5.0.0'
|
||||
settings default: {
|
||||
'default_activity' => 'always_ask',
|
||||
}, partial: 'stopwatch/settings'
|
||||
@@ -21,10 +18,4 @@ Redmine::Plugin.register :stopwatch do
|
||||
if: ->(*_){ User.current.logged? and User.current.allowed_to?(:log_time, nil, global: true) }
|
||||
end
|
||||
|
||||
Rails.configuration.to_prepare do
|
||||
Stopwatch::ContextMenusControllerPatch.apply
|
||||
Stopwatch::IssuesControllerPatch.apply
|
||||
Stopwatch::TimeEntryPatch.apply
|
||||
Stopwatch::UserPatch.apply
|
||||
end
|
||||
|
||||
Stopwatch.setup
|
||||
|
||||
@@ -1,6 +1,15 @@
|
||||
# frozen_string_literal: true
|
||||
|
||||
module Stopwatch
|
||||
def self.setup
|
||||
Stopwatch::ContextMenusControllerPatch.apply
|
||||
Stopwatch::IssuesControllerPatch.apply
|
||||
::TimeEntry.prepend Stopwatch::TimeEntryPatch
|
||||
::User.prepend Stopwatch::UserPatch
|
||||
Stopwatch::Hooks # just load it
|
||||
end
|
||||
|
||||
|
||||
def self.settings
|
||||
Setting.plugin_stopwatch
|
||||
end
|
||||
|
||||
@@ -1,13 +1,9 @@
|
||||
module Stopwatch
|
||||
module TimeEntryPatch
|
||||
def self.apply
|
||||
TimeEntry.prepend self unless TimeEntry < self
|
||||
end
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def self.prepended(base)
|
||||
base.class_eval do
|
||||
before_destroy :stop_timer
|
||||
end
|
||||
prepended do
|
||||
before_destroy :stop_timer
|
||||
end
|
||||
|
||||
def stop_timer
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
module Stopwatch
|
||||
module UserPatch
|
||||
def self.apply
|
||||
User.prepend self unless User < self
|
||||
end
|
||||
extend ActiveSupport::Concern
|
||||
|
||||
def timer_running?
|
||||
Stopwatch::Timer.new(self).running?
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
# for travis debugging
|
||||
# config.logger = Logger.new(STDOUT)
|
||||
# config.logger.level = Logger::INFO
|
||||
# config.log_level = :info
|
||||
|
||||
@@ -1,8 +0,0 @@
|
||||
test:
|
||||
adapter: postgresql
|
||||
encoding: unicode
|
||||
pool: 5
|
||||
database: travis_ci_test
|
||||
user: postgres
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class StartTimerTest < ActiveSupport::TestCase
|
||||
fixtures :users, :user_preferences, :time_entries, :projects,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class StopTimerTest < ActiveSupport::TestCase
|
||||
fixtures :users, :user_preferences, :time_entries, :projects,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class StopwatchTest < ActiveSupport::TestCase
|
||||
fixtures :projects, :enabled_modules, :enumerations
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class StartTimerTest < ActiveSupport::TestCase
|
||||
fixtures :users, :user_preferences, :time_entries, :projects,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class TimerTest < ActiveSupport::TestCase
|
||||
fixtures :users, :user_preferences, :time_entries
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
require_relative '../test_helper'
|
||||
require File.expand_path('../../test_helper', __FILE__)
|
||||
|
||||
class UserTest < ActiveSupport::TestCase
|
||||
fixtures :users, :user_preferences, :issues
|
||||
|
||||
75
travis.sh
75
travis.sh
@@ -1,75 +0,0 @@
|
||||
#/bin/bash
|
||||
|
||||
set -e
|
||||
|
||||
if [[ ! "$TESTSPACE" = /* ]] ||
|
||||
[[ ! "$PATH_TO_REDMINE" = /* ]] ||
|
||||
[[ ! "$REDMINE_VER" = * ]] ||
|
||||
[[ ! "$NAME_OF_PLUGIN" = * ]] ||
|
||||
[[ ! "$PATH_TO_PLUGIN" = /* ]];
|
||||
then
|
||||
echo "You should set"\
|
||||
" TESTSPACE, PATH_TO_REDMINE, REDMINE_VER"\
|
||||
" NAME_OF_PLUGIN, PATH_TO_PLUGIN"\
|
||||
" environment variables"
|
||||
echo "You set:"\
|
||||
"$TESTSPACE"\
|
||||
"$PATH_TO_REDMINE"\
|
||||
"$REDMINE_VER"\
|
||||
"$NAME_OF_PLUGIN"\
|
||||
"$PATH_TO_PLUGIN"
|
||||
exit 1;
|
||||
fi
|
||||
|
||||
export RAILS_ENV=test
|
||||
|
||||
export REDMINE_GIT_REPO=git://github.com/redmine/redmine.git
|
||||
export REDMINE_GIT_TAG=$REDMINE_VER
|
||||
export BUNDLE_GEMFILE=$PATH_TO_REDMINE/Gemfile
|
||||
|
||||
# checkout redmine
|
||||
git clone $REDMINE_GIT_REPO $PATH_TO_REDMINE
|
||||
cd $PATH_TO_REDMINE
|
||||
if [ ! "$REDMINE_GIT_TAG" = "master" ];
|
||||
then
|
||||
git checkout -b $REDMINE_GIT_TAG origin/$REDMINE_GIT_TAG
|
||||
fi
|
||||
|
||||
# create a link to the plugin
|
||||
ln -sf $PATH_TO_PLUGIN plugins/$NAME_OF_PLUGIN
|
||||
|
||||
mv $TESTSPACE/database.yml.travis config/database.yml
|
||||
mv $TESTSPACE/additional_environment.rb config/
|
||||
|
||||
cat << EOF > lib/tasks/00_nowarnings.rake
|
||||
require 'rake/testtask'
|
||||
|
||||
module NoWarnings
|
||||
def define(*_)
|
||||
self.warning = false
|
||||
super
|
||||
end
|
||||
end
|
||||
|
||||
Rake::TestTask.prepend NoWarnings
|
||||
EOF
|
||||
|
||||
# install gems
|
||||
bundle install
|
||||
|
||||
# run redmine database migrations
|
||||
bundle exec rake db:migrate
|
||||
|
||||
# run plugin database migrations
|
||||
bundle exec rake redmine:plugins:migrate
|
||||
|
||||
# install redmine database
|
||||
#bundle exec rake redmine:load_default_data REDMINE_LANG=en
|
||||
|
||||
bundle exec rake db:structure:dump
|
||||
|
||||
# run tests
|
||||
# bundle exec rake TEST=test/unit/role_test.rb
|
||||
bundle exec rake redmine:plugins:test NAME=$NAME_OF_PLUGIN
|
||||
|
||||
|
||||
Reference in New Issue
Block a user