Add an ActiveRecord model CronoJob

This commit is contained in:
Dzmitry Plashchynski
2015-03-06 23:16:43 +02:00
parent 20135b87ae
commit 05113b57ee
5 changed files with 48 additions and 0 deletions

View File

@@ -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)

View File

@@ -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

View File

@@ -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"

View 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

View 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