This repository has been archived by the owner. It is now read-only.
Rapture
Scala
Switch branches/tags
Clone or download
kuaw26 and propensive Issue 276 Minor JSON docs improvment. (#277)
* Update json.md

Improved JSON docs.

* Update json.md

Improved JSON docs.

* A couple of tiny tweaks
Latest commit bbd9234 Jan 10, 2018
Permalink
Failed to load latest commit information.
base/shared/src/main Scala 2.12 support (#256) Jan 27, 2017
cli Scala 2.12 support (#256) Jan 27, 2017
codec Reformatted code (#212) Jul 7, 2016
core-scalaz Fix variance issue #259 (#260) Jan 27, 2017
core-test New headers (#179) Apr 27, 2016
core Add java 8 time support for json/xml modules (#258) Jan 29, 2017
crypto Reformatted code (#212) Jul 7, 2016
css-test Css imporovements (#229) Jul 26, 2016
css Json name mappings & removal of all warnings (#231) Jul 29, 2016
csv Json name mappings & removal of all warnings (#231) Jul 29, 2016
currency Include comparison operators for Money Aug 1, 2016
data Double-backslash will now iterate into arrays (#271) Apr 29, 2017
doc Issue 276 Minor JSON docs improvment. (#277) Jan 10, 2018
dom Fix missing '>' escape in dom formatter (#234) Aug 15, 2016
etc New headers (#179) Apr 27, 2016
fs Mail improvements (#232) Aug 15, 2016
google-translate Test fixes Apr 27, 2017
html Avoid case insensitive dynamicCssReferencing name clash Oct 1, 2016
http-jetty Reformatted code (#212) Jul 7, 2016
http-json Reformatted code (#212) Jul 7, 2016
http Mail improvements (#232) Aug 15, 2016
i18n Add refined type support to I18n constructor (#275) Jul 15, 2017
io Mail improvements (#232) Aug 15, 2016
java8-support/shared/src/main/scala/rapture/core/java8 Add java 8 time support for json/xml modules (#258) Jan 29, 2017
js Json name mappings & removal of all warnings (#231) Jul 29, 2016
json-argonaut Reformatted code (#212) Jul 7, 2016
json-circe Scala 2.12 support (#256) Jan 27, 2017
json-jackson Scala 2.12 support (#256) Jan 27, 2017
json-jawn Reformatted code (#212) Jul 7, 2016
json-json4s Scala 2.12 support (#256) Jan 27, 2017
json-lift Scala 2.12 support (#256) Jan 27, 2017
json-play Scala 2.12 support (#256) Jan 27, 2017
json-spray Scala 2.12 support (#256) Jan 27, 2017
json-test Test fixes Apr 27, 2017
json Test fixes Apr 27, 2017
latex Reformatted code (#212) Jul 7, 2016
log Json name mappings & removal of all warnings (#231) Jul 29, 2016
mail Mail improvements (#232) Aug 15, 2016
mime Reformatted code (#212) Jul 7, 2016
net-test/shared/src/test/scala/rapture/net/test Added net-test module (#222) Jan 2, 2018
net Scala 2.12 support (#256) Jan 27, 2017
project Scala 2.12 support (#256) Jan 27, 2017
test Scala 2.12 support (#256) Jan 27, 2017
text Reformatted code (#212) Jul 7, 2016
time Reformatted code (#212) Jul 7, 2016
unixsocket/jvm/src/main/scala/rapture/unixsocket Add support for http over unix sockets Mar 19, 2016
uri Mail improvements (#232) Aug 15, 2016
xml-stdlib Use ListMap instead of Map to avoid reordering (#265) Feb 17, 2017
xml-test Test fixes Apr 27, 2017
xml Merge branch 'dictionaries' into dev Apr 26, 2017
.gitignore Add Scala.js support Jul 14, 2015
.jvmopts Fix variance issue #259 (#260) Jan 27, 2017
.scalafmt Reformatted code (#212) Jul 7, 2016
.travis.yml Added net-test module (#222) Jan 2, 2018
README.md add javadocs to readme (#266) Jan 2, 2018
build.sbt Merge branch 'dev' of https://github.com/timo-schmid/rapture into tim… Jan 2, 2018
version.sbt Setting version to 2.0.0-M9 Jan 30, 2017

README.md

Rapture

Build Status Maven Central License Gitter Javadocs

Rapture is an evolving collection of useful libraries for solving common, everyday programming tasks, using advanced features of Scala to offer better type-safety through powerful APIs that all Scala developers, beginners and advanced users, should find intuitive.

Rapture consists of a number of modules, the most notable of which are:

  • Core (core) — a library of common utilities for other projects, notably modes and the Result type
  • JSON (json) — comprehensive support for working with JSON data
  • XML (xml) — comprehensive, but experimental, support for working with XML data
  • I/O (io) — I/O (network, filesystem) functionality and infrastructure
  • I18n (i18n) — simple, typesafe representation of internationalized strings
  • CLI (cli) — support for working with command-line applications and shell interaction

Themes in Rapture

The Rapture modules share a common philosophy that has evolved over time and experience. Here are a few of the philosophical themes crosscutting all of the Rapture modules.

  • A primary goal of intuitive, readable APIs and minimal code repetition
  • Extreme type-safety, with a goal to reduce the surface area of code exposed to runtime exceptions
  • Thoroughly typeclass-driven design, for extensibility
  • Fearless exploitation of all Scala features, where (but only where) it is appropriate
  • Agnostic support for multiple, alternative implementations of many operations with pluggable backends
  • Extensive, but principled, usage of implicits to configure and constrain operations
  • Support for modes in most APIs; the ability to change how failures are handled through return types

Availability

Snapshots of Rapture are available for Scala 2.10 and 2.11 under the Apache 2.0 License in the Sonatype Snapshots repository, with group ID com.propensive and artifact ID rapture-[module], where module is the name of the module, as taken from the list above.

Development work to get most Rapture modules working on Scala.JS is ongoing.

You can build and run Rapture locally by cloning this repository and running sbt publishLocal.

Contributing

Rapture openly welcomes contributions! We would love to receive pull requests of bugfixes and enhancements from other developers. To avoid potential wasted effort, bugs should first be reported on the Github issue tracker, and it's normally a good idea to talk about enhancements on the Gitter channel before embarking on any development.

Alternatively, just send Jon Pretty (@propensive) a tweet to start a conversation.

Current contributors include:

  • Jon Pretty
  • Raúl Raja Martínez
  • Alistair Johnson

Documentation

Rapture's documentation is currently sparse, though we are working to improve this.