arxiv 0.0.5 → 0.0.6

Sign up to get free protection for your applications and to get access to all the features.
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