arxiv 0.0.5 → 0.0.6

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.
data/MIT-LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright 2011 YOURNAME
1
+ Copyright 2011 Scholastica
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
@@ -2,25 +2,26 @@ module Arxiv
2
2
  class Category
3
3
  include HappyMapper
4
4
 
5
+ @@category_mapping = {}
6
+
5
7
  def self.types
8
+ return @@category_mapping unless @@category_mapping.empty?
9
+
6
10
  url = ::URI.parse("http://arxiv-api.googlegroups.com/attach/5e540c5aa16cd1a1/servicedocument.xml?gda=GkSq-0UAAACv8MuSQ9shr-Fm8egpLVNUyoJFgZHB152DBrQX4ANeXa_N1TJg9KB-8oF-EwbRpI6O3f1cykW9hbJ1ju6H3kglGu1iLHeqhw4ZZRj3RjJ_-A&view=1&part=2")
7
11
  xml = ::Nokogiri::XML(open(url)).remove_namespaces!
8
- category_mapping = {}
9
12
  categories = xml.xpath("/service/workspace/collection/categories/category")
10
13
  categories.each do |category|
11
14
  abbreviation = category.attributes["term"].value.match(/[^\/]+$/)[0]
12
15
  description = category.attributes["label"].value
13
- category_mapping.merge!(abbreviation => description)
16
+ @@category_mapping.merge!(abbreviation => description)
14
17
  end
15
- category_mapping
18
+ @@category_mapping
16
19
  end
17
20
 
18
- Types = Category.types
19
-
20
21
  attribute :abbreviation, String, tag: 'term'
21
22
 
22
23
  def description
23
- Types[abbreviation]
24
+ Category.types[abbreviation]
24
25
  end
25
26
 
26
27
  def long_description
data/lib/arxiv/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Arxiv
2
- VERSION = "0.0.5"
2
+ VERSION = "0.0.6"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: arxiv
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -11,11 +11,11 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2012-02-16 00:00:00.000000000Z
14
+ date: 2012-03-04 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: happymapper
18
- requirement: &2156723380 !ruby/object:Gem::Requirement
18
+ requirement: &2156944160 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ! '>='
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: '0'
24
24
  type: :runtime
25
25
  prerelease: false
26
- version_requirements: *2156723380
26
+ version_requirements: *2156944160
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: nokogiri
29
- requirement: &2156722840 !ruby/object:Gem::Requirement
29
+ requirement: &2156943740 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ! '>='
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: '0'
35
35
  type: :runtime
36
36
  prerelease: false
37
- version_requirements: *2156722840
37
+ version_requirements: *2156943740
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rspec
40
- requirement: &2156722300 !ruby/object:Gem::Requirement
40
+ requirement: &2156943320 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,7 +45,7 @@ dependencies:
45
45
  version: '0'
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *2156722300
48
+ version_requirements: *2156943320
49
49
  description: Makes interacting with arXiv data really easy.
50
50
  email:
51
51
  - coryschires@gmail.com