evrone-ci-common 0.0.2 → 0.0.3

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: 89f9937f07ebd9d634ecd280588b0adbd42f9622
4
- data.tar.gz: 587804a24117a695395807203d1797bdd86ee0c7
3
+ metadata.gz: 1e236f56df8f672b11e1769729818d4aa267444b
4
+ data.tar.gz: 744a36ef77c8d954f77b645410725f9182715be6
5
5
  SHA512:
6
- metadata.gz: e0b8b932d1617fd3f9c327804f0db5d061a738c70494467d022ad0c3fc1abd5f8601e7143a2baf6efd51c4a32512eda519ee342a6edcfedc804b690ec5622ef8
7
- data.tar.gz: 2594eb70a663c38bca897a4fd5a9a6d1a57eeeb85367aff18b372da7c15a8981c327765e26772d4cabcce2e5de0d1f29f6b0d3895ddec6b4f854cacd88e8269e
6
+ metadata.gz: 96fdf4a9e625a2f390d5a05eacc1c87a9a0855292da5b58d335e6a5551feb1a00f27a47b99ff9f25fcd7be64a058517a00a2ffc9aeff730feb20eff44e261a2e
7
+ data.tar.gz: 670866b549fd46589e1dcb4c2c3c8f9afab00dd2448a7a6e3350baac57907a8b325c8d786d3b8245de5a594c94e7becdbf5447cdec65dc03799273dcea77dcfb
@@ -19,6 +19,7 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib"]
20
20
 
21
21
  spec.add_runtime_dependency 'evrone-common-spawn', '0.0.3'
22
+ spec.add_runtime_dependency 'evrone-common-rack-builder', '0.0.2'
22
23
 
23
24
  spec.add_development_dependency "bundler", "~> 1.3"
24
25
  spec.add_development_dependency "rspec"
@@ -0,0 +1,33 @@
1
+ require 'evrone/common/rack/builder'
2
+
3
+ module Evrone
4
+ module CI
5
+ module Common
6
+ module Helper
7
+ module Middlewares
8
+
9
+ def self.included(base)
10
+ base.send :extend, ClassMethods
11
+ end
12
+
13
+ def run_middlewares(*args, &block)
14
+ self.class.builder.to_app(block).call(*args)
15
+ end
16
+ private :run_middlewares
17
+
18
+ module ClassMethods
19
+
20
+ attr_reader :builder
21
+
22
+ def middlewares(&block)
23
+ @builder = Evrone::Common::Rack::Builder.new(&block)
24
+ end
25
+
26
+ end
27
+
28
+ end
29
+ end
30
+ end
31
+ end
32
+ end
33
+
@@ -1,7 +1,7 @@
1
1
  module Evrone
2
2
  module CI
3
3
  module Common
4
- VERSION = "0.0.2"
4
+ VERSION = "0.0.3"
5
5
  end
6
6
  end
7
7
  end
@@ -6,7 +6,8 @@ module Evrone
6
6
  module Common
7
7
 
8
8
  module Helper
9
- autoload :Shell, File.expand_path("../common/helper/shell", __FILE__)
9
+ autoload :Shell, File.expand_path("../common/helper/shell", __FILE__)
10
+ autoload :Middlewares, File.expand_path("../common/helper/middlewares", __FILE__)
10
11
  end
11
12
 
12
13
  autoload :PerformMessageWrapper, File.expand_path("../common/perform_message_wrapper", __FILE__)
@@ -0,0 +1,43 @@
1
+ require 'spec_helper'
2
+
3
+ TestFirstMiddleware = Struct.new(:app) do
4
+ def call(env)
5
+ env << :first
6
+ app.call env
7
+ end
8
+ end
9
+
10
+ TestLastMiddleware = Struct.new(:app) do
11
+ def call(env)
12
+ env << :last
13
+ app.call env
14
+ end
15
+ end
16
+
17
+ class MiddlewaresTest
18
+ include Evrone::CI::Common::Helper::Middlewares
19
+
20
+ middlewares do
21
+ use TestFirstMiddleware
22
+ use TestLastMiddleware
23
+ end
24
+
25
+ def run
26
+ run_middlewares([]) do |env|
27
+ env << :app
28
+ end
29
+ end
30
+
31
+ end
32
+
33
+ describe Evrone::CI::Common::Helper::Middlewares do
34
+ let(:klass) { MiddlewaresTest }
35
+ let(:object) { klass.new }
36
+ subject { object }
37
+
38
+ it "should run defined middlewares" do
39
+
40
+ expect(object.run).to eq [:first, :last, :app]
41
+ end
42
+
43
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: evrone-ci-common
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dmitry Galinsky
@@ -24,6 +24,20 @@ dependencies:
24
24
  - - '='
25
25
  - !ruby/object:Gem::Version
26
26
  version: 0.0.3
27
+ - !ruby/object:Gem::Dependency
28
+ name: evrone-common-rack-builder
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - '='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.2
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - '='
39
+ - !ruby/object:Gem::Version
40
+ version: 0.0.2
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: bundler
29
43
  requirement: !ruby/object:Gem::Requirement
@@ -110,11 +124,13 @@ files:
110
124
  - Rakefile
111
125
  - evrone-ci-common.gemspec
112
126
  - lib/evrone/ci/common.rb
127
+ - lib/evrone/ci/common/helper/middlewares.rb
113
128
  - lib/evrone/ci/common/helper/shell.rb
114
129
  - lib/evrone/ci/common/perform_message_wrapper.rb
115
130
  - lib/evrone/ci/common/version.rb
116
131
  - lib/evrone/ci/csm/git.rb
117
132
  - lib/evrone/ci/csm/git/git_ssh.rb
133
+ - spec/lib/common/helper/middlewares_spec.rb
118
134
  - spec/lib/common/helper/shell_spec.rb
119
135
  - spec/lib/common/perform_message_wrapper_spec.rb
120
136
  - spec/lib/csm/git_spec.rb
@@ -144,6 +160,7 @@ signing_key:
144
160
  specification_version: 4
145
161
  summary: Common code for ci
146
162
  test_files:
163
+ - spec/lib/common/helper/middlewares_spec.rb
147
164
  - spec/lib/common/helper/shell_spec.rb
148
165
  - spec/lib/common/perform_message_wrapper_spec.rb
149
166
  - spec/lib/csm/git_spec.rb