mirror of
https://github.com/plashchynski/crono.git
synced 2026-03-22 09:30:00 +01:00
Add an ActiveRecord model CronoJob
This commit is contained in:
12
Gemfile.lock
12
Gemfile.lock
@@ -3,6 +3,7 @@ PATH
|
||||
specs:
|
||||
crono (0.5.2)
|
||||
activejob (~> 4.0)
|
||||
activerecord (~> 4.0)
|
||||
activesupport (~> 4.0)
|
||||
|
||||
GEM
|
||||
@@ -11,12 +12,21 @@ GEM
|
||||
activejob (4.2.0)
|
||||
activesupport (= 4.2.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)
|
||||
i18n (~> 0.7)
|
||||
json (~> 1.7, >= 1.7.7)
|
||||
minitest (~> 5.1)
|
||||
thread_safe (~> 0.3, >= 0.3.4)
|
||||
tzinfo (~> 1.1)
|
||||
arel (6.0.0)
|
||||
builder (3.2.2)
|
||||
diff-lcs (1.2.5)
|
||||
globalid (0.3.3)
|
||||
activesupport (>= 4.1.0)
|
||||
@@ -37,6 +47,7 @@ GEM
|
||||
diff-lcs (>= 1.2.0, < 2.0)
|
||||
rspec-support (~> 3.2.0)
|
||||
rspec-support (3.2.2)
|
||||
sqlite3 (1.3.10)
|
||||
thread_safe (0.3.4)
|
||||
timecop (0.7.3)
|
||||
tzinfo (1.2.2)
|
||||
@@ -50,4 +61,5 @@ DEPENDENCIES
|
||||
crono!
|
||||
rake (~> 10.0)
|
||||
rspec (~> 3.0)
|
||||
sqlite3
|
||||
timecop (~> 0.7)
|
||||
|
||||
@@ -15,10 +15,12 @@ Gem::Specification.new do |s|
|
||||
|
||||
s.add_runtime_dependency "activejob", "~> 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 "bundler", ">= 1.0.0"
|
||||
s.add_development_dependency "rspec", "~> 3.0"
|
||||
s.add_development_dependency "timecop", "~> 0.7"
|
||||
s.add_development_dependency "sqlite3"
|
||||
|
||||
s.files = `git ls-files`.split("\n")
|
||||
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/config.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