magi 0.0.3 → 0.0.4

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a966ad774bafeb6f1a15e2184944ada595ee0106
4
- data.tar.gz: 792eaf060fd95a3c6e64c1518ac6d1bfce7f015b
3
+ metadata.gz: 38a310270effb9fb28e7bb7d5305c49cf7ed12c3
4
+ data.tar.gz: 68a7ca5195cce218b36f077d15842c01a6a9111e
5
5
  SHA512:
6
- metadata.gz: f06a3977046de0e4ea1762110b7cf897c2bca10559bd128cdb83d4512b33e9b26f93660103d31a4162a0e713f9e75c0779db2f1339bf2771d6454a791f9fefb7
7
- data.tar.gz: 651166b9d78f011ff6047ab3b70b92b9945c371fda85ff2c46e686c4feb94c0f2c88d3be230c8a3262e2a29bb05a73007d531b3972d236ff769cd160515c8119
6
+ metadata.gz: 339609bedc33c6839fbd3ae33e7aa15268ef9f0585cbfadd7ca9f32ab4d0ad453ce5ce80b296e12ca78e88c6b9824946524ddb9d72b575fc09fd9083504c5952
7
+ data.tar.gz: 3f2fd55ab271d85ec648d090079c3b1fa716d945f80d74c6480b5a7d931a2331a9904b8150183e9ccb6b98b220a3b562e6b1de7793806a8abed579566635a8ce
data/Gemfile CHANGED
@@ -5,7 +5,7 @@ gemspec
5
5
  gem "font-awesome-rails"
6
6
  gem "jquery-rails"
7
7
  gem "quiet_assets"
8
- gem "sidekiq"
8
+ gem "resque"
9
9
  gem "slim"
10
10
 
11
11
  group :development, :test do
data/Procfile CHANGED
@@ -1,4 +1,4 @@
1
1
  redis: redis-server
2
2
  rails: rails s
3
- sidekiq: sidekiq
4
- clockwork: clockwork script/clock.rb
3
+ worker: rake resque:work QUEUE="*"
4
+ clock: clockwork script/clock.rb
@@ -1,8 +1,13 @@
1
1
  class BuildWorker
2
- include Sidekiq::Worker
2
+ @queue = name
3
3
 
4
- # Takes a build id and invokes it.
5
- def perform(id)
6
- Build.find(id).start
4
+ class << self
5
+ def perform(id)
6
+ Build.find(id).start
7
+ end
8
+
9
+ def perform_async(id)
10
+ Resque.enqueue(self, id)
11
+ end
7
12
  end
8
13
  end
data/lib/magi/executer.rb CHANGED
@@ -1,4 +1,4 @@
1
- require "tempfile"
1
+ require "open3"
2
2
 
3
3
  module Magi
4
4
  class Executer
@@ -6,26 +6,15 @@ module Magi
6
6
  new(*args).execute
7
7
  end
8
8
 
9
+ attr_reader :script
10
+
9
11
  def initialize(script)
10
12
  @script = script
11
13
  end
12
14
 
13
15
  def execute
14
- { status: status, output: output }
15
- end
16
-
17
- private
18
-
19
- def tempfile
20
- @tempfile ||= Tempfile.new("")
21
- end
22
-
23
- def status
24
- system(@script, out: tempfile, err: tempfile)
25
- end
26
-
27
- def output
28
- tempfile.tap(&:close).open.read
16
+ output, status = Open3.capture2e(script)
17
+ { output: output, status: status.success? }
29
18
  end
30
19
  end
31
20
  end
data/lib/magi/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Magi
2
- VERSION = "0.0.3"
2
+ VERSION = "0.0.4"
3
3
  end
@@ -0,0 +1,3 @@
1
+ require "resque/tasks"
2
+
3
+ task "resque:setup" => :environment
data/magi.gemspec CHANGED
@@ -35,8 +35,8 @@ Gem::Specification.new do |spec|
35
35
  spec.add_dependency "quiet_assets"
36
36
  spec.add_dependency "rails", "3.2.13"
37
37
  spec.add_dependency "rake"
38
+ spec.add_dependency "resque"
38
39
  spec.add_dependency "sass-rails", "~> 3.2.3"
39
- spec.add_dependency "sidekiq"
40
40
  spec.add_dependency "slim"
41
41
  spec.add_dependency "uglifier", ">= 1.0.3"
42
42
  spec.add_development_dependency "bundler", "~> 1.3"
@@ -14,7 +14,7 @@ describe Job do
14
14
 
15
15
  context "with script" do
16
16
  before do
17
- job.config["script"] = "true"
17
+ job.script = "true"
18
18
  end
19
19
 
20
20
  it "starts its job" do
@@ -10,7 +10,7 @@ describe "Builds" do
10
10
  end
11
11
 
12
12
  let(:job) do
13
- FactoryGirl.create(:job)
13
+ FactoryGirl.create(:job, config: { "script" => "true" })
14
14
  end
15
15
 
16
16
  let(:build) do
@@ -42,7 +42,7 @@ describe "Builds" do
42
42
  post "/jobs/#{job.id}/builds", params, env
43
43
  response.status.should == 201
44
44
  response.body.should be_json(Hash)
45
- BuildWorker.jobs.should have(1).queue
45
+ job.builds.should have(1).builds
46
46
  end
47
47
  end
48
48
 
data/spec/spec_helper.rb CHANGED
@@ -5,7 +5,6 @@ ENV["RAILS_ENV"] ||= "test"
5
5
  require File.expand_path("../../config/environment", __FILE__)
6
6
  require "rspec/rails"
7
7
  require "rspec/autorun"
8
- require "sidekiq/testing"
9
8
 
10
9
  RSpec.configure do |config|
11
10
  # If you"re not using ActiveRecord, or you"d prefer not to run each of your
@@ -26,3 +25,5 @@ RSpec.configure do |config|
26
25
  config.include RSpec::JsonMatcher, type: :request
27
26
  config.include ResponseCodeMatchers, type: :request
28
27
  end
28
+
29
+ Resque.inline = true
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: magi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryo Nakamura
@@ -137,33 +137,33 @@ dependencies:
137
137
  - !ruby/object:Gem::Version
138
138
  version: '0'
139
139
  - !ruby/object:Gem::Dependency
140
- name: sass-rails
140
+ name: resque
141
141
  requirement: !ruby/object:Gem::Requirement
142
142
  requirements:
143
- - - ~>
143
+ - - '>='
144
144
  - !ruby/object:Gem::Version
145
- version: 3.2.3
145
+ version: '0'
146
146
  type: :runtime
147
147
  prerelease: false
148
148
  version_requirements: !ruby/object:Gem::Requirement
149
149
  requirements:
150
- - - ~>
150
+ - - '>='
151
151
  - !ruby/object:Gem::Version
152
- version: 3.2.3
152
+ version: '0'
153
153
  - !ruby/object:Gem::Dependency
154
- name: sidekiq
154
+ name: sass-rails
155
155
  requirement: !ruby/object:Gem::Requirement
156
156
  requirements:
157
- - - '>='
157
+ - - ~>
158
158
  - !ruby/object:Gem::Version
159
- version: '0'
159
+ version: 3.2.3
160
160
  type: :runtime
161
161
  prerelease: false
162
162
  version_requirements: !ruby/object:Gem::Requirement
163
163
  requirements:
164
- - - '>='
164
+ - - ~>
165
165
  - !ruby/object:Gem::Version
166
- version: '0'
166
+ version: 3.2.3
167
167
  - !ruby/object:Gem::Dependency
168
168
  name: slim
169
169
  requirement: !ruby/object:Gem::Requirement
@@ -289,6 +289,7 @@ files:
289
289
  - lib/magi/scheduler.rb
290
290
  - lib/magi/version.rb
291
291
  - lib/magi.rb
292
+ - lib/tasks/resque.rake
292
293
  - public/404.html
293
294
  - public/422.html
294
295
  - public/500.html
@@ -330,7 +331,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
330
331
  version: '0'
331
332
  requirements: []
332
333
  rubyforge_project:
333
- rubygems_version: 2.0.2
334
+ rubygems_version: 2.0.0
334
335
  signing_key:
335
336
  specification_version: 4
336
337
  summary: Magi