ski_binding_calculator 0.6.7 → 0.6.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,5 @@
1
1
  require 'ski_binding_calculator/config_loader'
2
+ require 'active_support/core_ext/hash/indifferent_access'
2
3
 
3
4
  class SkiBinding::Calculator
4
5
  extend SkiBinding::ConfigLoader
@@ -13,17 +14,18 @@ class SkiBinding::Calculator
13
14
 
14
15
  private
15
16
  def self.prep_attributes(attrs)
17
+ attrs = attrs.with_indifferent_access
16
18
  hashy = {}
17
- hashy[:weight] = attrs[:weight].to_f || attrs["weight"].to_f
18
- if hashy[:weight] < 10
19
+ hashy[:weight] = attrs[:weight].to_f
20
+ if hashy[:weight] < 10.0
19
21
  raise ArgumentError, "Weight must be at least 10kg"
20
22
  end
21
- hashy[:height] = attrs[:height].to_f || attrs["height"].to_f
22
- hashy[:sole_length] = attrs[:sole_length].to_f || attrs["sole_length"].to_f
23
- hashy[:birthday_year] = attrs[:birthday_year].to_i || attrs["birthday_year"].to_i
24
- hashy[:birthday_month] = attrs[:birthday_month].to_i || attrs["birthday_month"].to_i
25
- hashy[:birthday_day] = attrs[:birthday_day].to_i || attrs["birthday_day"].to_i
26
- hashy[:type] = attrs[:type] || attrs["type"]
23
+ hashy[:height] = attrs[:height].to_f
24
+ hashy[:sole_length] = attrs[:sole_length].to_f
25
+ hashy[:birthday_year] = attrs[:birthday_year].to_i
26
+ hashy[:birthday_month] = attrs[:birthday_month].to_i
27
+ hashy[:birthday_day] = attrs[:birthday_day].to_i
28
+ hashy[:type] = attrs[:type]
27
29
  hashy
28
30
  end
29
31
 
@@ -1,7 +1,7 @@
1
1
  Gem::Specification.new do |s|
2
2
 
3
3
  s.name = 'ski_binding_calculator'
4
- s.version = '0.6.7'
4
+ s.version = '0.6.8'
5
5
  s.summary = "Ski Binding Calculator"
6
6
  s.description = "Calculates the z-value according to ISO 11088."
7
7
  s.authors = ["Jonas Ruef, Felix Langenegger"]
@@ -14,6 +14,7 @@ Gem::Specification.new do |s|
14
14
  s.add_development_dependency "simplecov", "~> 0.7.1"
15
15
  s.add_development_dependency "timecop", "~> 0.6.3"
16
16
  s.add_development_dependency "fuubar", "~> 1.1.1"
17
+ s.add_development_dependency "activesupport", "~> 4.0.0"
17
18
 
18
19
  s.files = Dir.glob("{config,lib,spec}/**/*")
19
20
  s.files += %w(Rakefile ski_binding_calculator.gemspec)
@@ -15,6 +15,15 @@ describe SkiBinding::Calculator do
15
15
  :birthday_month => "01",
16
16
  :birthday_day => "01" }
17
17
  end
18
+ subject(:skiers_parameters_string_keys) do
19
+ { "type" => "Type2",
20
+ "weight" => "70",
21
+ "height" => "170",
22
+ "sole_length" => "315",
23
+ "birthday_year" => "1983",
24
+ "birthday_month" => "01",
25
+ "birthday_day" => "01" }
26
+ end
18
27
  subject(:expected_preped) do
19
28
  { :type => "Type2",
20
29
  :weight => 70.0,
@@ -58,6 +67,11 @@ describe SkiBinding::Calculator do
58
67
 
59
68
  it { calculated_preped.should == expected_preped }
60
69
 
70
+ context "when hash keys are strings" do
71
+ let(:parameters) { skiers_parameters_string_keys}
72
+ it { calculated_preped.should == expected_preped }
73
+ end
74
+
61
75
  context "when weight < 10kg" do
62
76
  let(:parameters) do
63
77
  skiers_parameters[:weight] = 9
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ski_binding_calculator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.7
4
+ version: 0.6.8
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -91,6 +91,22 @@ dependencies:
91
91
  - - ~>
92
92
  - !ruby/object:Gem::Version
93
93
  version: 1.1.1
94
+ - !ruby/object:Gem::Dependency
95
+ name: activesupport
96
+ requirement: !ruby/object:Gem::Requirement
97
+ none: false
98
+ requirements:
99
+ - - ~>
100
+ - !ruby/object:Gem::Version
101
+ version: 4.0.0
102
+ type: :development
103
+ prerelease: false
104
+ version_requirements: !ruby/object:Gem::Requirement
105
+ none: false
106
+ requirements:
107
+ - - ~>
108
+ - !ruby/object:Gem::Version
109
+ version: 4.0.0
94
110
  description: Calculates the z-value according to ISO 11088.
95
111
  email: support@fadendaten.ch
96
112
  executables: []