evrone-ci-common 0.0.2 → 0.0.3

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