mirror of
https://github.com/plashchynski/crono.git
synced 2026-04-24 09:48:39 +02:00
Add an ActiveRecord model CronoJob
This commit is contained in:
12
Gemfile.lock
12
Gemfile.lock
@@ -3,6 +3,7 @@ PATH
|
|||||||
specs:
|
specs:
|
||||||
crono (0.5.2)
|
crono (0.5.2)
|
||||||
activejob (~> 4.0)
|
activejob (~> 4.0)
|
||||||
|
activerecord (~> 4.0)
|
||||||
activesupport (~> 4.0)
|
activesupport (~> 4.0)
|
||||||
|
|
||||||
GEM
|
GEM
|
||||||
@@ -11,12 +12,21 @@ GEM
|
|||||||
activejob (4.2.0)
|
activejob (4.2.0)
|
||||||
activesupport (= 4.2.0)
|
activesupport (= 4.2.0)
|
||||||
globalid (>= 0.3.0)
|
globalid (>= 0.3.0)
|
||||||
|
activemodel (4.2.0)
|
||||||
|
activesupport (= 4.2.0)
|
||||||
|
builder (~> 3.1)
|
||||||
|
activerecord (4.2.0)
|
||||||
|
activemodel (= 4.2.0)
|
||||||
|
activesupport (= 4.2.0)
|
||||||
|
arel (~> 6.0)
|
||||||
activesupport (4.2.0)
|
activesupport (4.2.0)
|
||||||
i18n (~> 0.7)
|
i18n (~> 0.7)
|
||||||
json (~> 1.7, >= 1.7.7)
|
json (~> 1.7, >= 1.7.7)
|
||||||
minitest (~> 5.1)
|
minitest (~> 5.1)
|
||||||
thread_safe (~> 0.3, >= 0.3.4)
|
thread_safe (~> 0.3, >= 0.3.4)
|
||||||
tzinfo (~> 1.1)
|
tzinfo (~> 1.1)
|
||||||
|
arel (6.0.0)
|
||||||
|
builder (3.2.2)
|
||||||
diff-lcs (1.2.5)
|
diff-lcs (1.2.5)
|
||||||
globalid (0.3.3)
|
globalid (0.3.3)
|
||||||
activesupport (>= 4.1.0)
|
activesupport (>= 4.1.0)
|
||||||
@@ -37,6 +47,7 @@ GEM
|
|||||||
diff-lcs (>= 1.2.0, < 2.0)
|
diff-lcs (>= 1.2.0, < 2.0)
|
||||||
rspec-support (~> 3.2.0)
|
rspec-support (~> 3.2.0)
|
||||||
rspec-support (3.2.2)
|
rspec-support (3.2.2)
|
||||||
|
sqlite3 (1.3.10)
|
||||||
thread_safe (0.3.4)
|
thread_safe (0.3.4)
|
||||||
timecop (0.7.3)
|
timecop (0.7.3)
|
||||||
tzinfo (1.2.2)
|
tzinfo (1.2.2)
|
||||||
@@ -50,4 +61,5 @@ DEPENDENCIES
|
|||||||
crono!
|
crono!
|
||||||
rake (~> 10.0)
|
rake (~> 10.0)
|
||||||
rspec (~> 3.0)
|
rspec (~> 3.0)
|
||||||
|
sqlite3
|
||||||
timecop (~> 0.7)
|
timecop (~> 0.7)
|
||||||
|
|||||||
@@ -15,10 +15,12 @@ Gem::Specification.new do |s|
|
|||||||
|
|
||||||
s.add_runtime_dependency "activejob", "~> 4.0"
|
s.add_runtime_dependency "activejob", "~> 4.0"
|
||||||
s.add_runtime_dependency "activesupport", "~> 4.0"
|
s.add_runtime_dependency "activesupport", "~> 4.0"
|
||||||
|
s.add_runtime_dependency "activerecord", "~> 4.0"
|
||||||
s.add_development_dependency "rake", "~> 10.0"
|
s.add_development_dependency "rake", "~> 10.0"
|
||||||
s.add_development_dependency "bundler", ">= 1.0.0"
|
s.add_development_dependency "bundler", ">= 1.0.0"
|
||||||
s.add_development_dependency "rspec", "~> 3.0"
|
s.add_development_dependency "rspec", "~> 3.0"
|
||||||
s.add_development_dependency "timecop", "~> 0.7"
|
s.add_development_dependency "timecop", "~> 0.7"
|
||||||
|
s.add_development_dependency "sqlite3"
|
||||||
|
|
||||||
s.files = `git ls-files`.split("\n")
|
s.files = `git ls-files`.split("\n")
|
||||||
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
s.executables = `git ls-files`.split("\n").map{|f| f =~ /^bin\/(.*)/ ? $1 : nil}.compact
|
||||||
|
|||||||
@@ -9,3 +9,4 @@ require "crono/job.rb"
|
|||||||
require "crono/scheduler.rb"
|
require "crono/scheduler.rb"
|
||||||
require "crono/config.rb"
|
require "crono/config.rb"
|
||||||
require "crono/performer_proxy.rb"
|
require "crono/performer_proxy.rb"
|
||||||
|
require "crono/orm/active_record/crono_job.rb"
|
||||||
|
|||||||
8
lib/crono/orm/active_record/crono_job.rb
Normal file
8
lib/crono/orm/active_record/crono_job.rb
Normal file
@@ -0,0 +1,8 @@
|
|||||||
|
require 'active_record'
|
||||||
|
|
||||||
|
module Crono
|
||||||
|
class CronoJob < ActiveRecord::Base
|
||||||
|
self.table_name = "crono_jobs"
|
||||||
|
validates :job_id, presence: true
|
||||||
|
end
|
||||||
|
end
|
||||||
25
spec/orm/active_record/crono_job_spec.rb
Normal file
25
spec/orm/active_record/crono_job_spec.rb
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
require "spec_helper"
|
||||||
|
require "generators/crono/install/templates/migrations/create_crono_jobs.rb"
|
||||||
|
|
||||||
|
ActiveRecord::Base.establish_connection(adapter: 'sqlite3', database: ':memory:')
|
||||||
|
ActiveRecord::Base.logger = Logger.new(STDOUT)
|
||||||
|
CreateActiveAdminComments.up
|
||||||
|
|
||||||
|
describe Crono::CronoJob do
|
||||||
|
let(:valid_attrs) do
|
||||||
|
{
|
||||||
|
job_id: "Perform TestJob every 2 days"
|
||||||
|
}
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should validate presence of job_id" do
|
||||||
|
@crono_job = Crono::CronoJob.new()
|
||||||
|
expect(@crono_job).not_to be_valid
|
||||||
|
end
|
||||||
|
|
||||||
|
it "should save job_id to DB" do
|
||||||
|
Crono::CronoJob.create!(valid_attrs)
|
||||||
|
@crono_job = Crono::CronoJob.where(job_id: valid_attrs[:job_id]).first
|
||||||
|
expect(@crono_job).to be_present
|
||||||
|
end
|
||||||
|
end
|
||||||
Reference in New Issue
Block a user