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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f83510323baec54e499e676d6fd287d68d7d59a4
4
- data.tar.gz: 40d26c69554f2c923b64c097ef3ad6e8e0b7a0a3
3
+ metadata.gz: 7fd7cff6e15bc8187df7f38539bdc8ea075d6c83
4
+ data.tar.gz: 4c2f3751cde4f07f972d87bf0266df5b4210469d
5
5
  SHA512:
6
- metadata.gz: 2dbe4c29dec6d77b66e0e55a78e181b2cf2ade21f6076083a41597de8a718796d4bc3ebf141b89479f3728947c1d2bb7c16d18c4309f3a71dab9febad7283c1c
7
- data.tar.gz: 733e811672c5a2372aea9529e1d085e0aadf0070c0f38355ed08b162aff9a738144c2d2bb3418600340f55e9591326c217599e050f46a2440053594d2ceea0ab
6
+ metadata.gz: 0cbd2f3fe7d1a9c9660619b8f4124a44382a9180f08bef0764449f358d96f64d41879cea87ccd218f468fd88ce804d053a1c2d495c213526d678b936521ccc1b
7
+ data.tar.gz: 7cb75fcd6cef67c5477d945eb9392217215d207d724fe8e96354a57e550e58ae2bbd7dd286a3314533ce3d087c29070d54ca7a890a9b8e7271e21441934ad3c2
@@ -0,0 +1,6 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.9.3
4
+ - 2.0.0
5
+ notifications:
6
+ email: false
data/Gemfile ADDED
@@ -0,0 +1,10 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gem 'nori'
4
+ gem 'nokogiri'
5
+ gem 'titleize'
6
+
7
+ group :test do
8
+ gem 'rake'
9
+ gem 'rspec'
10
+ end
@@ -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
@@ -29,7 +29,7 @@ class NDFRT
29
29
  end
30
30
 
31
31
  def possible_kinds
32
- get_options "kind"
32
+ get_options("kind").map { |k| k.split('_')[0...-1].join('_').downcase }
33
33
  end
34
34
 
35
35
  def possible_properties
@@ -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
@@ -0,0 +1,3 @@
1
+ class NDFRT
2
+ VERSION = '0.0.2'
3
+ end
@@ -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.1
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-13 00:00:00.000000000 Z
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
- - README.md
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