framingham 0.1.20130710222706 → 0.1.20130711193533
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/README.md +1 -2
- data/Rakefile +16 -0
- data/bin/rake +16 -0
- data/framingham/heartdisease.rb +9 -0
- data/framingham/heartdisease_tests.rb +48 -0
- data/framingham/version.rb +1 -1
- data/framingham.gemspec +2 -1
- data/framingham.rb +0 -2
- metadata +5 -3
data/.gitignore
CHANGED
data/README.md
CHANGED
@@ -22,9 +22,8 @@ Or install it yourself as:
|
|
22
22
|
|
23
23
|
## Usage
|
24
24
|
|
25
|
-
---
|
26
25
|
### Public Class Methods ###
|
27
|
-
![](http://ruby-doc.org/images/brick.png) ::eval(options) →
|
26
|
+
![](http://ruby-doc.org/images/brick.png) ::eval(options) → <code>Hash<<span style="color:purple">Symbol</span>, <span style="color:cadetblue">Numeric</span>></span>{:heart_age, :risk, :normal, :optimal}</code> or Error String
|
28
27
|
|
29
28
|
Evaluates Framingham::Heartdisease score
|
30
29
|
|
data/Rakefile
CHANGED
@@ -1 +1,17 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
|
+
require "rake/testtask"
|
3
|
+
|
4
|
+
task :default => [:build, :test]
|
5
|
+
|
6
|
+
task :build do
|
7
|
+
"bundle install framingham"
|
8
|
+
end
|
9
|
+
|
10
|
+
task :deploy do
|
11
|
+
Rake::Task[:build].execute Rake::Task[:test].execute and sh "gem push framingham.gem"
|
12
|
+
end
|
13
|
+
|
14
|
+
Rake::TestTask.new { |_|
|
15
|
+
_.test_files = FileList['framingham/*_tests.rb']
|
16
|
+
_.verbose = true
|
17
|
+
}
|
data/bin/rake
ADDED
@@ -0,0 +1,16 @@
|
|
1
|
+
#!/usr/bin/env ruby1.9.1
|
2
|
+
#
|
3
|
+
# This file was generated by Bundler.
|
4
|
+
#
|
5
|
+
# The application 'rake' is installed as part of a gem, and
|
6
|
+
# this file is here to facilitate running it.
|
7
|
+
#
|
8
|
+
|
9
|
+
require 'pathname'
|
10
|
+
ENV['BUNDLE_GEMFILE'] ||= File.expand_path("../../Gemfile",
|
11
|
+
Pathname.new(__FILE__).realpath)
|
12
|
+
|
13
|
+
require 'rubygems'
|
14
|
+
require 'bundler/setup'
|
15
|
+
|
16
|
+
load Gem.bin_path('rake', 'rake')
|
data/framingham/heartdisease.rb
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
module Framingham::Heartdisease extend Framingham, self
|
2
|
+
include Framingham
|
2
3
|
|
3
4
|
def eval options = {}
|
4
5
|
begin
|
@@ -70,6 +71,14 @@ end
|
|
70
71
|
|
71
72
|
protected
|
72
73
|
|
74
|
+
def internal_debug _ = {}
|
75
|
+
_ = eval _
|
76
|
+
'%i' % _[:heart_age].round +
|
77
|
+
'%5.1f' % ((1000 * _[:risk]).round / 10.0) +
|
78
|
+
'%5.1f' % ((1000 * _[:normal]).round / 10.0) +
|
79
|
+
'%5.1f' % ((1000 * _[:optimal]).round / 10.0)
|
80
|
+
end
|
81
|
+
|
73
82
|
$, = ", " #default join
|
74
83
|
|
75
84
|
NORMAL = { #default options
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'test/unit'
|
2
|
+
require './framingham'
|
3
|
+
|
4
|
+
class HeartdiseaseTests < Test::Unit::TestCase
|
5
|
+
include Framingham::Heartdisease
|
6
|
+
|
7
|
+
def yellow _
|
8
|
+
"\e[1;7;41;33mFailed:\e[1;3;40m " + _ + " \e[0m"
|
9
|
+
end
|
10
|
+
|
11
|
+
def test_normal
|
12
|
+
assert_equal "30 1.1 1.1 0.7", internal_debug, (yellow "Normal test")
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_normal_male
|
16
|
+
assert_equal "30 1.8 1.8 1.4", internal_debug({gender: :male}), (yellow "gender: :male test")
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_normal_female
|
20
|
+
assert_equal "30 1.1 1.1 0.7", internal_debug({gender: :female}), (yellow "gender: :female test")
|
21
|
+
end
|
22
|
+
|
23
|
+
def test_all_male
|
24
|
+
assert_equal "86 99.7 25.8 20.6", internal_debug({
|
25
|
+
gender: :male,
|
26
|
+
age: 74,
|
27
|
+
blood_pressure: 200,
|
28
|
+
blood_pressure_treatment: true,
|
29
|
+
smoker: true,
|
30
|
+
diabetes: true,
|
31
|
+
body_mass_index: 40
|
32
|
+
}), (yellow "test all male")
|
33
|
+
end
|
34
|
+
|
35
|
+
def test_all_female
|
36
|
+
assert_equal "86 97.6 11.9 8.4", internal_debug({
|
37
|
+
gender: :female,
|
38
|
+
age: 74,
|
39
|
+
blood_pressure: 200,
|
40
|
+
blood_pressure_treatment: true,
|
41
|
+
smoker: true,
|
42
|
+
diabetes: true,
|
43
|
+
body_mass_index: 40
|
44
|
+
}), (yellow "test all female")
|
45
|
+
end
|
46
|
+
|
47
|
+
end
|
48
|
+
|
data/framingham/version.rb
CHANGED
data/framingham.gemspec
CHANGED
@@ -11,7 +11,7 @@ File.open('framingham/version.rb','w'){ |_|
|
|
11
11
|
_.puts " VERSION = \"" + version + "\""
|
12
12
|
_.puts "end"
|
13
13
|
}
|
14
|
-
FileUtils.ln_sf "framingham-" + version + ".gem", "framingham.gem"
|
14
|
+
FileUtils.ln_sf "pkg/framingham-" + version + ".gem", "framingham.gem"
|
15
15
|
|
16
16
|
require 'version'
|
17
17
|
|
@@ -19,6 +19,7 @@ Gem::Specification.new{ |_|
|
|
19
19
|
_.name = "framingham"
|
20
20
|
_.version = Framingham::VERSION
|
21
21
|
_.author = "3PoundHealth"
|
22
|
+
_.homepage = "https://github.com/3poundhealth/framingham#framingham"
|
22
23
|
_.summary = "Gem to implement Framingham Heart Study calculators"
|
23
24
|
_.license = "MIT"
|
24
25
|
_.files = `git ls-files`.split($/)
|
data/framingham.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: framingham
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.20130711193533
|
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: 2013-07-
|
12
|
+
date: 2013-07-11 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|
@@ -54,11 +54,13 @@ files:
|
|
54
54
|
- LICENSE.txt
|
55
55
|
- README.md
|
56
56
|
- Rakefile
|
57
|
+
- bin/rake
|
57
58
|
- framingham.gemspec
|
58
59
|
- framingham.rb
|
59
60
|
- framingham/heartdisease.rb
|
61
|
+
- framingham/heartdisease_tests.rb
|
60
62
|
- framingham/version.rb
|
61
|
-
homepage:
|
63
|
+
homepage: https://github.com/3poundhealth/framingham#framingham
|
62
64
|
licenses:
|
63
65
|
- MIT
|
64
66
|
post_install_message:
|