penchant 0.2.23 → 0.2.24

Sign up to get free protection for your applications and to get access to all the features.
@@ -322,6 +322,36 @@ Feature: Gemfiles
322
322
  gem "two", {:require=>nil}
323
323
  """
324
324
 
325
+ Scenario: Define a pair of opposites in the other order
326
+ Given I have the file "Gemfile.penchant" with the content:
327
+ """
328
+ opposites :local, :remote
329
+ defaults_for env(:local), :path => '../%s'
330
+
331
+ property(:github) { |name| { :git => "git://github.com/#{name}/%s.git" } }
332
+
333
+ env :remote do
334
+ gem 'one', :github => 'johnbintz', :require => nil
335
+ end
336
+ env :local do
337
+ gem 'two', :path => '../%s', :require => nil
338
+ end
339
+ """
340
+ When I rebuild the Gemfile for "local" mode
341
+ Then the file "Gemfile" should have the following content:
342
+ """
343
+ # generated by penchant, environment: local
344
+ gem "one", {:path=>"../one", :require=>nil}
345
+ gem "two", {:path=>"../two", :require=>nil}
346
+ """
347
+ When I rebuild the Gemfile for "remote" mode
348
+ Then the file "Gemfile" should have the following content:
349
+ """
350
+ # generated by penchant, environment: remote
351
+ gem "one", {:git=>"git://github.com/johnbintz/one.git", :require=>nil}
352
+ gem "two", {:require=>nil}
353
+ """
354
+
325
355
  Scenario: Override defaults for an environment
326
356
  Given I have the file "Gemfile.penchant" with the content:
327
357
  """
@@ -197,7 +197,10 @@ module Penchant
197
197
  def defaults_for(*args)
198
198
  defaults = args.pop
199
199
 
200
- args.flatten.each { |gem| @defaults[gem.to_s] = defaults.dup }
200
+ args.flatten.each do |gem|
201
+ @defaults[gem.to_s] ||= {}
202
+ @defaults[gem.to_s].merge!(defaults)
203
+ end
201
204
  end
202
205
 
203
206
  protected
@@ -1,3 +1,3 @@
1
1
  module Penchant
2
- VERSION = "0.2.23"
2
+ VERSION = "0.2.24"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: penchant
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.23
4
+ version: 0.2.24
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-09-14 00:00:00.000000000 Z
12
+ date: 2012-10-04 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -199,7 +199,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
199
199
  version: '0'
200
200
  segments:
201
201
  - 0
202
- hash: 2360032587759944188
202
+ hash: -3136912616894151920
203
203
  required_rubygems_version: !ruby/object:Gem::Requirement
204
204
  none: false
205
205
  requirements:
@@ -208,7 +208,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
208
208
  version: '0'
209
209
  segments:
210
210
  - 0
211
- hash: 2360032587759944188
211
+ hash: -3136912616894151920
212
212
  requirements: []
213
213
  rubyforge_project: penchant
214
214
  rubygems_version: 1.8.23