complex_config 0.19.1 → 0.19.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
  SHA256:
3
- metadata.gz: fe5832112e279c1bdadad2c91d5ba3c6872dbbead84955e46afb93ed317ea254
4
- data.tar.gz: f71125155654cec752772eed831ec0224f35a4a164c8bb98bbd1c9ce44c2969e
3
+ metadata.gz: d9912bf6cc72581ab1ac092dc366b4d9e1fa33b52420ffe7c6abc2a55ed7fc02
4
+ data.tar.gz: 30553c4257559ab024d0fa901a493458b7876dff14e7d0e467a7125aa7c51f01
5
5
  SHA512:
6
- metadata.gz: ed5d657e1335598d5794412dc9a802a5e2c99be3c53d36d788d969bdc84c14bb69bb7cea1e933d05fd090c93eb061eb6c8a779db0d4e29212cc59345d7a69f7c
7
- data.tar.gz: c1e88b402088da14ac41850160a05651a9f59618199dc886fe932e579b4052eab48f05fa0d241600616d395a117732a6a46598e2ea475e2b965b04b20837b5e2
6
+ metadata.gz: fb28ff834517685f7fa1942d2ac0409b93bdca7a26f1bd211d63af3991e7bb99088f6027f6f532f5be191c040e43885a876176b6ba0566aa56146c78a41bc4d7
7
+ data.tar.gz: 6702bd2669f2d91e326d81748207c4e90157c4ce860e1422d3e8700794b6cee2dd18b6e5066e8f1d015f1ca2141ceae18856005395cd9eae7b995f1b3be07748
data/.all_images.yml ADDED
@@ -0,0 +1,17 @@
1
+ dockerfile: |-
2
+ RUN apk add --no-cache build-base git
3
+ RUN gem update --system
4
+ RUN gem install gem_hadar bundler
5
+ script: &script |-
6
+ echo -e "\e[1m"
7
+ ruby -v
8
+ echo -e "\e[0m"
9
+ bundle
10
+ rake test
11
+
12
+ images:
13
+ ruby:3.1-alpine: *script
14
+ ruby:3.0-alpine: *script
15
+ ruby:2.7-alpine: *script
16
+ ruby:2.6-alpine: *script
17
+ ruby:2.5-alpine: *script
data/README.md CHANGED
@@ -142,86 +142,6 @@ Here is the `ComplexConfig::Plugins::MONEY` plugin for example:
142
142
  end
143
143
  end
144
144
 
145
- ## Changes
146
-
147
- * 2019-03-18 Release 0.17.0
148
- * Improve error message for missing encryption key
149
- * 2019-03-14 Release 0.16.0
150
- * Enable `- trim_mode` for ERB in yml files
151
- * Allow `to_json` calls on settings
152
- * 2019-03-14 Release 0.15.1
153
- * Fix shared feature for empy top level settings
154
- * 2018-12-07 Release 0.15.0
155
- * Allow inplace recrypt for encrypted files
156
- * 2018-07-06 Release 0.14.0
157
- * Better support for rails encryption
158
- * Adds `complex_config` executable.
159
- * 2018-02-23 Release 0.13.3
160
- Change evaluation order of key sources
161
- * 2018-02-23 Release 0.13.2
162
- Refactor key sources
163
- * 2018-02-09 Release 0.13.1
164
- Improve error reporting for encrypted files (missing key)
165
- * 2018-01-26 Release 0.13.0
166
- Improve `write_config` interface and more tests
167
- * 2017-11-17 Release 0.12.2
168
- Output string keys on top level configs, Rails don't like it otherwise.
169
- * 2017-11-17 Release 0.12.1
170
- Do not output newlines when writing encrypted configs, Rails don't like it.
171
- * 2017-11-16 Release 0.12.0
172
- * Supports writing of configurations (encrypted or unencrypted)
173
- * 2017-11-16 Release 0.11.3
174
- * Small bugfix
175
- * 2017-10-30 Release 0.11.2
176
- * Small bugfix
177
- * 2017-10-27 Release 0.11.1
178
- * Small bugfix
179
- * 2017-10-27 Release 0.11.0
180
- * Support encrypted config files a la rails
181
- * 2017-02-02 Release 0.10.0
182
- * `cc.foo?`/`complex_config.foo?` returns config or nil (when not existant)
183
- * 2017-01-23 Release 0.9.2
184
- * Improve performance for proxy objects
185
- * 2016-11-22 Release 0.9.1
186
- * Fix travis builds
187
- * 2016-11-22 Release 0.9.0
188
- * Extract ComplexConfig::Provider::Shortcuts into its own module
189
- * 2016-07-21 Release 0.8.0
190
- * `ComplexConfig::Settings` can be replaced with `replace_attributes` which
191
- allows for easier testing by calling:
192
- `cc.foo.replace_attributes(new: 'settings')`.
193
- * 2016-07-15 Release 0.7.0
194
- * Slim down `ComplexConfig::Settings` interface to avoid clashes with methods
195
- mixed into `Object` class or `Enumerable#instance_methods`
196
- * 2016-07-15 Release 0.6.0
197
- * Depend on mize gem for caching.
198
- * 2016-06-23 Release 0.5.2
199
- * Resolve index access via the plugin code path, so foo.bar and foo[:bar]
200
- have the same result for a plugin key.
201
- * 2015-11-19 Release 0.5.0
202
- * Support rails reloading behaviour.
203
- * Allow configuration via ComplexConfig.configure(&block) method.
204
- * 2015-11-17 Release 0.4.0
205
- * Add root object for configuration, e. g. cc.name instead of cc(name).
206
- * 2015-11-03 Release 0.3.1
207
- * Add missing dependency to tins.
208
- * 2015-11-03 Release 0.3.0
209
- * Add nicer default output for settings.
210
- * 2015-03-24 Release 0.2.3
211
- * Fix typo in load error case of money.
212
- * 2015-02-25 Release 0.2.2
213
- * Fix an issue with path interpolation.
214
- * 2015-01-28 Release 0.2.1
215
- * Turn monetize into a runtime dependency for the plugin.
216
- * 2015-01-27 Release 0.2.0
217
- * Fix for attributes named like Enumerable methods
218
- * Make tests run on JRuby
219
- * 2015-01-01 Release 0.1.1
220
- * Some small fixes for handling of arrays
221
- * 2014-12-15 Release 0.1.0
222
- * Freeze configuration by default.
223
- * 2014-12-12 Release 0.0.0
224
-
225
145
  ## Download
226
146
 
227
147
  The homepage of this library is located at
data/Rakefile CHANGED
@@ -13,6 +13,8 @@ GemHadar do
13
13
  test_dir 'spec'
14
14
  ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', 'coverage', '.rvmrc',
15
15
  '.AppleDouble', '.DS_Store', '.byebug_history', 'errors.lst', 'tags'
16
+ package_ignore '.all_images', '.utilsrc', '.rspec', '.tool-versions',
17
+ '.gitignore'
16
18
 
17
19
  readme 'README.md'
18
20
  title "#{name.camelize} -- configuration library"
@@ -25,6 +27,7 @@ GemHadar do
25
27
  development_dependency 'simplecov'
26
28
  development_dependency 'rspec'
27
29
  development_dependency 'monetize'
30
+ development_dependency 'utils'
28
31
  end
29
32
 
30
33
  task :default => :spec
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.19.1
1
+ 0.19.4
@@ -1,23 +1,23 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: complex_config 0.19.1 ruby lib
2
+ # stub: complex_config 0.19.4 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "complex_config".freeze
6
- s.version = "0.19.1"
6
+ s.version = "0.19.4"
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
10
10
  s.authors = ["Florian Frank".freeze]
11
- s.date = "2021-04-09"
11
+ s.date = "2022-07-11"
12
12
  s.description = "This library allows you to access configuration files via a simple interface".freeze
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["complex_config".freeze]
15
15
  s.extra_rdoc_files = ["README.md".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze]
16
- s.files = [".gitignore".freeze, ".rspec".freeze, ".tool-versions".freeze, ".travis.yml".freeze, ".utilsrc".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/complex_config".freeze, "complex_config.gemspec".freeze, "config/products.yml".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze, "spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/config/broken_config.yml".freeze, "spec/config/config.yml".freeze, "spec/config/master.key".freeze, "spec/config/with-key-file.yml.enc".freeze, "spec/config/with-key-file.yml.key".freeze, "spec/config/without-key-file.yml.enc".freeze, "spec/spec_helper.rb".freeze]
16
+ s.files = [".all_images.yml".freeze, "COPYING".freeze, "Gemfile".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/complex_config".freeze, "complex_config.gemspec".freeze, "config/products.yml".freeze, "lib/complex_config.rb".freeze, "lib/complex_config/config.rb".freeze, "lib/complex_config/encryption.rb".freeze, "lib/complex_config/errors.rb".freeze, "lib/complex_config/key_source.rb".freeze, "lib/complex_config/plugins.rb".freeze, "lib/complex_config/plugins/enable.rb".freeze, "lib/complex_config/plugins/money.rb".freeze, "lib/complex_config/plugins/uri.rb".freeze, "lib/complex_config/provider.rb".freeze, "lib/complex_config/provider/shortcuts.rb".freeze, "lib/complex_config/proxy.rb".freeze, "lib/complex_config/railtie.rb".freeze, "lib/complex_config/rude.rb".freeze, "lib/complex_config/settings.rb".freeze, "lib/complex_config/shortcuts.rb".freeze, "lib/complex_config/version.rb".freeze, "spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/config/broken_config.yml".freeze, "spec/config/config.yml".freeze, "spec/config/config_with_alias.yml".freeze, "spec/config/legacy_classes.yml".freeze, "spec/config/master.key".freeze, "spec/config/with-key-file.yml.enc".freeze, "spec/config/with-key-file.yml.key".freeze, "spec/config/without-key-file.yml.enc".freeze, "spec/spec_helper.rb".freeze]
17
17
  s.homepage = "https://github.com/flori/complex_config".freeze
18
18
  s.licenses = ["Apache-2.0".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "ComplexConfig -- configuration library".freeze, "--main".freeze, "README.md".freeze]
20
- s.rubygems_version = "3.2.15".freeze
20
+ s.rubygems_version = "3.3.17".freeze
21
21
  s.summary = "configuration library".freeze
22
22
  s.test_files = ["spec/complex_config/config_spec.rb".freeze, "spec/complex_config/encryption_spec.rb".freeze, "spec/complex_config/key_source_spec.rb".freeze, "spec/complex_config/plugins_spec.rb".freeze, "spec/complex_config/provider_spec.rb".freeze, "spec/complex_config/settings_spec.rb".freeze, "spec/complex_config/shortcuts_spec.rb".freeze, "spec/spec_helper.rb".freeze]
23
23
 
@@ -26,20 +26,22 @@ Gem::Specification.new do |s|
26
26
  end
27
27
 
28
28
  if s.respond_to? :add_runtime_dependency then
29
- s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
29
+ s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
30
30
  s.add_development_dependency(%q<rake>.freeze, [">= 0"])
31
31
  s.add_development_dependency(%q<simplecov>.freeze, [">= 0"])
32
32
  s.add_development_dependency(%q<rspec>.freeze, [">= 0"])
33
33
  s.add_development_dependency(%q<monetize>.freeze, [">= 0"])
34
+ s.add_development_dependency(%q<utils>.freeze, [">= 0"])
34
35
  s.add_runtime_dependency(%q<json>.freeze, [">= 0"])
35
36
  s.add_runtime_dependency(%q<tins>.freeze, [">= 0"])
36
37
  s.add_runtime_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
37
38
  else
38
- s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.11.0"])
39
+ s.add_dependency(%q<gem_hadar>.freeze, ["~> 1.12.0"])
39
40
  s.add_dependency(%q<rake>.freeze, [">= 0"])
40
41
  s.add_dependency(%q<simplecov>.freeze, [">= 0"])
41
42
  s.add_dependency(%q<rspec>.freeze, [">= 0"])
42
43
  s.add_dependency(%q<monetize>.freeze, [">= 0"])
44
+ s.add_dependency(%q<utils>.freeze, [">= 0"])
43
45
  s.add_dependency(%q<json>.freeze, [">= 0"])
44
46
  s.add_dependency(%q<tins>.freeze, [">= 0"])
45
47
  s.add_dependency(%q<mize>.freeze, ["~> 0.3", ">= 0.3.4"])
@@ -1,5 +1,4 @@
1
1
  begin
2
- require 'forwardable' # XXX monetize forgets to require this
3
2
  require 'monetize'
4
3
  rescue LoadError
5
4
  if $DEBUG
@@ -99,7 +99,12 @@ class ComplexConfig::Provider
99
99
  "configuration file #{pathname.to_s.inspect} is missing"
100
100
  end
101
101
  results = datas.map { |d| evaluate(pathname, d) }
102
- hashes = results.map { |r| ::YAML.load(r, pathname) }
102
+ hashes =
103
+ if ::Psych::VERSION < "4"
104
+ results.map { |r| ::YAML.load(r, pathname) }
105
+ else
106
+ results.map { |r| ::YAML.unsafe_load(r, filename: pathname) }
107
+ end
103
108
  settings = ComplexConfig::Settings.build(name, hashes.shift)
104
109
  hashes.each { |h| settings.attributes_update(h) }
105
110
  if shared = settings.shared?
@@ -118,8 +118,8 @@ class ComplexConfig::Settings < BasicObject
118
118
  to_h.to_yaml
119
119
  end
120
120
 
121
- def to_json
122
- to_h.to_json
121
+ def to_json(*a)
122
+ to_h.to_json(*a)
123
123
  end
124
124
 
125
125
  def size
@@ -1,6 +1,6 @@
1
1
  module ComplexConfig
2
2
  # ComplexConfig version
3
- VERSION = '0.19.1'
3
+ VERSION = '0.19.4'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
@@ -18,7 +18,7 @@ RSpec.describe ComplexConfig::Encryption do
18
18
  end
19
19
 
20
20
  it 'can encrypt' do
21
- expect(enc.encrypt(value)).to match /\A.+--.+--.+==\z/
21
+ expect(enc.encrypt(value)).to match(/\A.+--.+--.+==\z/)
22
22
  end
23
23
 
24
24
  it 'can decrypt' do
@@ -108,6 +108,13 @@ RSpec.describe ComplexConfig::Provider do
108
108
  expect { described_class.config(asset('broken_config.yml')) }.to\
109
109
  raise_error(ComplexConfig::ConfigurationSyntaxError)
110
110
  end
111
+
112
+ it 'can read a configuration file with YAML legacy class' do
113
+ settings = described_class.config(asset('legacy_classes.yml'))
114
+ expect(settings).to be_a ComplexConfig::Settings
115
+ expect(settings.symbol).to eq :symbol
116
+ expect(settings.date).to be_a Date
117
+ end
111
118
  end
112
119
 
113
120
  context 'writing configurations' do
@@ -269,6 +276,18 @@ RSpec.describe ComplexConfig::Provider do
269
276
  end
270
277
  end
271
278
 
279
+ context 'handling configuration files with aliases (considered unsafe)' do
280
+ before do
281
+ described_class.config_dir = Pathname.new(__FILE__) + '../../config'
282
+ end
283
+
284
+ it 'reads yaml files with aliases just fine' do
285
+ expect(
286
+ described_class.config(asset('config_with_alias.yml')).specific.extended
287
+ ).to be true
288
+ end
289
+ end
290
+
272
291
  context 'evaluating configuration files with ERB' do
273
292
  it 'evaluates a config file correctly' do
274
293
  expect(
@@ -122,6 +122,10 @@ EOT
122
122
  EOT
123
123
  end
124
124
 
125
+ it 'can be converted into JSON' do
126
+ expect(settings.to_json).to eq '{"foo":{"bar":{"baz":true},"qux":"quux"}}'
127
+ end
128
+
125
129
  it 'raises exception if expected attribute is missing' do
126
130
  expect { settings.nix }.to raise_error(ComplexConfig::AttributeMissing)
127
131
  end
@@ -0,0 +1,6 @@
1
+ common: &common
2
+ extended: true
3
+
4
+ specific:
5
+ <<: *common
6
+ foo: true
@@ -0,0 +1,2 @@
1
+ symbol: :symbol
2
+ date: <%= Date.today %>
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: complex_config
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.19.1
4
+ version: 0.19.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-04-09 00:00:00.000000000 Z
11
+ date: 2022-07-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: gem_hadar
@@ -16,14 +16,14 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 1.11.0
19
+ version: 1.12.0
20
20
  type: :development
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 1.11.0
26
+ version: 1.12.0
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
@@ -80,6 +80,20 @@ dependencies:
80
80
  - - ">="
81
81
  - !ruby/object:Gem::Version
82
82
  version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: utils
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
98
  name: json
85
99
  requirement: !ruby/object:Gem::Requirement
@@ -153,11 +167,7 @@ extra_rdoc_files:
153
167
  - lib/complex_config/shortcuts.rb
154
168
  - lib/complex_config/version.rb
155
169
  files:
156
- - ".gitignore"
157
- - ".rspec"
158
- - ".tool-versions"
159
- - ".travis.yml"
160
- - ".utilsrc"
170
+ - ".all_images.yml"
161
171
  - COPYING
162
172
  - Gemfile
163
173
  - README.md
@@ -192,6 +202,8 @@ files:
192
202
  - spec/complex_config/shortcuts_spec.rb
193
203
  - spec/config/broken_config.yml
194
204
  - spec/config/config.yml
205
+ - spec/config/config_with_alias.yml
206
+ - spec/config/legacy_classes.yml
195
207
  - spec/config/master.key
196
208
  - spec/config/with-key-file.yml.enc
197
209
  - spec/config/with-key-file.yml.key
@@ -220,7 +232,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
220
232
  - !ruby/object:Gem::Version
221
233
  version: '0'
222
234
  requirements: []
223
- rubygems_version: 3.2.15
235
+ rubygems_version: 3.3.17
224
236
  signing_key:
225
237
  specification_version: 4
226
238
  summary: configuration library
data/.gitignore DELETED
@@ -1,10 +0,0 @@
1
- .*.sw[pon]
2
- .AppleDouble
3
- .DS_Store
4
- .byebug_history
5
- .rvmrc
6
- Gemfile.lock
7
- coverage
8
- errors.lst
9
- pkg
10
- tags
data/.rspec DELETED
@@ -1 +0,0 @@
1
- --color
data/.tool-versions DELETED
@@ -1 +0,0 @@
1
- ruby 3.0.1
data/.travis.yml DELETED
@@ -1,16 +0,0 @@
1
- rvm:
2
- - 2.1
3
- - 2.2
4
- - 2.3
5
- - 2.4
6
- - 2.5
7
- - 2.6
8
- - 2.7
9
- - 3.0
10
- - ruby-head
11
- - jruby-head
12
- sudo: false
13
- matrix:
14
- allow_failures:
15
- - rvm: ruby-head
16
- - rvm: jruby-head
data/.utilsrc DELETED
@@ -1,26 +0,0 @@
1
- # vim: set ft=ruby:
2
-
3
- search do
4
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
5
- skip_files /(\A\.|\.sw[pon]\z|\.(log|fnm|jpg|jpeg|png|pdf|svg)\z|tags|~\z)/i
6
- end
7
-
8
- discover do
9
- prune_dirs /\A(\.svn|\.git|CVS|tmp|tags|coverage|pkg)\z/
10
- skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
11
- binary false
12
- end
13
-
14
- strip_spaces do
15
- prune_dirs /\A(\..*|CVS|pkg)\z/
16
- skip_files /(\A\.|\.sw[pon]\z|\.log\z|~\z)/
17
- end
18
-
19
- probe do
20
- test_framework :rspec
21
- #include_dirs 'features'
22
- end
23
-
24
- ssh_tunnel do
25
- terminal_multiplexer :tmux
26
- end