ndfrt 0.0.1 → 0.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +6 -0
- data/Gemfile +10 -0
- data/Gemfile.lock +28 -0
- data/lib/ndfrt.rb +1 -1
- data/lib/ndfrt/concept.rb +38 -0
- data/lib/ndfrt/interaction.rb +24 -0
- data/lib/ndfrt/version.rb +3 -0
- data/ndfrt.gemspec +27 -0
- metadata +13 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 7fd7cff6e15bc8187df7f38539bdc8ea075d6c83
|
4
|
+
data.tar.gz: 4c2f3751cde4f07f972d87bf0266df5b4210469d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0cbd2f3fe7d1a9c9660619b8f4124a44382a9180f08bef0764449f358d96f64d41879cea87ccd218f468fd88ce804d053a1c2d495c213526d678b936521ccc1b
|
7
|
+
data.tar.gz: 7cb75fcd6cef67c5477d945eb9392217215d207d724fe8e96354a57e550e58ae2bbd7dd286a3314533ce3d087c29070d54ca7a890a9b8e7271e21441934ad3c2
|
data/.travis.yml
ADDED
data/Gemfile
ADDED
data/Gemfile.lock
ADDED
@@ -0,0 +1,28 @@
|
|
1
|
+
GEM
|
2
|
+
remote: https://rubygems.org/
|
3
|
+
specs:
|
4
|
+
diff-lcs (1.2.4)
|
5
|
+
mini_portile (0.5.2)
|
6
|
+
nokogiri (1.6.0)
|
7
|
+
mini_portile (~> 0.5.0)
|
8
|
+
nori (2.3.0)
|
9
|
+
rake (10.1.0)
|
10
|
+
rspec (2.14.1)
|
11
|
+
rspec-core (~> 2.14.0)
|
12
|
+
rspec-expectations (~> 2.14.0)
|
13
|
+
rspec-mocks (~> 2.14.0)
|
14
|
+
rspec-core (2.14.7)
|
15
|
+
rspec-expectations (2.14.3)
|
16
|
+
diff-lcs (>= 1.1.3, < 2.0)
|
17
|
+
rspec-mocks (2.14.4)
|
18
|
+
titleize (1.3.0)
|
19
|
+
|
20
|
+
PLATFORMS
|
21
|
+
ruby
|
22
|
+
|
23
|
+
DEPENDENCIES
|
24
|
+
nokogiri
|
25
|
+
nori
|
26
|
+
rake
|
27
|
+
rspec
|
28
|
+
titleize
|
data/lib/ndfrt.rb
CHANGED
@@ -0,0 +1,38 @@
|
|
1
|
+
class NDFRT
|
2
|
+
class Concept
|
3
|
+
attr_accessor :name, :nui, :kind
|
4
|
+
|
5
|
+
def initialize concept_hash
|
6
|
+
unless [:concept_name, :concept_nui, :concept_kind].all? { |k| concept_hash.has_key? k }
|
7
|
+
raise ArgumentError, "You must supply a hash with the conecept's name, nui and kind"
|
8
|
+
end
|
9
|
+
@name = concept_hash[:concept_name].capitalize
|
10
|
+
@nui = concept_hash[:concept_nui]
|
11
|
+
@kind = titleize_kind concept_hash[:concept_kind]
|
12
|
+
end
|
13
|
+
|
14
|
+
def to_s
|
15
|
+
name
|
16
|
+
end
|
17
|
+
|
18
|
+
def == concept
|
19
|
+
self.instance_variables.each do |i|
|
20
|
+
equal = (self.instance_variable_get(i) == concept.instance_variable_get(i))
|
21
|
+
return equal if !equal
|
22
|
+
end
|
23
|
+
true
|
24
|
+
end
|
25
|
+
|
26
|
+
def extended_information
|
27
|
+
NDFRT.new.get_info self.nui
|
28
|
+
end
|
29
|
+
alias_method :extended_info, :extended_information
|
30
|
+
|
31
|
+
private
|
32
|
+
|
33
|
+
def titleize_kind str
|
34
|
+
str.split("_")[0...-1].map(&:capitalize).join(" ") if str.is_a? String
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,24 @@
|
|
1
|
+
class NDFRT
|
2
|
+
class Interaction
|
3
|
+
attr_accessor :drugs, :nui, :severity
|
4
|
+
|
5
|
+
def initialize interaction_hash
|
6
|
+
concepts = interaction_hash[:group_concepts][:concept]
|
7
|
+
|
8
|
+
@drugs = extract_drugs concepts
|
9
|
+
@nui = extract_interaction_id concepts
|
10
|
+
@severity = interaction_hash[:severity]
|
11
|
+
end
|
12
|
+
|
13
|
+
private
|
14
|
+
|
15
|
+
def extract_drugs concepts
|
16
|
+
concepts.select { |c| c[:concept_kind] != 'DRUG_INTERACTION_KIND' }.map{ |c| NDFRT::Concept.new(c) }
|
17
|
+
end
|
18
|
+
|
19
|
+
def extract_interaction_id concepts
|
20
|
+
concepts.select { |c| c[:concept_kind] == 'DRUG_INTERACTION_KIND' }.first[:concept_nui]
|
21
|
+
end
|
22
|
+
|
23
|
+
end
|
24
|
+
end
|
data/ndfrt.gemspec
ADDED
@@ -0,0 +1,27 @@
|
|
1
|
+
lib = File.expand_path('../lib', __FILE__)
|
2
|
+
$LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
|
3
|
+
require 'ndfrt/version'
|
4
|
+
|
5
|
+
Gem::Specification.new do |gem|
|
6
|
+
gem.name = 'ndfrt'
|
7
|
+
gem.version = NDFRT::VERSION
|
8
|
+
|
9
|
+
gem.summary = "A ruby wrapper to the NDF-RT RESTful API"
|
10
|
+
gem.description = "A ruby-based way of interacting with the NDF-RT RESTful API (http://rxnav.nlm.nih.gov/NdfrtAPIREST.html)"
|
11
|
+
gem.license = 'MIT'
|
12
|
+
|
13
|
+
gem.authors = ['Jonathan Bender']
|
14
|
+
gem.email = 'jlbender@gmail.com'
|
15
|
+
gem.homepage = 'http://github.com/jbender/ndfrt_ruby'
|
16
|
+
|
17
|
+
gem.add_dependency('nori')
|
18
|
+
gem.add_dependency('nokogiri')
|
19
|
+
gem.add_dependency('rake')
|
20
|
+
|
21
|
+
gem.add_development_dependency('rspec', [">= 2.0.0"])
|
22
|
+
|
23
|
+
gem.files = `git ls-files`.split($/)
|
24
|
+
gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
|
25
|
+
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
26
|
+
gem.require_paths = ["lib"]
|
27
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ndfrt
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Bender
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-11-
|
11
|
+
date: 2013-11-14 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: nori
|
@@ -72,11 +72,18 @@ executables: []
|
|
72
72
|
extensions: []
|
73
73
|
extra_rdoc_files: []
|
74
74
|
files:
|
75
|
+
- .travis.yml
|
76
|
+
- Gemfile
|
77
|
+
- Gemfile.lock
|
78
|
+
- README.md
|
75
79
|
- Rakefile
|
76
80
|
- lib/ndfrt.rb
|
81
|
+
- lib/ndfrt/concept.rb
|
82
|
+
- lib/ndfrt/interaction.rb
|
83
|
+
- lib/ndfrt/version.rb
|
84
|
+
- ndfrt.gemspec
|
77
85
|
- spec/ndfrt_spec.rb
|
78
|
-
|
79
|
-
homepage: http://github.com/jbender/ndfrt_rails
|
86
|
+
homepage: http://github.com/jbender/ndfrt_ruby
|
80
87
|
licenses:
|
81
88
|
- MIT
|
82
89
|
metadata: {}
|
@@ -100,4 +107,5 @@ rubygems_version: 2.1.10
|
|
100
107
|
signing_key:
|
101
108
|
specification_version: 4
|
102
109
|
summary: A ruby wrapper to the NDF-RT RESTful API
|
103
|
-
test_files:
|
110
|
+
test_files:
|
111
|
+
- spec/ndfrt_spec.rb
|