plos 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ M2U1ZTZlYjBmYTIxYzVjZjA1NGM2ZmYzYThkMjMwOTcyNWI5ODAyMQ==
5
+ data.tar.gz: !binary |-
6
+ MzliOTA2ODczYjE1Y2VmMWI2MDhjYWI4NzIwMzBlNmNlZDQwNGRlYg==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ OTZlMmE5MDhlY2Q2ODFmNDVkNjg5MGY4MzQ3YTRmZDI0YzA2MDY2MmRjYmJj
10
+ NmM0ZTcyODE1YTQ3MmE4YWQ3ODMyOTZiNTBkNTZjN2RmM2M1OGMxOWQ2NDFj
11
+ YjhkYjg3OGQxMDFiM2IzYjM5NDc4MDcyZGNkZDA5MzVlMTM0NWQ=
12
+ data.tar.gz: !binary |-
13
+ ZmZiMDk2YmI3ODdmOTAxZGQ1ODcwYjhlNDgwM2VhYzE3NDU5YzE5NDViZmZh
14
+ MzdhZGQ3OGRlMmU3M2I2OWFmNTU1NGJhZmU5N2YyMzBmOTY3NzBkNjhmMmIw
15
+ ZGU4NzIyNzVkZDQzMzg5MmU5MjU2NThjOGQ3N2M0OGNmOGJiNTU=
data/.gitignore CHANGED
@@ -3,6 +3,7 @@
3
3
  .bundle
4
4
  .config
5
5
  .rvmrc
6
+ .ruby-version
6
7
  .yardoc
7
8
  Gemfile.lock
8
9
  InstalledFiles
data/README.md CHANGED
@@ -1,4 +1,4 @@
1
- # PLoS [![Build Status](https://travis-ci.org/cpetersen/plos.png?branch=master)](https://travis-ci.org/cpetersen/plos)
1
+ # PLoS [![Build Status](https://travis-ci.org/cpetersen/plos.png?branch=master)](https://travis-ci.org/cpetersen/plos) [![Code Climate](https://codeclimate.com/github/cpetersen/plos.png)](https://codeclimate.com/github/cpetersen/plos) [![Coverage Status](https://coveralls.io/repos/cpetersen/plos/badge.png?branch=master)](https://coveralls.io/r/cpetersen/plos?branch=master)
2
2
 
3
3
  A Ruby library for interacting with the Public Library of Science (PLoS) API
4
4
 
@@ -12,6 +12,7 @@ module PLOS
12
12
  attr_accessor :journal
13
13
  attr_accessor :published_at
14
14
  attr_accessor :title
15
+ attr_accessor :abstract
15
16
 
16
17
  alias :article_type= :type=
17
18
  alias :author_display= :authors=
@@ -22,7 +23,7 @@ module PLOS
22
23
  self.node = node
23
24
 
24
25
  self.client = client
25
- node.children.each do |child|
26
+ node.xpath('./*').each do |child|
26
27
  parse_node(child, self)
27
28
  end
28
29
  end
@@ -19,9 +19,9 @@ module PLOS
19
19
  result = PLOS::ArticleSet.new
20
20
  doc = execute( search_url, { :q => query, :rows => rows, :start => start } )
21
21
  if doc && doc.root
22
- doc.root.children.each do |child|
22
+ doc.root.xpath('./*').each do |child|
23
23
  if child.name == "lst"
24
- child.children.each do |int|
24
+ child.xpath('./*').each do |int|
25
25
  case int.attr("name")
26
26
  when "status"
27
27
  result.status = int.text
@@ -33,7 +33,7 @@ module PLOS
33
33
  result.num_found = child.attr("numFound").to_i if child.attr("numFound")
34
34
  result.start = child.attr("start").to_i if child.attr("start")
35
35
  result.max_score = child.attr("maxScore").to_f if child.attr("maxScore")
36
- child.children.each do |doc|
36
+ child.xpath('./*').each do |doc|
37
37
  result << PLOS::ArticleRef.new(self, doc)
38
38
  end
39
39
  end
@@ -11,7 +11,7 @@ module PLOS
11
11
  def initialize(node)
12
12
  self.id = node.attr("id") if node.attr("id")
13
13
  self.type = node.attr("sec-type") if node.attr("sec-type")
14
- node.children.each do |child|
14
+ node.xpath('./*').each do |child|
15
15
  case child.name
16
16
  when "title"
17
17
  self.title = child.text
@@ -1,3 +1,3 @@
1
1
  module Plos
2
- VERSION = "0.0.6"
2
+ VERSION = "0.0.7"
3
3
  end
@@ -5,7 +5,7 @@ module PLOS
5
5
  def parse_node(node, obj=nil)
6
6
  value = case(node.name)
7
7
  when "arr"
8
- node.children.collect { |child| parse_node(child) }
8
+ node.xpath('./*').collect { |child| parse_node(child) }
9
9
  when "date"
10
10
  DateTime.parse(node.content)
11
11
  when "float"
@@ -13,8 +13,8 @@ module PLOS
13
13
  else
14
14
  node.content
15
15
  end
16
- if node.attr("name") && obj
17
- obj.send("#{node.attr("name")}=",value)
16
+ if node.attr("name") && obj && obj.respond_to?(:"#{node.attr("name")}=")
17
+ obj.send(:"#{node.attr("name")}=", value)
18
18
  end
19
19
  value
20
20
  end
@@ -12,6 +12,7 @@ Gem::Specification.new do |gem|
12
12
  gem.add_dependency('rest-client')
13
13
  gem.add_development_dependency('rake')
14
14
  gem.add_development_dependency('rspec')
15
+ gem.add_development_dependency('coveralls')
15
16
 
16
17
  gem.files = `git ls-files`.split($\)
17
18
  gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
@@ -1,4 +1,5 @@
1
1
  require 'plos'
2
+ require 'spec_helper'
2
3
 
3
4
  describe PLOS do
4
5
  context "Article 1" do
@@ -1,4 +1,5 @@
1
1
  require 'plos'
2
+ require 'spec_helper'
2
3
 
3
4
  describe PLOS do
4
5
  context "Article 2" do
@@ -1,4 +1,5 @@
1
1
  require 'plos'
2
+ require 'spec_helper'
2
3
 
3
4
  describe PLOS do
4
5
  context "A client" do
@@ -43,6 +44,11 @@ describe PLOS do
43
44
  <str>Joseph E. Tomaszewski</str>
44
45
  <str>James H. Doroshow</str>
45
46
  </arr>
47
+ <arr name="abstract">
48
+ <str>
49
+ Lorem ipsum dolor sit amet
50
+ </str>
51
+ </arr>
46
52
  <str name="eissn">1932-6203</str>
47
53
  <str name="id">10.1371/journal.pone.0050494</str>
48
54
  <str name="journal">PLoS ONE</str>
@@ -0,0 +1,2 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
metadata CHANGED
@@ -1,20 +1,18 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: plos
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
5
- prerelease:
4
+ version: 0.0.7
6
5
  platform: ruby
7
6
  authors:
8
7
  - Christopher Petersen
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-02-05 00:00:00.000000000 Z
11
+ date: 2014-03-13 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: nokogiri
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
17
  - - ! '>='
20
18
  - !ruby/object:Gem::Version
@@ -22,7 +20,6 @@ dependencies:
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
24
  - - ! '>='
28
25
  - !ruby/object:Gem::Version
@@ -30,7 +27,6 @@ dependencies:
30
27
  - !ruby/object:Gem::Dependency
31
28
  name: rest-client
32
29
  requirement: !ruby/object:Gem::Requirement
33
- none: false
34
30
  requirements:
35
31
  - - ! '>='
36
32
  - !ruby/object:Gem::Version
@@ -38,7 +34,6 @@ dependencies:
38
34
  type: :runtime
39
35
  prerelease: false
40
36
  version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
37
  requirements:
43
38
  - - ! '>='
44
39
  - !ruby/object:Gem::Version
@@ -46,7 +41,6 @@ dependencies:
46
41
  - !ruby/object:Gem::Dependency
47
42
  name: rake
48
43
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
44
  requirements:
51
45
  - - ! '>='
52
46
  - !ruby/object:Gem::Version
@@ -54,7 +48,6 @@ dependencies:
54
48
  type: :development
55
49
  prerelease: false
56
50
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
51
  requirements:
59
52
  - - ! '>='
60
53
  - !ruby/object:Gem::Version
@@ -62,7 +55,6 @@ dependencies:
62
55
  - !ruby/object:Gem::Dependency
63
56
  name: rspec
64
57
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
58
  requirements:
67
59
  - - ! '>='
68
60
  - !ruby/object:Gem::Version
@@ -70,7 +62,20 @@ dependencies:
70
62
  type: :development
71
63
  prerelease: false
72
64
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
65
+ requirements:
66
+ - - ! '>='
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: coveralls
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ! '>='
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
74
79
  requirements:
75
80
  - - ! '>='
76
81
  - !ruby/object:Gem::Version
@@ -108,35 +113,29 @@ files:
108
113
  - spec/article2.xml
109
114
  - spec/article2_spec.rb
110
115
  - spec/plos_spec.rb
116
+ - spec/spec_helper.rb
111
117
  homepage: https://github.com/cpetersen/plos
112
118
  licenses: []
119
+ metadata: {}
113
120
  post_install_message:
114
121
  rdoc_options: []
115
122
  require_paths:
116
123
  - lib
117
124
  required_ruby_version: !ruby/object:Gem::Requirement
118
- none: false
119
125
  requirements:
120
126
  - - ! '>='
121
127
  - !ruby/object:Gem::Version
122
128
  version: '0'
123
- segments:
124
- - 0
125
- hash: -3893775921126940729
126
129
  required_rubygems_version: !ruby/object:Gem::Requirement
127
- none: false
128
130
  requirements:
129
131
  - - ! '>='
130
132
  - !ruby/object:Gem::Version
131
133
  version: '0'
132
- segments:
133
- - 0
134
- hash: -3893775921126940729
135
134
  requirements: []
136
135
  rubyforge_project:
137
- rubygems_version: 1.8.24
136
+ rubygems_version: 2.2.1
138
137
  signing_key:
139
- specification_version: 3
138
+ specification_version: 4
140
139
  summary: A Ruby library for interacting with the Public Library of Science (PLoS)
141
140
  API
142
141
  test_files:
@@ -145,3 +144,4 @@ test_files:
145
144
  - spec/article2.xml
146
145
  - spec/article2_spec.rb
147
146
  - spec/plos_spec.rb
147
+ - spec/spec_helper.rb