zillion 0.1.1 → 0.1.2

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: 7fef69b4dcb670819f377e543956b6cabaa4c6e0
4
- data.tar.gz: 49a029d8c973d5f1334d42537f43165512c11a71
3
+ metadata.gz: 8276136e7e27c0603ec082e51760f7a554b4b01c
4
+ data.tar.gz: 53a3b14a5e67fac2d7e594930a6c9fc4e4039398
5
5
  SHA512:
6
- metadata.gz: c49e7090c1c6df0ee532eef34287e19dc15ee20281b384b9765acc2beefe079975ddd87fbf6bee56f347fc123f43e478c2c40ffe2e4b800590002727d83202f4
7
- data.tar.gz: d4bf6e6958fa1581f6a018f2c24c71b4d062ae4ad2b2772c64bdc9545a63c8baeb0c3ac7c7f235e378e87e42e72d45bdc5116e0816d48bc44b6322a0475d8bb1
6
+ metadata.gz: 0fb31ace43c7617b33d2521bb67675d9fa4748cf46923e49ead862546aa6611169bb5a1da0ceeae1817d3ff72e2947d8cd3226ae432fba9d8cd0400fdf62bb9e
7
+ data.tar.gz: 9f0964b5a4412bc0afa34217eb9f9b1173ca1a79dcfdf7ac9f92e127498e45766be55c4e794e613b277fd791bed93634f0124d99f9cfc56895f41fc0857cf187
@@ -65,6 +65,12 @@ class PlanFinder
65
65
  sorted_available_plans.first
66
66
  end
67
67
 
68
+ def best_plan_excluding(*plan_list)
69
+ return nil if available_plans.empty?
70
+ list = sorted_available_plans.select { |plan| !plan_list.include?(plan.key.to_s) }
71
+ list.first
72
+ end
73
+
68
74
  def monthly_fee_for_best_plan
69
75
  best_plan.monthly_fee_for(@counts)
70
76
  end
data/spec/mapper_spec.rb CHANGED
@@ -124,4 +124,18 @@ describe 'PlanFinder' do
124
124
 
125
125
  end
126
126
 
127
+ describe '#best_plan_excluding' do
128
+
129
+ it 'returns nil if over all limits' do
130
+ finder = PlanFinder.init(mapper).new({ products: 250 })
131
+ expect(finder.best_plan_excluding('small')).to eql(nil)
132
+ end
133
+
134
+ it 'returns lower plan exluding the one in list, if under the lowest limit' do
135
+ finder = PlanFinder.init(mapper).new({ products: 50 })
136
+ expect(finder.best_plan_excluding('small')).to eql(mapper.get(:medium))
137
+ end
138
+
139
+ end
140
+
127
141
  end
data/zillion.gemspec CHANGED
@@ -3,7 +3,7 @@
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "zillion"
6
- s.version = '0.1.1'
6
+ s.version = '0.1.2'
7
7
  s.platform = Gem::Platform::RUBY
8
8
  s.authors = ['Tomás Pollak']
9
9
  s.email = ['tomas@forkhq.com']
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: zillion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomás Pollak
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-07-26 00:00:00.000000000 Z
11
+ date: 2018-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler