- Add support for paging. (#92 by @xuanxu)
- Allow searching by
last_updated_date
. (#93 by @xuanxu) - Add
submitted_at
for submission date querying. (#97)
This also changeslast_updated_date
from #93 toupdated_at
, and similarly for thelast_updated
anddate_submitted
sort-by criteria.
- Update
Arx()
to match newArx.search
signature (from #92). (#94) - Change incorrect
lastUpdated
sort-by criterion tolastUpdatedDate
. (#96) - Add
to_s
methods forArx::Paper
,Arx::Author
andArx::Category
. (#99) - Add fix for JSON warning in Ruby >=2.7. (#101)
- Add contributors section to
README.md
. (#102)
- Add support for saving PDFs with
Paper#save
(see #81). (#90) - Change gem Ruby version specifier from
~> 2.5
to>= 2.5
. (#86)
- Remove arXiv logo from
README.md
. (#87) - Use
URI.open
instead ofKernel.open
(see #82). (#86) - Add CI rubies
2.7
and3.0
(see #84). (#86) - Remove unnecessary arXiv information from
README.md
(see #83). (#86) - Remove system gem update directive in
.travis.yml
. (#78) - Remove version specifier for
bundler
gem inarx.gemspec
. (#77) - Update specs using paper
1710.02185
to account for revision and acceptance by journal (congratulations!). (#76) - Update email address in
LICENSE.md
. (#73)
-
Adds serialization support through the following methods (#63):
to_h
: Serialize into a Ruby hash (with symbol keys). Accepts a boolean argument, representing whether or not to deep-serialize nestedAuthor
andCategory
objects (defaults tofalse
).as_json
: Serialize into a Ruby hash which is also a valid JSON hash.to_json
: Serialize into a valid JSON string.
-
Remove version filter from query ID list. (#69)
Previously, all of the following would return the latest paper,
1807.06918v2
:Arx.get('1807.06918').version #=> 2 Arx.get('1807.06918v1').version #=> 2 Arx.get('1807.06918v2').version #=> 2
-
Adds
ATTRIBUTES
constant forPaper
,Author
andCategory
entities, as a list of which attributes are available for the entity. (#63) -
Remove key-word arguments from
Paper#id
andPaper#url
. (#70)Previously,
Paper#id
andPaper#url
accepted aversion
key-word argument, which was a boolean variable indicating whether or not to include the version number in the ID or URL.This has now been changed to a regular argument, which still defaults to
false
.paper = Arx.get('cond-mat/9609089') # Old (no longer works) paper.id(version: true) paper.url(version: true) # New paper.id(true) #=> "cond-mat/9609089v1" paper.url(true) #=> "http://arxiv.org/abs/cond-mat/9609089v1"
-
Add equality operator (
==
) to entities. (#68)
- Add more category mappings to
CATEGORIES
. (#71) - Add licensing information to
README.md
under the Acknowledgements section. (#66) - Add
yard
development dependency for documentation. (#65) - Make documentation spacing uniform. (#64)
- Coveralls:
- Change
bundler
requirement to>= 1.17
inarx.gemspec
. (#53) - Remove
Arx.find
alias ofArx.search
. (#57) - Add
Query#group
for subquery grouping support. (#59)
- Add contributing guidelines (
CONTRIBUTING.md
). (#48) - Add issue templates to
./github/ISSUE_TEMPLATE
for (#49, #54, #55):- Error or warning
For reporting an error or warning generated by Arx. - Unexpected or incorrect functionality
For reporting something that doesn't seem to be working correctly or is unexpected. - Improvement to an existing feature
For suggesting an improvement to a feature already offered by Arx. - Suggesting a new feature
For proposing a new feature to Arx that would be beneficial.
- Error or warning
- Add a pull request template at
./github/PULL_REQUEST_TEMPLATE.md
. (#49) - Remove issue templates from
CONTRIBUTING.md
. (#49) - Remove
LICENSE
from YARD documentation (remove from.yardopts
). (#50) - Add RVM ruby version
2.6
to.travis.yml
. (#53) - Add contributor code-of-conduct (
CODE_OF_CONDUCT.md
). (#56) - Thank Scholastica in
README.md
. (#58) - Add
bin/console
for gem debugging. (#60) - Modify
gem:debug
rake task to runbin/console
. (#60)
- Add cases to handle
nil
query returns. (#45) - Add support for the
coveralls
gem (.coveralls.yml
configuration file). (#42)
- Add code coverage badge to
README.md
. (#42) - Remove documentation badge from top of
README.md
. (#42) - Change author email from
ed@mail.eonu.net
toed@eonu.net
. (#43) - Change
ends_with_connective?
toend_with_connective?
to follow typical Ruby patterns. (#44) - Add
/coverage/
directory to.gitignore
. (#45) - Remove version numbers from paper identifiers in error message in
README.md
. (#46)
- Change
Query
connective instance methods (#38):#&
->#and
#|
->#or
#!
->#and_not
- Split version number from paper identifier in
Paper
(addversion
key-word argument to#id
and#url
, and add#version
). (#39) - Add
Cleaner.extract_id
andCleaner.extract_version
. (#39) - Make
Query#add_connective
always returnself
. (#40) - Redefine
Arx.search
to userPaper.parse
'ssearch
key-word argument. (#40) - Implement all tests. (#40)
- Change declared regular expression literals from
%r""
to standard//
. (#39) - Remove
#extract_id
fromQuery
and useCleaner.extract_id
instead. (#39) - Redefine
Paper#revision?
to use the new#version
instead of#updated_at
and#published_at
. (#39)
- Add
Paper#category
alias forPaper#primary_category
. (#34) - Change
Author#affiliations?
toAuthor#affiliated?
. (#34) - Change
Paper#last_updated
toPaper#updated_at
(and removeupdated_at
alias). (#34) - Change
Paper#publish_date
toPaper#published_at
(and removepublished_at
alias). (#34) - Conditionally assign query object in
Arx.search
with||=
operator. (#33) - Add
gem:debug
rake task for loading the gem into an interactive console. (#28) - Add
gem:release
rake task for preparing gem releases. (#36) - Add
thor
gem development dependency. (#36)
- Update documentation links to
rubydoc.info
's GitHub service. (#30) - Add email address to
LICENSE
. (#31) - Improve
Error::MissingField
andError::MissingLink
error messages. (#35)
- Add
.yardopts
for document generation configuration. (#26) - Namespace errors in
Arx::Error
module and removeError
prefix from error classes. (#26) - Move identifier format regular expression constant definitions from
Arx::Validate
to top-level namespaceArx
. (#26)
- Rename
lib/arx/exceptions.rb
tolib/arx/errors.rb
. (#26) - Make
Arx::Cleaner
,Arx::Validate
,Arx::Inspector
,Arx::Link
private (hidden fromyard
documentation). (#26)
- Add documentation, images, installation and usage instructions to
README.md
. (#22, #17) - Allow prior construction of a search query in
Arx.search
. (#18) - Fix
Arx.search
query object yielding. (#20)
- Remove conditional with
block_given?
inArx()
method. (#16) - Remove leading ampersand (&) from search query string. (#19)
- Add base paper categories and more aliases. (#21)
- Flatten provided values in
Arx::Paper
's field instance methods (allow an array as thevalues
splat parameter). (#5) - Add
Arx.find
andArx.get
as aliases forArx.search
. (#6, #8)
- Add
homepage
andmetadata
fields toarx.gemspec
. (#1, #14) - Specify required ruby version (
~> 2.5
) inarx.gemspec
. (#2) - Add badges to
README.md
. (#3, #9) - Fix documentation for
Arx::Paper
's field methodsexact
argument. (#4) - Update documentation links in
arx.gemspec
andREADME.md
. (#7) - Remove newline from end of
Gemfile
. (#11) - Add ruby-head version to RVM rubies in
.travis.yml
. (#12) - Remove unnecessary git-ignored files. (#13, #10)
Initial commit! 🎉