magi 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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