diff --git a/.circleci/config.yml b/.circleci/config.yml index a4797ba..248406d 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,11 +1,11 @@ version: 2 jobs: - build: + build_couchdb_2: docker: - image: crystallang/crystal:nightly environment: TEST_DB: "http://admin:1234@localhost:5984" - - image: couchdb:2.3 + - image: couchdb:2 environment: COUCHDB_USER: "admin" COUCHDB_PASSWORD: 1234 @@ -21,11 +21,33 @@ jobs: - store_artifacts: path: docs destination: /docs + build_couchdb_3: + docker: + - image: crystallang/crystal:nightly + environment: + TEST_DB: "http://admin:1234@localhost:5984" + - image: couchdb:3 + environment: + COUCHDB_USER: "admin" + COUCHDB_PASSWORD: 1234 + environment: + steps: + - checkout + - run: crystal --version + - run: shards install + - run: crystal spec --junit_output=test_results + - store_test_results: + path: test_results + - run: crystal docs --project-name $(basename $(pwd)) --project-version $(shards version) + - store_artifacts: + path: docs + destination: /docs workflows: version: 2 commit: jobs: - - build + - build_couchdb_2 + - build_couchdb_3 nightly: triggers: - schedule: @@ -35,4 +57,5 @@ workflows: only: - master jobs: - - build + - build_couchdb_2 + - build_couchdb_3 diff --git a/.gitignore b/.gitignore index 4528c39..ba31675 100644 --- a/.gitignore +++ b/.gitignore @@ -1,9 +1,12 @@ -/doc/ /lib/ /bin/ +/tmp/ /.shards/ # Libraries don't need dependency lock # Dependencies will be locked in application that uses them /shard.lock -/docs +# /docs + +/test-results/ +spec/tmp/ diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2071b01 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +FROM crystallang/crystal:nightly-alpine-build + +WORKDIR /app +ADD . /app + +RUN shards install --ignore-crystal-version +RUN shards update --ignore-crystal-version +# RUN shards build diff --git a/README.md b/README.md index 8c0c095..8456c9e 100644 --- a/README.md +++ b/README.md @@ -65,7 +65,4 @@ https://docs.couchdb.org/en/2.3.1/api/database/find.html#sort-syntax ## Original Project Contributors (what I've forked) - [TechMagister](https://github.com/TechMagister) Arnaud Fernandés - creator, maintainer - [Schniz](https://github.com/Schniz) Gal Schlezinger - contributor - - - - +- [drhuffman12](https://github.com/drhuffman12) Daniel Huffman - contributor diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..6d3c9fd --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3' +services: + app: + build: . + volumes: + - ./:/app + volumes: + - tmp/db:/opt/couchdb/etc/local.d + \ No newline at end of file diff --git a/docs/CouchDB.html b/docs/CouchDB.html new file mode 100644 index 0000000..00a53c5 --- /dev/null +++ b/docs/CouchDB.html @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + CouchDB - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + module CouchDB + +

+ + + + + + + + + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb.cr + +
+ + + couchdb/client.cr + +
+ + + couchdb/database.cr + +
+ + + couchdb/find_query.cr + +
+ + + couchdb/version.cr + +
+ + + + + +

+ + + + Constant Summary +

+ +
+ +
+ VERSION = {{ (`shards version \"/home/drhuffman/_tmp_/github/drhuffman12/couchdb.cr/src/couchdb\"`).chomp.stringify }} +
+ + +
+ + + + + + + + + +

+ + + + Macro Summary +

+ + + + +
+ +
+ + + + + + + + +

+ + + + Macro Detail +

+ +
+
+ + macro mapping(**properties) + + # +
+ +
+
+ +
+
+ + + +
+ + + diff --git a/docs/CouchDB/Client.html b/docs/CouchDB/Client.html new file mode 100644 index 0000000..3dcd8b1 --- /dev/null +++ b/docs/CouchDB/Client.html @@ -0,0 +1,633 @@ + + + + + + + + + + + + + + + + CouchDB::Client - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Client + +

+ + + + + + + + + + + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/client.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(uri : String = "http://127.0.0.1:5984") + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def active_tasks : Array(CouchDB::Response::ActiveTask) + + # +
+ +
+
+ +
+
+ +
+
+ + def create_database(name : String) : Response::Status + + # +
+ +
+
+ +
+
+ +
+
+ + def create_document(database, object) : Response::DocumentStatus + + # +
+ +
+
+ +
+
+ +
+
+ + def create_document_custom_id(database, object, id) : Response::DocumentStatus + + # +
+ +
+
+ +
+
+ +
+
+ + def databases : Array(String) + + # +
+ +
+
+ +
+
+ +
+
+ + def delete(path : String, body : String? = nil, headers : HTTP::Headers? = nil) + + # +
+ +
+
+ +
+
+ +
+
+ + def delete_database(name : String) : Response::Status + + # +
+ +
+
+ +
+
+ +
+
+ + def delete_document(database, uuid, rev) : Response::DocumentStatus + + # +
+ +
+
+ +
+
+ +
+
+ + def documents(database : String, include_docs = false) : Response::Results + + # +
+ +
+
+ +
+
+ +
+
+ + def find_document(database : String, query : FindQuery, response_class) + + # +
+ +
+
+ +
+
+ +
+
+ + def find_document(database : String, query : FindQuery) : Response::FindResults(JSON::Any) + + # +
+ +
+
+ +
+
+ +
+
+ + def get(path : String, body : String? = nil, headers : HTTP::Headers? = nil) + + # +
+ +
+
+ +
+
+ +
+
+ + def get_document(database : String, id : String, response_class) + + # +
+ +
+
+ +
+
+ +
+
+ + def new_uuids(count = 1) : Array(String) + + # +
+ +
+
+ +
+
+ +
+
+ + def post(path : String, body : String? = nil, headers : HTTP::Headers? = nil) + + # +
+ +
+
+ +
+
+ +
+
+ + def put(path : String, body : String? = nil, headers : HTTP::Headers? = nil) + + # +
+ +
+
+ +
+
+ +
+
+ + def server_info : Response::ServerInfo + + # +
+ +
+
+ +
+
+ +
+
+ + def update_document(database, uuid, document) : Response::DocumentStatus + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Database.html b/docs/CouchDB/Database.html new file mode 100644 index 0000000..5cd5e84 --- /dev/null +++ b/docs/CouchDB/Database.html @@ -0,0 +1,481 @@ + + + + + + + + + + + + + + + + CouchDB::Database - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Database + +

+ + + + + + + + + + + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/database.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(client, name) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def client : CouchDB::Client + + # +
+ +
+
+ +
+
+ +
+
+ + def create(object) + + # +
+ +
+
+ +
+
+ +
+
+ + def create! + + # +
+ +
+
+ +
+
+ +
+
+ + def delete(object) + + # +
+ +
+
+ +
+
+ +
+
+ + def drop! + + # +
+ +
+
+ +
+
+ +
+
+ + def find(query, resultclass) + + # +
+ +
+
+ +
+
+ +
+
+ + def find(query) + + # +
+ +
+
+ +
+
+ +
+
+ + def get(id, resultclass) + + # +
+ +
+
+ +
+
+ +
+
+ + def name : String + + # +
+ +
+
+ +
+
+ +
+
+ + def update(object) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/FindQuery.html b/docs/CouchDB/FindQuery.html new file mode 100644 index 0000000..959939e --- /dev/null +++ b/docs/CouchDB/FindQuery.html @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + CouchDB::FindQuery - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::FindQuery + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/find_query.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def fields : Array(String)? + + # +
+ +
+
+ +
+
+ +
+
+ + def fields=(fields : Array(String)?) + + # +
+ +
+
+ +
+
+ +
+
+ + def limit : Int64? + + # +
+ +
+
+ +
+
+ +
+
+ + def limit=(limit : Int64?) + + # +
+ +
+
+ +
+
+ +
+
+ + def selector : JSON::Any + + # +
+ +
+
+ +
+
+ +
+
+ + def selector=(selector : JSON::Any) + + # +
+ +
+
+ +
+
+ +
+
+ + def skip : Int64? + + # +
+ +
+
+ +
+
+ +
+
+ + def skip=(skip : Int64?) + + # +
+ +
+
+ +
+
+ +
+
+ + def sort : Array(String) | Nil | JSON::Any | Nil + + # +
+ +
+
+ +
+
+ +
+
+ + def sort=(sort : Array(String) | Nil | JSON::Any | Nil) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response.html b/docs/CouchDB/Response.html new file mode 100644 index 0000000..7c590d5 --- /dev/null +++ b/docs/CouchDB/Response.html @@ -0,0 +1,221 @@ + + + + + + + + + + + + + + + + CouchDB::Response - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + module CouchDB::Response + +

+ + + + + + + + + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/active_task.cr + +
+ + + couchdb/response/results.cr + +
+ + + couchdb/response/server_info.cr + +
+ + + couchdb/response/status.cr + +
+ + + + + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + diff --git a/docs/CouchDB/Response/ActiveTask.html b/docs/CouchDB/Response/ActiveTask.html new file mode 100644 index 0000000..5adf266 --- /dev/null +++ b/docs/CouchDB/Response/ActiveTask.html @@ -0,0 +1,619 @@ + + + + + + + + + + + + + + + + CouchDB::Response::ActiveTask - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::ActiveTask + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/active_task.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def change_done : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def change_done=(change_done : Int64) + + # +
+ +
+
+ +
+
+ +
+
+ + def database : String + + # +
+ +
+
+ +
+
+ +
+
+ + def database=(database : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def pid : String + + # +
+ +
+
+ +
+
+ +
+
+ + def pid=(pid : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def progress : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def progress=(progress : Int64) + + # +
+ +
+
+ +
+
+ +
+
+ + def started_on : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def started_on=(started_on : Int64) + + # +
+ +
+
+ +
+
+ +
+
+ + def total_changes : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def total_changes=(total_changes : Int64) + + # +
+ +
+
+ +
+
+ +
+
+ + def type : String + + # +
+ +
+
+ +
+
+ +
+
+ + def type=(type : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def updated_on : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def updated_on=(updated_on : Int64) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/DocumentStatus.html b/docs/CouchDB/Response/DocumentStatus.html new file mode 100644 index 0000000..fa99c89 --- /dev/null +++ b/docs/CouchDB/Response/DocumentStatus.html @@ -0,0 +1,583 @@ + + + + + + + + + + + + + + + + CouchDB::Response::DocumentStatus - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::DocumentStatus + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/status.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + +

Instance methods inherited from class CouchDB::Response::Status

+ + + + error : String? + error, + + + + error=(error : String?) + error=, + + + + error? + error?, + + + + ok : Bool? + ok, + + + + ok=(ok : Bool?) + ok=, + + + + ok? : Bool + ok?, + + + + reason : String? + reason, + + + + reason=(reason : String?) + reason=, + + + + reason? + reason? + + + + + + +

Constructor methods inherited from class CouchDB::Response::Status

+ + + + new(pull : JSON::PullParser) + new + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def error : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def error=(error : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def id : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def id=(id : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def ok : Bool? + + # +
+ +
+
+ +
+
+ +
+
+ + def ok=(ok : Bool?) + + # +
+ +
+
+ +
+
+ +
+
+ + def reason : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def reason=(reason : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def rev : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def rev=(rev : String?) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/FindResults.html b/docs/CouchDB/Response/FindResults.html new file mode 100644 index 0000000..abe663b --- /dev/null +++ b/docs/CouchDB/Response/FindResults.html @@ -0,0 +1,486 @@ + + + + + + + + + + + + + + + + CouchDB::Response::FindResults(T) - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::FindResults(T) + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/results.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def docs : Array(T)? + + # +
+ +
+
+ +
+
+ +
+
+ + def docs=(docs : Array(T)?) + + # +
+ +
+
+ +
+
+ +
+
+ + def error : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def error=(error : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def ok? + + # +
+ +
+
+ +
+
+ +
+
+ + def reason : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def reason=(reason : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def warning : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def warning=(warning : String?) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/Result.html b/docs/CouchDB/Response/Result.html new file mode 100644 index 0000000..d5af1e8 --- /dev/null +++ b/docs/CouchDB/Response/Result.html @@ -0,0 +1,486 @@ + + + + + + + + + + + + + + + + CouchDB::Response::Result - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::Result + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/results.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def [](key : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def doc : JSON::Any? + + # +
+ +
+
+ +
+
+ +
+
+ + def doc=(doc : JSON::Any?) + + # +
+ +
+
+ +
+
+ +
+
+ + def id : String + + # +
+ +
+
+ +
+
+ +
+
+ + def id=(id : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def key : String + + # +
+ +
+
+ +
+
+ +
+
+ + def key=(key : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def value : NamedTuple(rev: String) + + # +
+ +
+
+ +
+
+ +
+
+ + def value=(value : NamedTuple(rev: String)) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/Results.html b/docs/CouchDB/Response/Results.html new file mode 100644 index 0000000..9bf0b25 --- /dev/null +++ b/docs/CouchDB/Response/Results.html @@ -0,0 +1,429 @@ + + + + + + + + + + + + + + + + CouchDB::Response::Results - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::Results + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/results.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def offset : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def offset=(offset : Int64) + + # +
+ +
+
+ +
+
+ +
+
+ + def rows : Array(Result) + + # +
+ +
+
+ +
+
+ +
+
+ + def rows=(rows : Array(Result)) + + # +
+ +
+
+ +
+
+ +
+
+ + def total_rows : Int64 + + # +
+ +
+
+ +
+
+ +
+
+ + def total_rows=(total_rows : Int64) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/ServerInfo.html b/docs/CouchDB/Response/ServerInfo.html new file mode 100644 index 0000000..67bb066 --- /dev/null +++ b/docs/CouchDB/Response/ServerInfo.html @@ -0,0 +1,505 @@ + + + + + + + + + + + + + + + + CouchDB::Response::ServerInfo - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::ServerInfo + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/server_info.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def couchdb : String + + # +
+ +
+
+ +
+
+ +
+
+ + def couchdb=(couchdb : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def is_v2? + + # +
+ +
+
+ +
+
+ +
+
+ + def is_v3? + + # +
+ +
+
+ +
+
+ +
+
+ + def uuid : String + + # +
+ +
+
+ +
+
+ +
+
+ + def uuid=(uuid : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def vendor : Vendor + + # +
+ +
+
+ +
+
+ +
+
+ + def vendor=(vendor : Vendor) + + # +
+ +
+
+ +
+
+ +
+
+ + def version : String + + # +
+ +
+
+ +
+
+ +
+
+ + def version=(version : String) + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/Status.html b/docs/CouchDB/Response/Status.html new file mode 100644 index 0000000..e9a733a --- /dev/null +++ b/docs/CouchDB/Response/Status.html @@ -0,0 +1,500 @@ + + + + + + + + + + + + + + + + CouchDB::Response::Status - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::Status + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + +

+ + + + Direct Known Subclasses +

+ + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/status.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def error : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def error=(error : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def error? + + # +
+ +
+
+ +
+
+ +
+
+ + def ok : Bool? + + # +
+ +
+
+ +
+
+ +
+
+ + def ok=(ok : Bool?) + + # +
+ +
+
+ +
+
+ +
+
+ + def ok? : Bool + + # +
+ +
+
+ +
+
+ +
+
+ + def reason : String? + + # +
+ +
+
+ +
+
+ +
+
+ + def reason=(reason : String?) + + # +
+ +
+
+ +
+
+ +
+
+ + def reason? + + # +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/Response/Vendor.html b/docs/CouchDB/Response/Vendor.html new file mode 100644 index 0000000..9330fac --- /dev/null +++ b/docs/CouchDB/Response/Vendor.html @@ -0,0 +1,387 @@ + + + + + + + + + + + + + + + + CouchDB::Response::Vendor - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + class CouchDB::Response::Vendor + +

+ + + + + + + + + + + +

+ + + + Included Modules +

+ + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/response/server_info.cr + +
+ + + + + + +

+ + + + Constructors +

+ + + + + + +

+ + + + Instance Method Summary +

+ + + + + + +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + +

+ + + + Constructor Detail +

+ +
+
+ + def self.new(pull : JSON::PullParser) + + # +
+ +
+
+ +
+
+ + + + + + +

+ + + + Instance Method Detail +

+ +
+
+ + def name : String + + # +
+ +
+
+ +
+
+ +
+
+ + def name=(name : String) + + # +
+ +
+
+ +
+
+ +
+
+ + def version + + # +
+ +
+ +

property version : String

+ +

DEPRECATED Use ServerInfo#version instead of Vendor#version.

+ + +
+ +
+
+ +
+
+ + + + + +
+ + + diff --git a/docs/CouchDB/URL.html b/docs/CouchDB/URL.html new file mode 100644 index 0000000..74a4043 --- /dev/null +++ b/docs/CouchDB/URL.html @@ -0,0 +1,268 @@ + + + + + + + + + + + + + + + + CouchDB::URL - couchdb.cr 0.4.0 + + + + + + + + +
+

+ + module CouchDB::URL + +

+ + + + + + + + + + + + + + + + + + +

+ + + + Defined in: +

+ + + couchdb/client.cr + +
+ + + + + +

+ + + + Constant Summary +

+ +
+ +
+ ACTIVE_TASKS = "/_active_tasks" +
+ + +
+ ALL_DBS = "/_all_dbs" +
+ + +
+ ALL_DOCS = DB + "/_all_docs" +
+ + +
+ DB = "/%s" +
+ + +
+ DOC = DB + "/%s" +
+ +
+

Database

+
+ + +
+ FIND_DOCS = DB + "/_find" +
+ + +
+ INFO = "/" +
+ +
+

Server

+
+ + +
+ UUIDS = "/_uuids?count=%d" +
+ + +
+ + + + + + + + + + + +
+ +
+ + + + + + + + + +
+ + + diff --git a/docs/css/style.css b/docs/css/style.css new file mode 100644 index 0000000..20bb084 --- /dev/null +++ b/docs/css/style.css @@ -0,0 +1,726 @@ +html, body { + background: #FFFFFF; + position: relative; + margin: 0; + padding: 0; + width: 100%; + height: 100%; + overflow: hidden; +} + +body { + font-family: "Avenir", "Tahoma", "Lucida Sans", "Lucida Grande", Verdana, Arial, sans-serif; + color: #333; + line-height: 1.5; +} + +a { + color: #263F6C; +} + +a:visited { + color: #112750; +} + +h1, h2, h3, h4, h5, h6 { + margin: 35px 0 25px; + color: #444444; +} + +h1.type-name { + color: #47266E; + margin: 20px 0 30px; + background-color: #F8F8F8; + padding: 10px 12px; + border: 1px solid #EBEBEB; + border-radius: 2px; +} + +h2 { + border-bottom: 1px solid #E6E6E6; + padding-bottom: 5px; +} + +body { + display: flex; +} + +.sidebar, .main-content { + overflow: auto; +} + +.sidebar { + width: 30em; + color: #F8F4FD; + background-color: #2E1052; + padding: 0 0 30px; + box-shadow: inset -3px 0 4px rgba(0,0,0,.35); + line-height: 1.2; + z-index: 0; +} + +.sidebar .search-box { + padding: 13px 9px; +} + +.sidebar input { + display: block; + box-sizing: border-box; + margin: 0; + padding: 5px; + font: inherit; + font-family: inherit; + line-height: 1.2; + width: 100%; + border: 0; + outline: 0; + border-radius: 2px; + box-shadow: 0px 3px 5px rgba(0,0,0,.25); + transition: box-shadow .12s; +} + +.sidebar input:focus { + box-shadow: 0px 5px 6px rgba(0,0,0,.5); +} + +.sidebar input::-webkit-input-placeholder { /* Chrome/Opera/Safari */ + color: #C8C8C8; + font-size: 14px; + text-indent: 2px; +} + +.sidebar input::-moz-placeholder { /* Firefox 19+ */ + color: #C8C8C8; + font-size: 14px; + text-indent: 2px; +} + +.sidebar input:-ms-input-placeholder { /* IE 10+ */ + color: #C8C8C8; + font-size: 14px; + text-indent: 2px; +} + +.sidebar input:-moz-placeholder { /* Firefox 18- */ + color: #C8C8C8; + font-size: 14px; + text-indent: 2px; +} + +.project-summary { + padding: 9px 15px 30px 30px; +} + +.project-name { + font-size: 1.4rem; + margin: 0; + color: #f4f4f4; + font-weight: 600; +} + +.project-version { + margin-top: 5px; + display: inline-block; + position: relative; +} + +.project-version > form::after { + position: absolute; + right: 0; + top: 0; + content: "\25BC"; + font-size: .6em; + line-height: 1.2rem; + z-index: -1; +} + +.project-versions-nav { + cursor: pointer; + margin: 0; + padding: 0 .9em 0 0; + border: none; + -moz-appearance: none; + -webkit-appearance: none; + appearance: none; + background-color: transparent; + color: inherit; + font-family: inherit; + font-size: inherit; + line-height: inherit; +} +.project-versions-nav:focus { + outline: none; +} + +.project-versions-nav > option { + color: initial; +} + +.sidebar ul { + margin: 0; + padding: 0; + list-style: none outside; +} + +.sidebar li { + display: block; + position: relative; +} + +.types-list li.hide { + display: none; +} + +.sidebar a { + text-decoration: none; + color: inherit; + transition: color .14s; +} +.types-list a { + display: block; + padding: 5px 15px 5px 30px; +} + +.types-list { + display: block; +} + +.sidebar a:focus { + outline: 1px solid #D1B7F1; +} + +.types-list a { + padding: 5px 15px 5px 30px; +} + +.sidebar .current > a, +.sidebar a:hover { + color: #866BA6; +} + +.types-list li ul { + overflow: hidden; + height: 0; + max-height: 0; + transition: 1s ease-in-out; +} + +.types-list li.parent { + padding-left: 30px; +} + +.types-list li.parent::before { + box-sizing: border-box; + content: "▼"; + display: block; + width: 30px; + height: 30px; + position: absolute; + top: 0; + left: 0; + text-align: center; + color: white; + font-size: 8px; + line-height: 30px; + transform: rotateZ(-90deg); + cursor: pointer; + transition: .2s linear; +} + + +.types-list li.parent > a { + padding-left: 0; +} + +.types-list li.parent.open::before { + transform: rotateZ(0); +} + +.types-list li.open > ul { + height: auto; + max-height: 1000em; +} + +.main-content { + padding: 0 30px 30px 30px; + width: 100%; +} + +.kind { + font-size: 60%; + color: #866BA6; +} + +.superclass-hierarchy { + margin: -15px 0 30px 0; + padding: 0; + list-style: none outside; + font-size: 80%; +} + +.superclass-hierarchy .superclass { + display: inline-block; + margin: 0 7px 0 0; + padding: 0; +} + +.superclass-hierarchy .superclass + .superclass::before { + content: "<"; + margin-right: 7px; +} + +.other-types-list li { + display: inline-block; +} + +.other-types-list, +.list-summary { + margin: 0 0 30px 0; + padding: 0; + list-style: none outside; +} + +.entry-const { + font-family: Menlo, Monaco, Consolas, 'Courier New', Courier, monospace; +} + +.entry-const code { + white-space: pre-wrap; +} + +.entry-summary { + padding-bottom: 4px; +} + +.superclass-hierarchy .superclass a, +.other-type a, +.entry-summary .signature { + padding: 4px 8px; + margin-bottom: 4px; + display: inline-block; + background-color: #f8f8f8; + color: #47266E; + border: 1px solid #f0f0f0; + text-decoration: none; + border-radius: 3px; + font-family: Menlo, Monaco, Consolas, 'Courier New', Courier, monospace; + transition: background .15s, border-color .15s; +} + +.superclass-hierarchy .superclass a:hover, +.other-type a:hover, +.entry-summary .signature:hover { + background: #D5CAE3; + border-color: #624288; +} + +.entry-summary .summary { + padding-left: 32px; +} + +.entry-summary .summary p { + margin: 12px 0 16px; +} + +.entry-summary a { + text-decoration: none; +} + +.entry-detail { + padding: 30px 0; +} + +.entry-detail .signature { + position: relative; + padding: 5px 15px; + margin-bottom: 10px; + display: block; + border-radius: 5px; + background-color: #f8f8f8; + color: #47266E; + border: 1px solid #f0f0f0; + font-family: Menlo, Monaco, Consolas, 'Courier New', Courier, monospace; + transition: .2s ease-in-out; +} + +.entry-detail:target .signature { + background-color: #D5CAE3; + border: 1px solid #624288; +} + +.entry-detail .signature .method-permalink { + position: absolute; + top: 0; + left: -35px; + padding: 5px 15px; + text-decoration: none; + font-weight: bold; + color: #624288; + opacity: .4; + transition: opacity .2s; +} + +.entry-detail .signature .method-permalink:hover { + opacity: 1; +} + +.entry-detail:target .signature .method-permalink { + opacity: 1; +} + +.methods-inherited { + padding-right: 10%; + line-height: 1.5em; +} + +.methods-inherited h3 { + margin-bottom: 4px; +} + +.methods-inherited a { + display: inline-block; + text-decoration: none; + color: #47266E; +} + +.methods-inherited a:hover { + text-decoration: underline; + color: #6C518B; +} + +.methods-inherited .tooltip>span { + background: #D5CAE3; + padding: 4px 8px; + border-radius: 3px; + margin: -4px -8px; +} + +.methods-inherited .tooltip * { + color: #47266E; +} + +pre { + padding: 10px 20px; + margin-top: 4px; + border-radius: 3px; + line-height: 1.45; + overflow: auto; + color: #333; + background: #fdfdfd; + font-size: 14px; + border: 1px solid #eee; +} + +code { + font-family: Menlo, Monaco, Consolas, 'Courier New', Courier, monospace; +} + +:not(pre) > code { + background-color: rgba(40,35,30,0.05); + padding: 0.2em 0.4em; + font-size: 85%; + border-radius: 3px; +} + +span.flag { + padding: 2px 4px 1px; + border-radius: 3px; + margin-right: 3px; + font-size: 11px; + border: 1px solid transparent; +} + +span.flag.orange { + background-color: #EE8737; + color: #FCEBDD; + border-color: #EB7317; +} + +span.flag.yellow { + background-color: #E4B91C; + color: #FCF8E8; + border-color: #B69115; +} + +span.flag.green { + background-color: #469C14; + color: #E2F9D3; + border-color: #34700E; +} + +span.flag.red { + background-color: #BF1919; + color: #F9ECEC; + border-color: #822C2C; +} + +span.flag.purple { + background-color: #2E1052; + color: #ECE1F9; + border-color: #1F0B37; +} + +span.flag.lime { + background-color: #a3ff00; + color: #222222; + border-color: #00ff1e; +} + +.tooltip>span { + position: absolute; + opacity: 0; + display: none; + pointer-events: none; +} + +.tooltip:hover>span { + display: inline-block; + opacity: 1; +} + +.c { + color: #969896; +} + +.n { + color: #0086b3; +} + +.t { + color: #0086b3; +} + +.s { + color: #183691; +} + +.i { + color: #7f5030; +} + +.k { + color: #a71d5d; +} + +.o { + color: #a71d5d; +} + +.m { + color: #795da3; +} + +.hidden { + display: none; +} +.search-results { + font-size: 90%; + line-height: 1.3; +} + +.search-results mark { + color: inherit; + background: transparent; + font-weight: bold; +} +.search-result { + padding: 5px 8px 5px 5px; + cursor: pointer; + border-left: 5px solid transparent; + transform: translateX(-3px); + transition: all .2s, background-color 0s, border .02s; + min-height: 3.2em; +} +.search-result.current { + border-left-color: #ddd; + background-color: rgba(200,200,200,0.4); + transform: translateX(0); + transition: all .2s, background-color .5s, border 0s; +} +.search-result.current:hover, +.search-result.current:focus { + border-left-color: #866BA6; +} +.search-result:not(.current):nth-child(2n) { + background-color: rgba(255,255,255,.06); +} +.search-result__title { + font-size: 105%; + word-break: break-all; + line-height: 1.1; + padding: 3px 0; +} +.search-result__title strong { + font-weight: normal; +} +.search-results .search-result__title > a { + padding: 0; + display: block; +} +.search-result__title > a > .args { + color: #dddddd; + font-weight: 300; + transition: inherit; + font-size: 88%; + line-height: 1.2; + letter-spacing: -.02em; +} +.search-result__title > a > .args * { + color: inherit; +} + +.search-result a, +.search-result a:hover { + color: inherit; +} +.search-result:not(.current):hover .search-result__title > a, +.search-result:not(.current):focus .search-result__title > a, +.search-result__title > a:focus { + color: #866BA6; +} +.search-result:not(.current):hover .args, +.search-result:not(.current):focus .args { + color: #6a5a7d; +} + +.search-result__type { + color: #e8e8e8; + font-weight: 300; +} +.search-result__doc { + color: #bbbbbb; + font-size: 90%; +} +.search-result__doc p { + margin: 0; + text-overflow: ellipsis; + display: -webkit-box; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + line-height: 1.2em; + max-height: 2.4em; +} + +.js-modal-visible .modal-background { + display: flex; +} +.main-content { + position: relative; +} +.modal-background { + position: absolute; + display: none; + height: 100%; + width: 100%; + background: rgba(120,120,120,.4); + z-index: 100; + align-items: center; + justify-content: center; +} +.usage-modal { + max-width: 90%; + background: #fff; + border: 2px solid #ccc; + border-radius: 9px; + padding: 5px 15px 20px; + min-width: 50%; + color: #555; + position: relative; + transform: scale(.5); + transition: transform 200ms; +} +.js-modal-visible .usage-modal { + transform: scale(1); +} +.usage-modal > .close-button { + position: absolute; + right: 15px; + top: 8px; + color: #aaa; + font-size: 27px; + cursor: pointer; +} +.usage-modal > .close-button:hover { + text-shadow: 2px 2px 2px #ccc; + color: #999; +} +.modal-title { + margin: 0; + text-align: center; + font-weight: normal; + color: #666; + border-bottom: 2px solid #ddd; + padding: 10px; +} +.usage-list { + padding: 0; + margin: 13px; +} +.usage-list > li { + padding: 5px 2px; + overflow: auto; + padding-left: 100px; + min-width: 12em; +} +.usage-modal kbd { + background: #eee; + border: 1px solid #ccc; + border-bottom-width: 2px; + border-radius: 3px; + padding: 3px 8px; + font-family: monospace; + margin-right: 2px; + display: inline-block; +} +.usage-key { + float: left; + clear: left; + margin-left: -100px; + margin-right: 12px; +} +.doc-inherited { + font-weight: bold; +} + +.anchor { + float: left; + padding-right: 4px; + margin-left: -20px; +} + +.main-content .anchor .octicon-link { + width: 16px; + height: 16px; +} + +.main-content .anchor:focus { + outline: none +} + +.main-content h1:hover .anchor, +.main-content h2:hover .anchor, +.main-content h3:hover .anchor, +.main-content h4:hover .anchor, +.main-content h5:hover .anchor, +.main-content h6:hover .anchor { + text-decoration: none +} + +.main-content h1 .octicon-link, +.main-content h2 .octicon-link, +.main-content h3 .octicon-link, +.main-content h4 .octicon-link, +.main-content h5 .octicon-link, +.main-content h6 .octicon-link { + visibility: hidden +} + +.main-content h1:hover .anchor .octicon-link, +.main-content h2:hover .anchor .octicon-link, +.main-content h3:hover .anchor .octicon-link, +.main-content h4:hover .anchor .octicon-link, +.main-content h5:hover .anchor .octicon-link, +.main-content h6:hover .anchor .octicon-link { + visibility: visible +} diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 0000000..7b7a509 --- /dev/null +++ b/docs/index.html @@ -0,0 +1,213 @@ + + + + + + + + + + + + + + + + couchdb.cr 0.4.0 + + + + + + + + +
+

-fork of TechMagister/couchdb.cr

+ + + +

+ +Installation

+ +

Add this to your application's shard.yml:

+ +
dependencies:
+  couchdb:
+    github: vectorselector/couchdb.cr
+ +

+ +Usage

+ +
require "couchdb"
+
+client = CouchDB::Client.new "http://127.0.0.1:5984"
+
+info = client.server_info
+info.couchdb # Welcome
+info.version # 2.1.1
+info.vendor.name # The Apache Software Foundation
+
+ +

usage overview/example:

+ +
COUCHDB_URL = ENV["COUCHDB_URL"]? || "http://127.0.0.1:5984"
+DB = CouchDB::Client.new COUCHDB_URL
+myQuery = CouchDB::FindQuery.from_json %({"selector":{"user_id":"#{userId}", "$not":{"archived":true} }, "sort":[{"timestamp":"desc"}], "limit":#{limit} })
+myThing = DB.find_document("things", myQuery).docs.not_nil!.first
+ ```
+ 
+"sort" takes an array of  EITHER a String or an object as such [{"fieldname1": "desc"}, {"fieldname2": "asc"}] per CouchDB docs
+https://docs.couchdb.org/en/2.3.1/api/database/find.html#sort-syntax
+
+"skip" is like "limit" and goes outside the "selector"...
+
+## Development
+
+- [x] Get server info
+- [x] Create Database
+- [x] Delete Database
+- [x] List Databases
+- [x] Get new uuid
+- [x] Create Documents
+- [x] Find all the documents
+- [x] Find Documents with criteria
+- [x] Delete Documents
+- [x] Update Documents
+
+## Contributing
+
+1. Fork it ( https://github.com/vectorselector/couchdb/fork )
+2. Create your feature branch (git checkout -b my-new-feature)
+3. Commit your changes (git commit -am 'Add some feature')
+4. Push to the branch (git push origin my-new-feature)
+5. Create a new Pull Request
+
+## Original Project Contributors (what I've forked)
+- [TechMagister](https://github.com/TechMagister) Arnaud Fernandés - creator, maintainer
+- [Schniz](https://github.com/Schniz) Gal Schlezinger - contributor
+- [drhuffman12](https://github.com/drhuffman12) Daniel Huffman - contributor
+
+ + diff --git a/docs/index.json b/docs/index.json new file mode 100644 index 0000000..1d4eeda --- /dev/null +++ b/docs/index.json @@ -0,0 +1 @@ +{"repository_name":"couchdb.cr","body":"-fork of TechMagister/couchdb.cr\n- fixed \"sort\"\n- updated for crystal 0.35.1 (will update for v1 shortly...circleCI = never. tests updated = shortly)\n- \nCouchDB client written in crystal\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n couchdb:\n github: vectorselector/couchdb.cr\n```\n\n## Usage\n\n```crystal\nrequire \"couchdb\"\n\nclient = CouchDB::Client.new \"http://127.0.0.1:5984\"\n\ninfo = client.server_info\ninfo.couchdb # Welcome\ninfo.version # 2.1.1\ninfo.vendor.name # The Apache Software Foundation\n\n```\n\nusage overview/example:\n```\nCOUCHDB_URL = ENV[\"COUCHDB_URL\"]? || \"http://127.0.0.1:5984\"\nDB = CouchDB::Client.new COUCHDB_URL\nmyQuery = CouchDB::FindQuery.from_json %({\"selector\":{\"user_id\":\"#{userId}\", \"$not\":{\"archived\":true} }, \"sort\":[{\"timestamp\":\"desc\"}], \"limit\":#{limit} })\nmyThing = DB.find_document(\"things\", myQuery).docs.not_nil!.first\n ```\n \n\"sort\" takes an array of EITHER a String or an object as such [{\"fieldname1\": \"desc\"}, {\"fieldname2\": \"asc\"}] per CouchDB docs\nhttps://docs.couchdb.org/en/2.3.1/api/database/find.html#sort-syntax\n\n\"skip\" is like \"limit\" and goes outside the \"selector\"...\n\n## Development\n\n- [x] Get server info\n- [x] Create Database\n- [x] Delete Database\n- [x] List Databases\n- [x] Get new uuid\n- [x] Create Documents\n- [x] Find all the documents\n- [x] Find Documents with criteria\n- [x] Delete Documents\n- [x] Update Documents\n\n## Contributing\n\n1. Fork it ( https://github.com/vectorselector/couchdb/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Original Project Contributors (what I've forked)\n- [TechMagister](https://github.com/TechMagister) Arnaud Fernandés - creator, maintainer\n- [Schniz](https://github.com/Schniz) Gal Schlezinger - contributor\n- [drhuffman12](https://github.com/drhuffman12) Daniel Huffman - contributor\n","program":{"html_id":"couchdb.cr/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"couchdb.cr","program":true,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"couchdb.cr/CouchDB","path":"CouchDB.html","kind":"module","full_name":"CouchDB","name":"CouchDB","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb.cr","line_number":8,"url":null},{"filename":"src/couchdb/client.cr","line_number":7,"url":null},{"filename":"src/couchdb/database.cr","line_number":3,"url":null},{"filename":"src/couchdb/find_query.cr","line_number":3,"url":null},{"filename":"src/couchdb/version.cr","line_number":1,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/drhuffman/_tmp_/github/drhuffman12/couchdb.cr/src/couchdb\\\"`).chomp.stringify }}","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"html_id":"mapping(**properties)-macro","name":"mapping","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"(**properties)","args_html":"(**properties)","location":{"filename":"src/couchdb.cr","line_number":10,"url":null},"def":{"name":"mapping","args":[],"double_splat":{"name":"properties","doc":null,"default_value":"","external_name":"properties","restriction":""},"splat_index":null,"block_arg":null,"visibility":"Public","body":" JSON.mapping(\n _id: String?,\n _rev: String?,\n \n{{ **properties }}\n\n )\n \n"}}],"types":[{"html_id":"couchdb.cr/CouchDB/Client","path":"CouchDB/Client.html","kind":"class","full_name":"CouchDB::Client","name":"Client","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/client.cr","line_number":28,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(uri:String=\"http://127.0.0.1:5984\")-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"uri","doc":null,"default_value":"\"http://127.0.0.1:5984\"","external_name":"uri","restriction":"String"}],"args_string":"(uri : String = \"http://127.0.0.1:5984\")","args_html":"(uri : String = "http://127.0.0.1:5984")","location":{"filename":"src/couchdb/client.cr","line_number":30,"url":null},"def":{"name":"new","args":[{"name":"uri","doc":null,"default_value":"\"http://127.0.0.1:5984\"","external_name":"uri","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(uri)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active_tasks:Array(CouchDB::Response::ActiveTask)-instance-method","name":"active_tasks","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(CouchDB::Response::ActiveTask)","args_html":" : Array(CouchDB::Response::ActiveTask)","location":{"filename":"src/couchdb/client.cr","line_number":42,"url":null},"def":{"name":"active_tasks","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(CouchDB::Response::ActiveTask)","visibility":"Public","body":"Array(CouchDB::Response::ActiveTask).from_json(get(URL::ACTIVE_TASKS))"}},{"html_id":"create_database(name:String):Response::Status-instance-method","name":"create_database","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Response::Status","args_html":"(name : String) : Response::Status","location":{"filename":"src/couchdb/client.cr","line_number":54,"url":null},"def":{"name":"create_database","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Status","visibility":"Public","body":"Response::Status.from_json(put(URL::DB % name))"}},{"html_id":"create_document(database,object):Response::DocumentStatus-instance-method","name":"create_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(database, object) : Response::DocumentStatus","args_html":"(database, object) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":73,"url":null},"def":{"name":"create_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"uuid = new_uuids.first\nResponse::DocumentStatus.from_json(put(URL::DOC % {database, uuid}, body: object.to_json))\n"}},{"html_id":"create_document_custom_id(database,object,id):Response::DocumentStatus-instance-method","name":"create_document_custom_id","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""}],"args_string":"(database, object, id) : Response::DocumentStatus","args_html":"(database, object, id) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":80,"url":null},"def":{"name":"create_document_custom_id","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(put(URL::DOC % {database, id}, body: object.to_json))"}},{"html_id":"databases:Array(String)-instance-method","name":"databases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","args_html":" : Array(String)","location":{"filename":"src/couchdb/client.cr","line_number":50,"url":null},"def":{"name":"databases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"Array(String).from_json(get(URL::ALL_DBS))"}},{"html_id":"delete(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"delete","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"delete","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.delete(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"delete_database(name:String):Response::Status-instance-method","name":"delete_database","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Response::Status","args_html":"(name : String) : Response::Status","location":{"filename":"src/couchdb/client.cr","line_number":58,"url":null},"def":{"name":"delete_database","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Status","visibility":"Public","body":"Response::Status.from_json(delete(URL::DB % name))"}},{"html_id":"delete_document(database,uuid,rev):Response::DocumentStatus-instance-method","name":"delete_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":""}],"args_string":"(database, uuid, rev) : Response::DocumentStatus","args_html":"(database, uuid, rev) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":86,"url":null},"def":{"name":"delete_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(delete((URL::DOC % {database, uuid}) + \"?rev=#{rev}\"))"}},{"html_id":"documents(database:String,include_docs=false):Response::Results-instance-method","name":"documents","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"include_docs","doc":null,"default_value":"false","external_name":"include_docs","restriction":""}],"args_string":"(database : String, include_docs = false) : Response::Results","args_html":"(database : String, include_docs = false) : Response::Results","location":{"filename":"src/couchdb/client.cr","line_number":67,"url":null},"def":{"name":"documents","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"include_docs","doc":null,"default_value":"false","external_name":"include_docs","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Results","visibility":"Public","body":"base = URL::ALL_DOCS % database\nuri = (base + \"?include_docs=\") + include_docs.to_s\nResponse::Results.from_json(get(uri))\n"}},{"html_id":"find_document(database:String,query:FindQuery,response_class)-instance-method","name":"find_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"args_string":"(database : String, query : FindQuery, response_class)","args_html":"(database : String, query : FindQuery, response_class)","location":{"filename":"src/couchdb/client.cr","line_number":107,"url":null},"def":{"name":"find_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"base = URL::FIND_DOCS % database\nresponse_class.from_json(post(base, body: query.to_json, headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}))\n"}},{"html_id":"find_document(database:String,query:FindQuery):Response::FindResults(JSON::Any)-instance-method","name":"find_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"}],"args_string":"(database : String, query : FindQuery) : Response::FindResults(JSON::Any)","args_html":"(database : String, query : FindQuery) : Response::FindResults(JSON::Any)","location":{"filename":"src/couchdb/client.cr","line_number":103,"url":null},"def":{"name":"find_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::FindResults(JSON::Any)","visibility":"Public","body":"find_document(database, query, CouchDB::Response::FindResults(JSON::Any))"}},{"html_id":"get(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"get","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.get(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"get_document(database:String,id:String,response_class)-instance-method","name":"get_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"args_string":"(database : String, id : String, response_class)","args_html":"(database : String, id : String, response_class)","location":{"filename":"src/couchdb/client.cr","line_number":98,"url":null},"def":{"name":"get_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.get(@uri + (URL::DOC % {database, id}))\nif response.success?\n response_class.from_json(response.body)\nend\n"}},{"html_id":"new_uuids(count=1):Array(String)-instance-method","name":"new_uuids","doc":null,"summary":null,"abstract":false,"args":[{"name":"count","doc":null,"default_value":"1","external_name":"count","restriction":""}],"args_string":"(count = 1) : Array(String)","args_html":"(count = 1) : Array(String)","location":{"filename":"src/couchdb/client.cr","line_number":62,"url":null},"def":{"name":"new_uuids","args":[{"name":"count","doc":null,"default_value":"1","external_name":"count","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"res = NamedTuple(uuids: Array(String)).from_json(get(URL::UUIDS % count))\nres[\"uuids\"]\n"}},{"html_id":"post(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"post","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.post(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"put(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"put","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.put(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"server_info:Response::ServerInfo-instance-method","name":"server_info","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Response::ServerInfo","args_html":" : Response::ServerInfo","location":{"filename":"src/couchdb/client.cr","line_number":46,"url":null},"def":{"name":"server_info","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::ServerInfo","visibility":"Public","body":"Response::ServerInfo.from_json(get(URL::INFO))"}},{"html_id":"update_document(database,uuid,document):Response::DocumentStatus-instance-method","name":"update_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"document","doc":null,"default_value":"","external_name":"document","restriction":""}],"args_string":"(database, uuid, document) : Response::DocumentStatus","args_html":"(database, uuid, document) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":92,"url":null},"def":{"name":"update_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"document","doc":null,"default_value":"","external_name":"document","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(put(URL::DOC % {database, uuid}, body: document.to_json))"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Database","path":"CouchDB/Database.html","kind":"class","full_name":"CouchDB::Database","name":"Database","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/database.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(client,name)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"client","doc":null,"default_value":"","external_name":"client","restriction":""},{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"args_string":"(client, name)","args_html":"(client, name)","location":{"filename":"src/couchdb/database.cr","line_number":12,"url":null},"def":{"name":"new","args":[{"name":"client","doc":null,"default_value":"","external_name":"client","restriction":""},{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(client, name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"client:CouchDB::Client-instance-method","name":"client","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : CouchDB::Client","args_html":" : CouchDB::Client","location":{"filename":"src/couchdb/database.cr","line_number":7,"url":null},"def":{"name":"client","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client"}},{"html_id":"create(object)-instance-method","name":"create","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":23,"url":null},"def":{"name":"create","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"res = @client.create_document(@name, object)\nif res.ok?\n object._id=(res.id)\n object._rev=(res.rev)\nelse\n raise(Exception.new(res.reason?))\nend\n"}},{"html_id":"create!-instance-method","name":"create!","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/database.cr","line_number":19,"url":null},"def":{"name":"create!","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.create_database(@name)"}},{"html_id":"delete(object)-instance-method","name":"delete","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":58,"url":null},"def":{"name":"delete","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if object._id && object._rev\n res = @client.delete_document(@name, object._id, object._rev)\n if res.ok?\n object._rev=(res.rev)\n else\n raise(Exception.new(res.reason?))\n end\nelse\n raise(Exception.new(\"Can't delete non persistant object\"))\nend"}},{"html_id":"drop!-instance-method","name":"drop!","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/database.cr","line_number":72,"url":null},"def":{"name":"drop!","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.delete_database(@name)"}},{"html_id":"find(query,resultclass)-instance-method","name":"find","doc":null,"summary":null,"abstract":false,"args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"args_string":"(query, resultclass)","args_html":"(query, resultclass)","location":{"filename":"src/couchdb/database.cr","line_number":37,"url":null},"def":{"name":"find","args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.find_document(@name, query, resultclass)"}},{"html_id":"find(query)-instance-method","name":"find","doc":null,"summary":null,"abstract":false,"args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""}],"args_string":"(query)","args_html":"(query)","location":{"filename":"src/couchdb/database.cr","line_number":33,"url":null},"def":{"name":"find","args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.find_document(@name, query)"}},{"html_id":"get(id,resultclass)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"args_string":"(id, resultclass)","args_html":"(id, resultclass)","location":{"filename":"src/couchdb/database.cr","line_number":54,"url":null},"def":{"name":"get","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.get_document(@name, id, resultclass)"}},{"html_id":"name:String-instance-method","name":"name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/database.cr","line_number":7,"url":null},"def":{"name":"name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@name"}},{"html_id":"update(object)-instance-method","name":"update","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":41,"url":null},"def":{"name":"update","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if object._id\n res = @client.update_document(@name, object._id, object)\n if res.ok?\n object._rev=(res.rev)\n else\n raise(Exception.new(res.reason?))\n end\nelse\n raise(Exception.new(\"Can't update non persistant object\"))\nend"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/FindQuery","path":"CouchDB/FindQuery.html","kind":"class","full_name":"CouchDB::FindQuery","name":"FindQuery","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/find_query.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/find_query.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"fields:Array(String)?-instance-method","name":"fields","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)?","args_html":" : Array(String)?","location":{"filename":"src/couchdb/find_query.cr","line_number":12,"url":null},"def":{"name":"fields","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String) | ::Nil","visibility":"Public","body":"@fields"}},{"html_id":"fields=(fields:Array(String)?)-instance-method","name":"fields=","doc":null,"summary":null,"abstract":false,"args":[{"name":"fields","doc":null,"default_value":"","external_name":"fields","restriction":"Array(String) | ::Nil"}],"args_string":"(fields : Array(String)?)","args_html":"(fields : Array(String)?)","location":{"filename":"src/couchdb/find_query.cr","line_number":12,"url":null},"def":{"name":"fields=","args":[{"name":"fields","doc":null,"default_value":"","external_name":"fields","restriction":"Array(String) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@fields = fields"}},{"html_id":"limit:Int64?-instance-method","name":"limit","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64?","args_html":" : Int64?","location":{"filename":"src/couchdb/find_query.cr","line_number":9,"url":null},"def":{"name":"limit","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64 | ::Nil","visibility":"Public","body":"@limit"}},{"html_id":"limit=(limit:Int64?)-instance-method","name":"limit=","doc":null,"summary":null,"abstract":false,"args":[{"name":"limit","doc":null,"default_value":"","external_name":"limit","restriction":"Int64 | ::Nil"}],"args_string":"(limit : Int64?)","args_html":"(limit : Int64?)","location":{"filename":"src/couchdb/find_query.cr","line_number":9,"url":null},"def":{"name":"limit=","args":[{"name":"limit","doc":null,"default_value":"","external_name":"limit","restriction":"Int64 | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@limit = limit"}},{"html_id":"selector:JSON::Any-instance-method","name":"selector","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JSON::Any","args_html":" : JSON::Any","location":{"filename":"src/couchdb/find_query.cr","line_number":8,"url":null},"def":{"name":"selector","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JSON::Any","visibility":"Public","body":"@selector"}},{"html_id":"selector=(selector:JSON::Any)-instance-method","name":"selector=","doc":null,"summary":null,"abstract":false,"args":[{"name":"selector","doc":null,"default_value":"","external_name":"selector","restriction":"JSON::Any"}],"args_string":"(selector : JSON::Any)","args_html":"(selector : JSON::Any)","location":{"filename":"src/couchdb/find_query.cr","line_number":8,"url":null},"def":{"name":"selector=","args":[{"name":"selector","doc":null,"default_value":"","external_name":"selector","restriction":"JSON::Any"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@selector = selector"}},{"html_id":"skip:Int64?-instance-method","name":"skip","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64?","args_html":" : Int64?","location":{"filename":"src/couchdb/find_query.cr","line_number":10,"url":null},"def":{"name":"skip","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64 | ::Nil","visibility":"Public","body":"@skip"}},{"html_id":"skip=(skip:Int64?)-instance-method","name":"skip=","doc":null,"summary":null,"abstract":false,"args":[{"name":"skip","doc":null,"default_value":"","external_name":"skip","restriction":"Int64 | ::Nil"}],"args_string":"(skip : Int64?)","args_html":"(skip : Int64?)","location":{"filename":"src/couchdb/find_query.cr","line_number":10,"url":null},"def":{"name":"skip=","args":[{"name":"skip","doc":null,"default_value":"","external_name":"skip","restriction":"Int64 | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@skip = skip"}},{"html_id":"sort:Array(String)|Nil|JSON::Any|Nil-instance-method","name":"sort","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String) | Nil | JSON::Any | Nil","args_html":" : Array(String) | Nil | JSON::Any | Nil","location":{"filename":"src/couchdb/find_query.cr","line_number":11,"url":null},"def":{"name":"sort","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String) | ::Nil | JSON::Any | ::Nil","visibility":"Public","body":"@sort"}},{"html_id":"sort=(sort:Array(String)|Nil|JSON::Any|Nil)-instance-method","name":"sort=","doc":null,"summary":null,"abstract":false,"args":[{"name":"sort","doc":null,"default_value":"","external_name":"sort","restriction":"Array(String) | ::Nil | JSON::Any | ::Nil"}],"args_string":"(sort : Array(String) | Nil | JSON::Any | Nil)","args_html":"(sort : Array(String) | Nil | JSON::Any | Nil)","location":{"filename":"src/couchdb/find_query.cr","line_number":11,"url":null},"def":{"name":"sort=","args":[{"name":"sort","doc":null,"default_value":"","external_name":"sort","restriction":"Array(String) | ::Nil | JSON::Any | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@sort = sort"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response","path":"CouchDB/Response.html","kind":"module","full_name":"CouchDB::Response","name":"Response","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb/response/active_task.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/results.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/server_info.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/status.cr","line_number":4,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"couchdb.cr/CouchDB/Response/ActiveTask","path":"CouchDB/Response/ActiveTask.html","kind":"class","full_name":"CouchDB::Response::ActiveTask","name":"ActiveTask","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/active_task.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_done:Int64-instance-method","name":"change_done","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":8,"url":null},"def":{"name":"change_done","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@change_done"}},{"html_id":"change_done=(change_done:Int64)-instance-method","name":"change_done=","doc":null,"summary":null,"abstract":false,"args":[{"name":"change_done","doc":null,"default_value":"","external_name":"change_done","restriction":"Int64"}],"args_string":"(change_done : Int64)","args_html":"(change_done : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":8,"url":null},"def":{"name":"change_done=","args":[{"name":"change_done","doc":null,"default_value":"","external_name":"change_done","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@change_done = change_done"}},{"html_id":"database:String-instance-method","name":"database","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":9,"url":null},"def":{"name":"database","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@database"}},{"html_id":"database=(database:String)-instance-method","name":"database=","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"}],"args_string":"(database : String)","args_html":"(database : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":9,"url":null},"def":{"name":"database=","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@database = database"}},{"html_id":"pid:String-instance-method","name":"pid","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":10,"url":null},"def":{"name":"pid","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@pid"}},{"html_id":"pid=(pid:String)-instance-method","name":"pid=","doc":null,"summary":null,"abstract":false,"args":[{"name":"pid","doc":null,"default_value":"","external_name":"pid","restriction":"String"}],"args_string":"(pid : String)","args_html":"(pid : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":10,"url":null},"def":{"name":"pid=","args":[{"name":"pid","doc":null,"default_value":"","external_name":"pid","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@pid = pid"}},{"html_id":"progress:Int64-instance-method","name":"progress","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":11,"url":null},"def":{"name":"progress","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@progress"}},{"html_id":"progress=(progress:Int64)-instance-method","name":"progress=","doc":null,"summary":null,"abstract":false,"args":[{"name":"progress","doc":null,"default_value":"","external_name":"progress","restriction":"Int64"}],"args_string":"(progress : Int64)","args_html":"(progress : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":11,"url":null},"def":{"name":"progress=","args":[{"name":"progress","doc":null,"default_value":"","external_name":"progress","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@progress = progress"}},{"html_id":"started_on:Int64-instance-method","name":"started_on","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":12,"url":null},"def":{"name":"started_on","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@started_on"}},{"html_id":"started_on=(started_on:Int64)-instance-method","name":"started_on=","doc":null,"summary":null,"abstract":false,"args":[{"name":"started_on","doc":null,"default_value":"","external_name":"started_on","restriction":"Int64"}],"args_string":"(started_on : Int64)","args_html":"(started_on : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":12,"url":null},"def":{"name":"started_on=","args":[{"name":"started_on","doc":null,"default_value":"","external_name":"started_on","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@started_on = started_on"}},{"html_id":"total_changes:Int64-instance-method","name":"total_changes","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":13,"url":null},"def":{"name":"total_changes","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@total_changes"}},{"html_id":"total_changes=(total_changes:Int64)-instance-method","name":"total_changes=","doc":null,"summary":null,"abstract":false,"args":[{"name":"total_changes","doc":null,"default_value":"","external_name":"total_changes","restriction":"Int64"}],"args_string":"(total_changes : Int64)","args_html":"(total_changes : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":13,"url":null},"def":{"name":"total_changes=","args":[{"name":"total_changes","doc":null,"default_value":"","external_name":"total_changes","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@total_changes = total_changes"}},{"html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":14,"url":null},"def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","doc":null,"summary":null,"abstract":false,"args":[{"name":"type","doc":null,"default_value":"","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":14,"url":null},"def":{"name":"type=","args":[{"name":"type","doc":null,"default_value":"","external_name":"type","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@type = type"}},{"html_id":"updated_on:Int64-instance-method","name":"updated_on","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":15,"url":null},"def":{"name":"updated_on","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@updated_on"}},{"html_id":"updated_on=(updated_on:Int64)-instance-method","name":"updated_on=","doc":null,"summary":null,"abstract":false,"args":[{"name":"updated_on","doc":null,"default_value":"","external_name":"updated_on","restriction":"Int64"}],"args_string":"(updated_on : Int64)","args_html":"(updated_on : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":15,"url":null},"def":{"name":"updated_on=","args":[{"name":"updated_on","doc":null,"default_value":"","external_name":"updated_on","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@updated_on = updated_on"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/DocumentStatus","path":"CouchDB/Response/DocumentStatus.html","kind":"class","full_name":"CouchDB::Response::DocumentStatus","name":"DocumentStatus","abstract":false,"superclass":{"html_id":"couchdb.cr/CouchDB/Response/Status","kind":"class","full_name":"CouchDB::Response::Status","name":"Status"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/CouchDB/Response/Status","kind":"class","full_name":"CouchDB::Response::Status","name":"Status"},{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/status.cr","line_number":26,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/status.cr","line_number":27,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":29,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":29,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"id:String?-instance-method","name":"id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":31,"url":null},"def":{"name":"id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String?)-instance-method","name":"id=","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String?)","args_html":"(id : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":31,"url":null},"def":{"name":"id=","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@id = id"}},{"html_id":"ok:Bool?-instance-method","name":"ok","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","args_html":" : Bool?","location":{"filename":"src/couchdb/response/status.cr","line_number":28,"url":null},"def":{"name":"ok","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@ok"}},{"html_id":"ok=(ok:Bool?)-instance-method","name":"ok=","doc":null,"summary":null,"abstract":false,"args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"args_string":"(ok : Bool?)","args_html":"(ok : Bool?)","location":{"filename":"src/couchdb/response/status.cr","line_number":28,"url":null},"def":{"name":"ok=","args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ok = ok"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":30,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":30,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"rev:String?-instance-method","name":"rev","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":32,"url":null},"def":{"name":"rev","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@rev"}},{"html_id":"rev=(rev:String?)-instance-method","name":"rev=","doc":null,"summary":null,"abstract":false,"args":[{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":"String | ::Nil"}],"args_string":"(rev : String?)","args_html":"(rev : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":32,"url":null},"def":{"name":"rev=","args":[{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@rev = rev"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/FindResults","path":"CouchDB/Response/FindResults.html","kind":"class","full_name":"CouchDB::Response::FindResults(T)","name":"FindResults","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":29,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":30,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"docs:Array(T)?-instance-method","name":"docs","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(T)?","args_html":" : Array(T)?","location":{"filename":"src/couchdb/response/results.cr","line_number":34,"url":null},"def":{"name":"docs","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(T) | ::Nil","visibility":"Public","body":"@docs"}},{"html_id":"docs=(docs:Array(T)?)-instance-method","name":"docs=","doc":null,"summary":null,"abstract":false,"args":[{"name":"docs","doc":null,"default_value":"","external_name":"docs","restriction":"Array(T) | ::Nil"}],"args_string":"(docs : Array(T)?)","args_html":"(docs : Array(T)?)","location":{"filename":"src/couchdb/response/results.cr","line_number":34,"url":null},"def":{"name":"docs=","args":[{"name":"docs","doc":null,"default_value":"","external_name":"docs","restriction":"Array(T) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@docs = docs"}},{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":31,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":31,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"ok?-instance-method","name":"ok?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/results.cr","line_number":36,"url":null},"def":{"name":"ok?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"error ? false : true"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":32,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":32,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"warning:String?-instance-method","name":"warning","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":33,"url":null},"def":{"name":"warning","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@warning"}},{"html_id":"warning=(warning:String?)-instance-method","name":"warning=","doc":null,"summary":null,"abstract":false,"args":[{"name":"warning","doc":null,"default_value":"","external_name":"warning","restriction":"String | ::Nil"}],"args_string":"(warning : String?)","args_html":"(warning : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":33,"url":null},"def":{"name":"warning=","args":[{"name":"warning","doc":null,"default_value":"","external_name":"warning","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@warning = warning"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Result","path":"CouchDB/Response/Result.html","kind":"class","full_name":"CouchDB::Response::Result","name":"Result","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"[](key:String)-instance-method","name":"[]","doc":null,"summary":null,"abstract":false,"args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":12,"url":null},"def":{"name":"[]","args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if d = doc\n d[key]\nelse\n raise(Exception.new(\"Doc not in the results\"))\nend"}},{"html_id":"doc:JSON::Any?-instance-method","name":"doc","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JSON::Any?","args_html":" : JSON::Any?","location":{"filename":"src/couchdb/response/results.cr","line_number":10,"url":null},"def":{"name":"doc","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@doc"}},{"html_id":"doc=(doc:JSON::Any?)-instance-method","name":"doc=","doc":null,"summary":null,"abstract":false,"args":[{"name":"doc","doc":null,"default_value":"","external_name":"doc","restriction":"JSON::Any | ::Nil"}],"args_string":"(doc : JSON::Any?)","args_html":"(doc : JSON::Any?)","location":{"filename":"src/couchdb/response/results.cr","line_number":10,"url":null},"def":{"name":"doc=","args":[{"name":"doc","doc":null,"default_value":"","external_name":"doc","restriction":"JSON::Any | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@doc = doc"}},{"html_id":"id:String-instance-method","name":"id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/results.cr","line_number":7,"url":null},"def":{"name":"id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":7,"url":null},"def":{"name":"id=","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@id = id"}},{"html_id":"key:String-instance-method","name":"key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/results.cr","line_number":8,"url":null},"def":{"name":"key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":null,"summary":null,"abstract":false,"args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":8,"url":null},"def":{"name":"key=","args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@key = key"}},{"html_id":"value:NamedTuple(rev:String)-instance-method","name":"value","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : NamedTuple(rev: String)","args_html":" : NamedTuple(rev: String)","location":{"filename":"src/couchdb/response/results.cr","line_number":9,"url":null},"def":{"name":"value","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"NamedTuple(rev: String)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:NamedTuple(rev:String))-instance-method","name":"value=","doc":null,"summary":null,"abstract":false,"args":[{"name":"value","doc":null,"default_value":"","external_name":"value","restriction":"NamedTuple(rev: String)"}],"args_string":"(value : NamedTuple(rev: String))","args_html":"(value : NamedTuple(rev: String))","location":{"filename":"src/couchdb/response/results.cr","line_number":9,"url":null},"def":{"name":"value=","args":[{"name":"value","doc":null,"default_value":"","external_name":"value","restriction":"NamedTuple(rev: String)"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@value = value"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Results","path":"CouchDB/Response/Results.html","kind":"class","full_name":"CouchDB::Response::Results","name":"Results","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":22,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":23,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"offset:Int64-instance-method","name":"offset","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/results.cr","line_number":25,"url":null},"def":{"name":"offset","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@offset"}},{"html_id":"offset=(offset:Int64)-instance-method","name":"offset=","doc":null,"summary":null,"abstract":false,"args":[{"name":"offset","doc":null,"default_value":"","external_name":"offset","restriction":"Int64"}],"args_string":"(offset : Int64)","args_html":"(offset : Int64)","location":{"filename":"src/couchdb/response/results.cr","line_number":25,"url":null},"def":{"name":"offset=","args":[{"name":"offset","doc":null,"default_value":"","external_name":"offset","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@offset = offset"}},{"html_id":"rows:Array(Result)-instance-method","name":"rows","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Result)","args_html":" : Array(Result)","location":{"filename":"src/couchdb/response/results.cr","line_number":26,"url":null},"def":{"name":"rows","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Result)","visibility":"Public","body":"@rows"}},{"html_id":"rows=(rows:Array(Result))-instance-method","name":"rows=","doc":null,"summary":null,"abstract":false,"args":[{"name":"rows","doc":null,"default_value":"","external_name":"rows","restriction":"Array(Result)"}],"args_string":"(rows : Array(Result))","args_html":"(rows : Array(Result))","location":{"filename":"src/couchdb/response/results.cr","line_number":26,"url":null},"def":{"name":"rows=","args":[{"name":"rows","doc":null,"default_value":"","external_name":"rows","restriction":"Array(Result)"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@rows = rows"}},{"html_id":"total_rows:Int64-instance-method","name":"total_rows","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/results.cr","line_number":24,"url":null},"def":{"name":"total_rows","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@total_rows"}},{"html_id":"total_rows=(total_rows:Int64)-instance-method","name":"total_rows=","doc":null,"summary":null,"abstract":false,"args":[{"name":"total_rows","doc":null,"default_value":"","external_name":"total_rows","restriction":"Int64"}],"args_string":"(total_rows : Int64)","args_html":"(total_rows : Int64)","location":{"filename":"src/couchdb/response/results.cr","line_number":24,"url":null},"def":{"name":"total_rows=","args":[{"name":"total_rows","doc":null,"default_value":"","external_name":"total_rows","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@total_rows = total_rows"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/ServerInfo","path":"CouchDB/Response/ServerInfo.html","kind":"class","full_name":"CouchDB::Response::ServerInfo","name":"ServerInfo","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/server_info.cr","line_number":15,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":16,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"couchdb:String-instance-method","name":"couchdb","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":17,"url":null},"def":{"name":"couchdb","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@couchdb"}},{"html_id":"couchdb=(couchdb:String)-instance-method","name":"couchdb=","doc":null,"summary":null,"abstract":false,"args":[{"name":"couchdb","doc":null,"default_value":"","external_name":"couchdb","restriction":"String"}],"args_string":"(couchdb : String)","args_html":"(couchdb : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":17,"url":null},"def":{"name":"couchdb=","args":[{"name":"couchdb","doc":null,"default_value":"","external_name":"couchdb","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@couchdb = couchdb"}},{"html_id":"is_v2?-instance-method","name":"is_v2?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":22,"url":null},"def":{"name":"is_v2?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"!((/^2\\.\\d+\\.\\d+$/).match(version).nil?)"}},{"html_id":"is_v3?-instance-method","name":"is_v3?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":26,"url":null},"def":{"name":"is_v3?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"!((/^3\\.\\d+\\.\\d+$/).match(version).nil?)"}},{"html_id":"uuid:String-instance-method","name":"uuid","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":18,"url":null},"def":{"name":"uuid","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@uuid"}},{"html_id":"uuid=(uuid:String)-instance-method","name":"uuid=","doc":null,"summary":null,"abstract":false,"args":[{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":"String"}],"args_string":"(uuid : String)","args_html":"(uuid : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":18,"url":null},"def":{"name":"uuid=","args":[{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@uuid = uuid"}},{"html_id":"vendor:Vendor-instance-method","name":"vendor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Vendor","args_html":" : Vendor","location":{"filename":"src/couchdb/response/server_info.cr","line_number":20,"url":null},"def":{"name":"vendor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Vendor","visibility":"Public","body":"@vendor"}},{"html_id":"vendor=(vendor:Vendor)-instance-method","name":"vendor=","doc":null,"summary":null,"abstract":false,"args":[{"name":"vendor","doc":null,"default_value":"","external_name":"vendor","restriction":"Vendor"}],"args_string":"(vendor : Vendor)","args_html":"(vendor : Vendor)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":20,"url":null},"def":{"name":"vendor=","args":[{"name":"vendor","doc":null,"default_value":"","external_name":"vendor","restriction":"Vendor"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@vendor = vendor"}},{"html_id":"version:String-instance-method","name":"version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":19,"url":null},"def":{"name":"version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","doc":null,"summary":null,"abstract":false,"args":[{"name":"version","doc":null,"default_value":"","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":19,"url":null},"def":{"name":"version=","args":[{"name":"version","doc":null,"default_value":"","external_name":"version","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@version = version"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Status","path":"CouchDB/Response/Status.html","kind":"class","full_name":"CouchDB::Response::Status","name":"Status","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/status.cr","line_number":6,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"couchdb.cr/CouchDB/Response/DocumentStatus","kind":"class","full_name":"CouchDB::Response::DocumentStatus","name":"DocumentStatus"}],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/status.cr","line_number":7,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":9,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":9,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"error?-instance-method","name":"error?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/status.cr","line_number":16,"url":null},"def":{"name":"error?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"error"}},{"html_id":"ok:Bool?-instance-method","name":"ok","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","args_html":" : Bool?","location":{"filename":"src/couchdb/response/status.cr","line_number":8,"url":null},"def":{"name":"ok","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@ok"}},{"html_id":"ok=(ok:Bool?)-instance-method","name":"ok=","doc":null,"summary":null,"abstract":false,"args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"args_string":"(ok : Bool?)","args_html":"(ok : Bool?)","location":{"filename":"src/couchdb/response/status.cr","line_number":8,"url":null},"def":{"name":"ok=","args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ok = ok"}},{"html_id":"ok?:Bool-instance-method","name":"ok?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","args_html":" : Bool","location":{"filename":"src/couchdb/response/status.cr","line_number":12,"url":null},"def":{"name":"ok?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool","visibility":"Public","body":"ok.nil? ? false : ok.not_nil!"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":10,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":10,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"reason?-instance-method","name":"reason?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/status.cr","line_number":20,"url":null},"def":{"name":"reason?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"reason"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Vendor","path":"CouchDB/Response/Vendor.html","kind":"class","full_name":"CouchDB::Response::Vendor","name":"Vendor","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/server_info.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":7,"url":null},"def":{"name":"name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":7,"url":null},"def":{"name":"name=","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@name = name"}},{"html_id":"version-instance-method","name":"version","doc":"property version : String","summary":"

property version : String

\n\n

DEPRECATED Use ServerInfo#version instead of Vendor#version.

\n\n","abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":11,"url":null},"def":{"name":"version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}}],"macros":[],"types":[]}]},{"html_id":"couchdb.cr/CouchDB/URL","path":"CouchDB/URL.html","kind":"module","full_name":"CouchDB::URL","name":"URL","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb/client.cr","line_number":9,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[{"id":"ACTIVE_TASKS","name":"ACTIVE_TASKS","value":"\"/_active_tasks\"","doc":null,"summary":null},{"id":"ALL_DBS","name":"ALL_DBS","value":"\"/_all_dbs\"","doc":null,"summary":null},{"id":"ALL_DOCS","name":"ALL_DOCS","value":"DB + \"/_all_docs\"","doc":null,"summary":null},{"id":"DB","name":"DB","value":"\"/%s\"","doc":null,"summary":null},{"id":"DOC","name":"DOC","value":"DB + \"/%s\"","doc":"Database","summary":"

Database

"},{"id":"FIND_DOCS","name":"FIND_DOCS","value":"DB + \"/_find\"","doc":null,"summary":null},{"id":"INFO","name":"INFO","value":"\"/\"","doc":"Server","summary":"

Server

"},{"id":"UUIDS","name":"UUIDS","value":"\"/_uuids?count=%d\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]}]}} \ No newline at end of file diff --git a/docs/js/doc.js b/docs/js/doc.js new file mode 100644 index 0000000..c0ebb1e --- /dev/null +++ b/docs/js/doc.js @@ -0,0 +1,1086 @@ +window.CrystalDocs = (window.CrystalDocs || {}); + +CrystalDocs.base_path = (CrystalDocs.base_path || ""); + +CrystalDocs.searchIndex = (CrystalDocs.searchIndex || false); +CrystalDocs.MAX_RESULTS_DISPLAY = 140; + +CrystalDocs.runQuery = function(query) { + function searchType(type, query, results) { + var matches = []; + var matchedFields = []; + var name = type.full_name; + var i = name.lastIndexOf("::"); + if (i > 0) { + name = name.substring(i + 2); + } + var nameMatches = query.matches(name); + if (nameMatches){ + matches = matches.concat(nameMatches); + matchedFields.push("name"); + } + + var namespaceMatches = query.matchesNamespace(type.full_name); + if(namespaceMatches){ + matches = matches.concat(namespaceMatches); + matchedFields.push("name"); + } + + var docMatches = query.matches(type.doc); + if(docMatches){ + matches = matches.concat(docMatches); + matchedFields.push("doc"); + } + if (matches.length > 0) { + results.push({ + id: type.html_id, + result_type: "type", + kind: type.kind, + name: name, + full_name: type.full_name, + href: type.path, + summary: type.summary, + matched_fields: matchedFields, + matched_terms: matches + }); + } + + type.instance_methods.forEach(function(method) { + searchMethod(method, type, "instance_method", query, results); + }) + type.class_methods.forEach(function(method) { + searchMethod(method, type, "class_method", query, results); + }) + type.constructors.forEach(function(constructor) { + searchMethod(constructor, type, "constructor", query, results); + }) + type.macros.forEach(function(macro) { + searchMethod(macro, type, "macro", query, results); + }) + type.constants.forEach(function(constant){ + searchConstant(constant, type, query, results); + }); + + type.types.forEach(function(subtype){ + searchType(subtype, query, results); + }); + }; + + function searchMethod(method, type, kind, query, results) { + var matches = []; + var matchedFields = []; + var nameMatches = query.matchesMethod(method.name, kind, type); + if (nameMatches){ + matches = matches.concat(nameMatches); + matchedFields.push("name"); + } + + method.args.forEach(function(arg){ + var argMatches = query.matches(arg.external_name); + if (argMatches) { + matches = matches.concat(argMatches); + matchedFields.push("args"); + } + }); + + var docMatches = query.matches(type.doc); + if(docMatches){ + matches = matches.concat(docMatches); + matchedFields.push("doc"); + } + + if (matches.length > 0) { + var typeMatches = query.matches(type.full_name); + if (typeMatches) { + matchedFields.push("type"); + matches = matches.concat(typeMatches); + } + results.push({ + id: method.html_id, + type: type.full_name, + result_type: kind, + name: method.name, + full_name: type.full_name + "#" + method.name, + args_string: method.args_string, + summary: method.summary, + href: type.path + "#" + method.html_id, + matched_fields: matchedFields, + matched_terms: matches + }); + } + } + + function searchConstant(constant, type, query, results) { + var matches = []; + var matchedFields = []; + var nameMatches = query.matches(constant.name); + if (nameMatches){ + matches = matches.concat(nameMatches); + matchedFields.push("name"); + } + var docMatches = query.matches(constant.doc); + if(docMatches){ + matches = matches.concat(docMatches); + matchedFields.push("doc"); + } + if (matches.length > 0) { + var typeMatches = query.matches(type.full_name); + if (typeMatches) { + matchedFields.push("type"); + matches = matches.concat(typeMatches); + } + results.push({ + id: constant.html_id, + type: type.full_name, + result_type: "constant", + name: constant.name, + full_name: type.full_name + "#" + constant.name, + value: constant.value, + summary: constant.summary, + href: type.path + "#" + constant.html_id, + matched_fields: matchedFields, + matched_terms: matches + }); + } + } + + var results = []; + searchType(CrystalDocs.searchIndex.program, query, results); + return results; +}; + +CrystalDocs.rankResults = function(results, query) { + function uniqueArray(ar) { + var j = {}; + + ar.forEach(function(v) { + j[v + "::" + typeof v] = v; + }); + + return Object.keys(j).map(function(v) { + return j[v]; + }); + } + + results = results.sort(function(a, b) { + var matchedTermsDiff = uniqueArray(b.matched_terms).length - uniqueArray(a.matched_terms).length; + var aHasDocs = b.matched_fields.includes("doc"); + var bHasDocs = b.matched_fields.includes("doc"); + + var aOnlyDocs = aHasDocs && a.matched_fields.length == 1; + var bOnlyDocs = bHasDocs && b.matched_fields.length == 1; + + if (a.result_type == "type" && b.result_type != "type" && !aOnlyDocs) { + if(CrystalDocs.DEBUG) { console.log("a is type b not"); } + return -1; + } else if (b.result_type == "type" && a.result_type != "type" && !bOnlyDocs) { + if(CrystalDocs.DEBUG) { console.log("b is type, a not"); } + return 1; + } + if (a.matched_fields.includes("name")) { + if (b.matched_fields.includes("name")) { + var a_name = (CrystalDocs.prefixForType(a.result_type) || "") + ((a.result_type == "type") ? a.full_name : a.name); + var b_name = (CrystalDocs.prefixForType(b.result_type) || "") + ((b.result_type == "type") ? b.full_name : b.name); + a_name = a_name.toLowerCase(); + b_name = b_name.toLowerCase(); + for(var i = 0; i < query.normalizedTerms.length; i++) { + var term = query.terms[i].replace(/^::?|::?$/, ""); + var a_orig_index = a_name.indexOf(term); + var b_orig_index = b_name.indexOf(term); + if(CrystalDocs.DEBUG) { console.log("term: " + term + " a: " + a_name + " b: " + b_name); } + if(CrystalDocs.DEBUG) { console.log(a_orig_index, b_orig_index, a_orig_index - b_orig_index); } + if (a_orig_index >= 0) { + if (b_orig_index >= 0) { + if(CrystalDocs.DEBUG) { console.log("both have exact match", a_orig_index > b_orig_index ? -1 : 1); } + if(a_orig_index != b_orig_index) { + if(CrystalDocs.DEBUG) { console.log("both have exact match at different positions", a_orig_index > b_orig_index ? 1 : -1); } + return a_orig_index > b_orig_index ? 1 : -1; + } + } else { + if(CrystalDocs.DEBUG) { console.log("a has exact match, b not"); } + return -1; + } + } else if (b_orig_index >= 0) { + if(CrystalDocs.DEBUG) { console.log("b has exact match, a not"); } + return 1; + } + } + } else { + if(CrystalDocs.DEBUG) { console.log("a has match in name, b not"); } + return -1; + } + } else if ( + !a.matched_fields.includes("name") && + b.matched_fields.includes("name") + ) { + return 1; + } + + if (matchedTermsDiff != 0 || (aHasDocs != bHasDocs)) { + if(CrystalDocs.DEBUG) { console.log("matchedTermsDiff: " + matchedTermsDiff, aHasDocs, bHasDocs); } + return matchedTermsDiff; + } + + var matchedFieldsDiff = b.matched_fields.length - a.matched_fields.length; + if (matchedFieldsDiff != 0) { + if(CrystalDocs.DEBUG) { console.log("matched to different number of fields: " + matchedFieldsDiff); } + return matchedFieldsDiff > 0 ? 1 : -1; + } + + var nameCompare = a.name.localeCompare(b.name); + if(nameCompare != 0){ + if(CrystalDocs.DEBUG) { console.log("nameCompare resulted in: " + a.name + "<=>" + b.name + ": " + nameCompare); } + return nameCompare > 0 ? 1 : -1; + } + + if(a.matched_fields.includes("args") && b.matched_fields.includes("args")) { + for(var i = 0; i < query.terms.length; i++) { + var term = query.terms[i]; + var aIndex = a.args_string.indexOf(term); + var bIndex = b.args_string.indexOf(term); + if(CrystalDocs.DEBUG) { console.log("index of " + term + " in args_string: " + aIndex + " - " + bIndex); } + if(aIndex >= 0){ + if(bIndex >= 0){ + if(aIndex != bIndex){ + return aIndex > bIndex ? 1 : -1; + } + }else{ + return -1; + } + }else if(bIndex >= 0) { + return 1; + } + } + } + + return 0; + }); + + if (results.length > 1) { + // if we have more than two search terms, only include results with the most matches + var bestMatchedTerms = uniqueArray(results[0].matched_terms).length; + + results = results.filter(function(result) { + return uniqueArray(result.matched_terms).length + 1 >= bestMatchedTerms; + }); + } + return results; +}; + +CrystalDocs.prefixForType = function(type) { + switch (type) { + case "instance_method": + return "#"; + + case "class_method": + case "macro": + case "constructor": + return "."; + + default: + return false; + } +}; + +CrystalDocs.displaySearchResults = function(results, query) { + function sanitize(html){ + return html.replace(/<(?!\/?code)[^>]+>/g, ""); + } + + // limit results + if (results.length > CrystalDocs.MAX_RESULTS_DISPLAY) { + results = results.slice(0, CrystalDocs.MAX_RESULTS_DISPLAY); + } + + var $frag = document.createDocumentFragment(); + var $resultsElem = document.querySelector(".search-list"); + $resultsElem.innerHTML = ""; + + results.forEach(function(result, i) { + var url = CrystalDocs.base_path + result.href; + var type = false; + + var title = query.highlight(result.result_type == "type" ? result.full_name : result.name); + + var prefix = CrystalDocs.prefixForType(result.result_type); + if (prefix) { + title = "" + prefix + "" + title; + } + + title = "" + title + ""; + + if (result.args_string) { + title += + "" + query.highlight(result.args_string) + ""; + } + + $elem = document.createElement("li"); + $elem.className = "search-result search-result--" + result.result_type; + $elem.dataset.href = url; + $elem.setAttribute("title", result.full_name + " docs page"); + + var $title = document.createElement("div"); + $title.setAttribute("class", "search-result__title"); + var $titleLink = document.createElement("a"); + $titleLink.setAttribute("href", url); + + $titleLink.innerHTML = title; + $title.appendChild($titleLink); + $elem.appendChild($title); + $elem.addEventListener("click", function() { + $titleLink.click(); + }); + + if (result.result_type !== "type") { + var $type = document.createElement("div"); + $type.setAttribute("class", "search-result__type"); + $type.innerHTML = query.highlight(result.type); + $elem.appendChild($type); + } + + if(result.summary){ + var $doc = document.createElement("div"); + $doc.setAttribute("class", "search-result__doc"); + $doc.innerHTML = query.highlight(sanitize(result.summary)); + $elem.appendChild($doc); + } + + $elem.appendChild(document.createComment(JSON.stringify(result))); + $frag.appendChild($elem); + }); + + $resultsElem.appendChild($frag); + + CrystalDocs.toggleResultsList(true); +}; + +CrystalDocs.toggleResultsList = function(visible) { + if (visible) { + document.querySelector(".types-list").classList.add("hidden"); + document.querySelector(".search-results").classList.remove("hidden"); + } else { + document.querySelector(".types-list").classList.remove("hidden"); + document.querySelector(".search-results").classList.add("hidden"); + } +}; + +CrystalDocs.Query = function(string) { + this.original = string; + this.terms = string.split(/\s+/).filter(function(word) { + return CrystalDocs.Query.stripModifiers(word).length > 0; + }); + + var normalized = this.terms.map(CrystalDocs.Query.normalizeTerm); + this.normalizedTerms = normalized; + + function runMatcher(field, matcher) { + if (!field) { + return false; + } + var normalizedValue = CrystalDocs.Query.normalizeTerm(field); + + var matches = []; + normalized.forEach(function(term) { + if (matcher(normalizedValue, term)) { + matches.push(term); + } + }); + return matches.length > 0 ? matches : false; + } + + this.matches = function(field) { + return runMatcher(field, function(normalized, term) { + if (term[0] == "#" || term[0] == ".") { + return false; + } + return normalized.indexOf(term) >= 0; + }); + }; + + function namespaceMatcher(normalized, term){ + var i = term.indexOf(":"); + if(i >= 0){ + term = term.replace(/^::?|::?$/, ""); + var index = normalized.indexOf(term); + if((index == 0) || (index > 0 && normalized[index-1] == ":")){ + return true; + } + } + return false; + } + this.matchesMethod = function(name, kind, type) { + return runMatcher(name, function(normalized, term) { + var i = term.indexOf("#"); + if(i >= 0){ + if (kind != "instance_method") { + return false; + } + }else{ + i = term.indexOf("."); + if(i >= 0){ + if (kind != "class_method" && kind != "macro" && kind != "constructor") { + return false; + } + }else{ + //neither # nor . + if(term.indexOf(":") && namespaceMatcher(normalized, term)){ + return true; + } + } + } + + var methodName = term; + if(i >= 0){ + var termType = term.substring(0, i); + methodName = term.substring(i+1); + + if(termType != "") { + if(CrystalDocs.Query.normalizeTerm(type.full_name).indexOf(termType) < 0){ + return false; + } + } + } + return normalized.indexOf(methodName) >= 0; + }); + }; + + this.matchesNamespace = function(namespace){ + return runMatcher(namespace, namespaceMatcher); + }; + + this.highlight = function(string) { + if (typeof string == "undefined") { + return ""; + } + function escapeRegExp(s) { + return s.replace(/[.*+?\^${}()|\[\]\\]/g, "\\$&").replace(/^[#\.:]+/, ""); + } + return string.replace( + new RegExp("(" + this.normalizedTerms.map(escapeRegExp).join("|") + ")", "gi"), + "$1" + ); + }; +}; +CrystalDocs.Query.normalizeTerm = function(term) { + return term.toLowerCase(); +}; +CrystalDocs.Query.stripModifiers = function(term) { + switch (term[0]) { + case "#": + case ".": + case ":": + return term.substr(1); + + default: + return term; + } +} + +CrystalDocs.search = function(string) { + if(!CrystalDocs.searchIndex) { + console.log("CrystalDocs search index not initialized, delaying search"); + + document.addEventListener("CrystalDocs:loaded", function listener(){ + document.removeEventListener("CrystalDocs:loaded", listener); + CrystalDocs.search(string); + }); + return; + } + + document.dispatchEvent(new Event("CrystalDocs:searchStarted")); + + var query = new CrystalDocs.Query(string); + var results = CrystalDocs.runQuery(query); + results = CrystalDocs.rankResults(results, query); + CrystalDocs.displaySearchResults(results, query); + + document.dispatchEvent(new Event("CrystalDocs:searchPerformed")); +}; + +CrystalDocs.initializeIndex = function(data) { + CrystalDocs.searchIndex = data; + + document.dispatchEvent(new Event("CrystalDocs:loaded")); +}; + +CrystalDocs.loadIndex = function() { + function loadJSON(file, callback) { + var xobj = new XMLHttpRequest(); + xobj.overrideMimeType("application/json"); + xobj.open("GET", file, true); + xobj.onreadystatechange = function() { + if (xobj.readyState == 4 && xobj.status == "200") { + callback(xobj.responseText); + } + }; + xobj.send(null); + } + + function loadScript(file) { + script = document.createElement("script"); + script.src = file; + document.body.appendChild(script); + } + + function parseJSON(json) { + CrystalDocs.initializeIndex(JSON.parse(json)); + } + + for(var i = 0; i < document.scripts.length; i++){ + var script = document.scripts[i]; + if (script.src && script.src.indexOf("js/doc.js") >= 0) { + if (script.src.indexOf("file://") == 0) { + // We need to support JSONP files for the search to work on local file system. + var jsonPath = script.src.replace("js/doc.js", "search-index.js"); + loadScript(jsonPath); + return; + } else { + var jsonPath = script.src.replace("js/doc.js", "index.json"); + loadJSON(jsonPath, parseJSON); + return; + } + } + } + console.error("Could not find location of js/doc.js"); +}; + +// Callback for jsonp +function crystal_doc_search_index_callback(data) { + CrystalDocs.initializeIndex(data); +} + +Navigator = function(sidebar, searchInput, list, leaveSearchScope){ + this.list = list; + var self = this; + + var performingSearch = false; + + document.addEventListener('CrystalDocs:searchStarted', function(){ + performingSearch = true; + }); + document.addEventListener('CrystalDocs:searchDebounceStarted', function(){ + performingSearch = true; + }); + document.addEventListener('CrystalDocs:searchPerformed', function(){ + performingSearch = false; + }); + document.addEventListener('CrystalDocs:searchDebounceStopped', function(event){ + performingSearch = false; + }); + + function delayWhileSearching(callback) { + if(performingSearch){ + document.addEventListener('CrystalDocs:searchPerformed', function listener(){ + document.removeEventListener('CrystalDocs:searchPerformed', listener); + + // add some delay to let search results display kick in + setTimeout(callback, 100); + }); + }else{ + callback(); + } + } + + function clearMoveTimeout() { + clearTimeout(self.moveTimeout); + self.moveTimeout = null; + } + + function startMoveTimeout(upwards){ + /*if(self.moveTimeout) { + clearMoveTimeout(); + } + + var go = function() { + if (!self.moveTimeout) return; + self.move(upwards); + self.moveTimout = setTimeout(go, 600); + }; + self.moveTimeout = setTimeout(go, 800);*/ + } + + function scrollCenter(element) { + var rect = element.getBoundingClientRect(); + var middle = sidebar.clientHeight / 2; + sidebar.scrollTop += rect.top + rect.height / 2 - middle; + } + + var move = this.move = function(upwards){ + if(!this.current){ + this.highlightFirst(); + return true; + } + var next = upwards ? this.current.previousElementSibling : this.current.nextElementSibling; + if(next && next.classList) { + this.highlight(next); + scrollCenter(next); + return true; + } + return false; + }; + + this.moveRight = function(){ + }; + this.moveLeft = function(){ + }; + + this.highlight = function(elem) { + if(!elem){ + return; + } + this.removeHighlight(); + + this.current = elem; + this.current.classList.add("current"); + }; + + this.highlightFirst = function(){ + this.highlight(this.list.querySelector('li:first-child')); + }; + + this.removeHighlight = function() { + if(this.current){ + this.current.classList.remove("current"); + } + this.current = null; + } + + this.openSelectedResult = function() { + if(this.current) { + this.current.click(); + } + } + + this.focus = function() { + searchInput.focus(); + searchInput.select(); + this.highlightFirst(); + } + + function handleKeyUp(event) { + switch(event.key) { + case "ArrowUp": + case "ArrowDown": + case "i": + case "j": + case "k": + case "l": + case "c": + case "h": + case "t": + case "n": + event.stopPropagation(); + clearMoveTimeout(); + } + } + + function handleKeyDown(event) { + switch(event.key) { + case "Enter": + event.stopPropagation(); + event.preventDefault(); + leaveSearchScope(); + self.openSelectedResult(); + break; + case "Escape": + event.stopPropagation(); + event.preventDefault(); + leaveSearchScope(); + break; + case "j": + case "c": + case "ArrowUp": + if(event.ctrlKey || event.key == "ArrowUp") { + event.stopPropagation(); + self.move(true); + startMoveTimeout(true); + } + break; + case "k": + case "h": + case "ArrowDown": + if(event.ctrlKey || event.key == "ArrowDown") { + event.stopPropagation(); + self.move(false); + startMoveTimeout(false); + } + break; + case "k": + case "t": + case "ArrowLeft": + if(event.ctrlKey || event.key == "ArrowLeft") { + event.stopPropagation(); + self.moveLeft(); + } + break; + case "l": + case "n": + case "ArrowRight": + if(event.ctrlKey || event.key == "ArrowRight") { + event.stopPropagation(); + self.moveRight(); + } + break; + } + } + + function handleInputKeyUp(event) { + switch(event.key) { + case "ArrowUp": + case "ArrowDown": + event.stopPropagation(); + event.preventDefault(); + clearMoveTimeout(); + } + } + + function handleInputKeyDown(event) { + switch(event.key) { + case "Enter": + event.stopPropagation(); + event.preventDefault(); + delayWhileSearching(function(){ + self.openSelectedResult(); + leaveSearchScope(); + }); + break; + case "Escape": + event.stopPropagation(); + event.preventDefault(); + // remove focus from search input + leaveSearchScope(); + sidebar.focus(); + break; + case "ArrowUp": + event.stopPropagation(); + event.preventDefault(); + self.move(true); + startMoveTimeout(true); + break; + + case "ArrowDown": + event.stopPropagation(); + event.preventDefault(); + self.move(false); + startMoveTimeout(false); + break; + } + } + + sidebar.tabIndex = 100; // set tabIndex to enable keylistener + sidebar.addEventListener('keyup', function(event) { + handleKeyUp(event); + }); + sidebar.addEventListener('keydown', function(event) { + handleKeyDown(event); + }); + searchInput.addEventListener('keydown', function(event) { + handleInputKeyDown(event); + }); + searchInput.addEventListener('keyup', function(event) { + handleInputKeyUp(event); + }); + this.move(); +}; + +CrystalDocs.initializeVersions = function () { + function loadJSON(file, callback) { + var xobj = new XMLHttpRequest(); + xobj.overrideMimeType("application/json"); + xobj.open("GET", file, true); + xobj.onreadystatechange = function() { + if (xobj.readyState == 4 && xobj.status == "200") { + callback(xobj.responseText); + } + }; + xobj.send(null); + } + + function parseJSON(json) { + CrystalDocs.loadConfig(JSON.parse(json)); + } + + $elem = document.querySelector("html > head > meta[name=\"crystal_docs.json_config_url\"]") + if ($elem == undefined) { + return + } + jsonURL = $elem.getAttribute("content") + if (jsonURL && jsonURL != "") { + loadJSON(jsonURL, parseJSON); + } +} + +CrystalDocs.loadConfig = function (config) { + var projectVersions = config["versions"] + var currentVersion = document.querySelector("html > head > meta[name=\"crystal_docs.project_version\"]").getAttribute("content") + + var currentVersionInList = projectVersions.find(function (element) { + return element.name == currentVersion + }) + + if (!currentVersionInList) { + projectVersions.unshift({ name: currentVersion, url: '#' }) + } + + $version = document.querySelector(".project-summary > .project-version") + $version.innerHTML = "" + + $select = document.createElement("select") + $select.classList.add("project-versions-nav") + $select.addEventListener("change", function () { + window.location.href = this.value + }) + projectVersions.forEach(function (version) { + $item = document.createElement("option") + $item.setAttribute("value", version.url) + $item.append(document.createTextNode(version.name)) + + if (version.name == currentVersion) { + $item.setAttribute("selected", true) + $item.setAttribute("disabled", true) + } + $select.append($item) + }); + $form = document.createElement("form") + $form.setAttribute("autocomplete", "off") + $form.append($select) + $version.append($form) +} + +document.addEventListener("DOMContentLoaded", function () { + CrystalDocs.initializeVersions() +}) + +var UsageModal = function(title, content) { + var $body = document.body; + var self = this; + var $modalBackground = document.createElement("div"); + $modalBackground.classList.add("modal-background"); + var $usageModal = document.createElement("div"); + $usageModal.classList.add("usage-modal"); + $modalBackground.appendChild($usageModal); + var $title = document.createElement("h3"); + $title.classList.add("modal-title"); + $title.innerHTML = title + $usageModal.appendChild($title); + var $closeButton = document.createElement("span"); + $closeButton.classList.add("close-button"); + $closeButton.setAttribute("title", "Close modal"); + $closeButton.innerText = '×'; + $usageModal.appendChild($closeButton); + $usageModal.insertAdjacentHTML("beforeend", content); + + $modalBackground.addEventListener('click', function(event) { + var element = event.target || event.srcElement; + + if(element == $modalBackground) { + self.hide(); + } + }); + $closeButton.addEventListener('click', function(event) { + self.hide(); + }); + + $body.insertAdjacentElement('beforeend', $modalBackground); + + this.show = function(){ + $body.classList.add("js-modal-visible"); + }; + this.hide = function(){ + $body.classList.remove("js-modal-visible"); + }; + this.isVisible = function(){ + return $body.classList.contains("js-modal-visible"); + } +} + + +document.addEventListener('DOMContentLoaded', function() { + var sessionStorage; + try { + sessionStorage = window.sessionStorage; + } catch (e) { } + if(!sessionStorage) { + sessionStorage = { + setItem: function() {}, + getItem: function() {}, + removeItem: function() {} + }; + } + + var repositoryName = document.querySelector('[name=repository-name]').getAttribute('content'); + var typesList = document.querySelector('.types-list'); + var searchInput = document.querySelector('.search-input'); + var parents = document.querySelectorAll('.types-list li.parent'); + + var scrollSidebarToOpenType = function(){ + var openTypes = typesList.querySelectorAll('.current'); + if (openTypes.length > 0) { + var lastOpenType = openTypes[openTypes.length - 1]; + lastOpenType.scrollIntoView(); + } + } + + scrollSidebarToOpenType(); + + var setPersistentSearchQuery = function(value){ + sessionStorage.setItem(repositoryName + '::search-input:value', value); + } + + for(var i = 0; i < parents.length; i++) { + var _parent = parents[i]; + _parent.addEventListener('click', function(e) { + e.stopPropagation(); + + if(e.target.tagName.toLowerCase() == 'li') { + if(e.target.className.match(/open/)) { + sessionStorage.removeItem(e.target.getAttribute('data-id')); + e.target.className = e.target.className.replace(/ +open/g, ''); + } else { + sessionStorage.setItem(e.target.getAttribute('data-id'), '1'); + if(e.target.className.indexOf('open') == -1) { + e.target.className += ' open'; + } + } + } + }); + + if(sessionStorage.getItem(_parent.getAttribute('data-id')) == '1') { + _parent.className += ' open'; + } + } + + var leaveSearchScope = function(){ + CrystalDocs.toggleResultsList(false); + window.focus(); + } + + var navigator = new Navigator(document.querySelector('.types-list'), searchInput, document.querySelector(".search-results"), leaveSearchScope); + + CrystalDocs.loadIndex(); + var searchTimeout; + var lastSearchText = false; + var performSearch = function() { + document.dispatchEvent(new Event("CrystalDocs:searchDebounceStarted")); + + clearTimeout(searchTimeout); + searchTimeout = setTimeout(function() { + var text = searchInput.value; + + if(text == "") { + CrystalDocs.toggleResultsList(false); + }else if(text == lastSearchText){ + document.dispatchEvent(new Event("CrystalDocs:searchDebounceStopped")); + }else{ + CrystalDocs.search(text); + navigator.highlightFirst(); + searchInput.focus(); + } + lastSearchText = text; + setPersistentSearchQuery(text); + }, 200); + }; + + if(location.hash.length > 3 && location.hash.substring(0,3) == "#q="){ + // allows directly linking a search query which is then executed on the client + // this comes handy for establishing a custom browser search engine with https://crystal-lang.org/api/#q=%s as a search URL + // TODO: Add OpenSearch description + var searchQuery = location.hash.substring(3); + history.pushState({searchQuery: searchQuery}, "Search for " + searchQuery, location.href.replace(/#q=.*/, "")); + searchInput.value = searchQuery; + document.addEventListener('CrystalDocs:loaded', performSearch); + } + + if (searchInput.value.length == 0) { + var searchText = sessionStorage.getItem(repositoryName + '::search-input:value'); + if(searchText){ + searchInput.value = searchText; + } + } + searchInput.addEventListener('keyup', performSearch); + searchInput.addEventListener('input', performSearch); + + var usageModal = new UsageModal('Keyboard Shortcuts', '' + + '' + ); + + function handleShortkeys(event) { + var element = event.target || event.srcElement; + + if(element.tagName == "INPUT" || element.tagName == "TEXTAREA" || element.parentElement.tagName == "TEXTAREA"){ + return; + } + + switch(event.key) { + case "?": + usageModal.show(); + break; + + case "Escape": + usageModal.hide(); + break; + + case "s": + case "/": + if(usageModal.isVisible()) { + return; + } + event.stopPropagation(); + navigator.focus(); + performSearch(); + break; + } + } + + document.addEventListener('keyup', handleShortkeys); + + var scrollToEntryFromLocationHash = function() { + var hash = window.location.hash; + if (hash) { + var targetAnchor = decodeURI(hash.substr(1)); + var targetEl = document.getElementById(targetAnchor) + if (targetEl) { + targetEl.offsetParent.scrollTop = targetEl.offsetTop; + } + } + }; + window.addEventListener("hashchange", scrollToEntryFromLocationHash, false); + scrollToEntryFromLocationHash(); +}); diff --git a/docs/search-index.js b/docs/search-index.js new file mode 100644 index 0000000..00985b4 --- /dev/null +++ b/docs/search-index.js @@ -0,0 +1 @@ +crystal_doc_search_index_callback({"repository_name":"couchdb.cr","body":"-fork of TechMagister/couchdb.cr\n- fixed \"sort\"\n- updated for crystal 0.35.1 (will update for v1 shortly...circleCI = never. tests updated = shortly)\n- \nCouchDB client written in crystal\n\n## Installation\n\nAdd this to your application's `shard.yml`:\n\n```yaml\ndependencies:\n couchdb:\n github: vectorselector/couchdb.cr\n```\n\n## Usage\n\n```crystal\nrequire \"couchdb\"\n\nclient = CouchDB::Client.new \"http://127.0.0.1:5984\"\n\ninfo = client.server_info\ninfo.couchdb # Welcome\ninfo.version # 2.1.1\ninfo.vendor.name # The Apache Software Foundation\n\n```\n\nusage overview/example:\n```\nCOUCHDB_URL = ENV[\"COUCHDB_URL\"]? || \"http://127.0.0.1:5984\"\nDB = CouchDB::Client.new COUCHDB_URL\nmyQuery = CouchDB::FindQuery.from_json %({\"selector\":{\"user_id\":\"#{userId}\", \"$not\":{\"archived\":true} }, \"sort\":[{\"timestamp\":\"desc\"}], \"limit\":#{limit} })\nmyThing = DB.find_document(\"things\", myQuery).docs.not_nil!.first\n ```\n \n\"sort\" takes an array of EITHER a String or an object as such [{\"fieldname1\": \"desc\"}, {\"fieldname2\": \"asc\"}] per CouchDB docs\nhttps://docs.couchdb.org/en/2.3.1/api/database/find.html#sort-syntax\n\n\"skip\" is like \"limit\" and goes outside the \"selector\"...\n\n## Development\n\n- [x] Get server info\n- [x] Create Database\n- [x] Delete Database\n- [x] List Databases\n- [x] Get new uuid\n- [x] Create Documents\n- [x] Find all the documents\n- [x] Find Documents with criteria\n- [x] Delete Documents\n- [x] Update Documents\n\n## Contributing\n\n1. Fork it ( https://github.com/vectorselector/couchdb/fork )\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create a new Pull Request\n\n## Original Project Contributors (what I've forked)\n- [TechMagister](https://github.com/TechMagister) Arnaud Fernandés - creator, maintainer\n- [Schniz](https://github.com/Schniz) Gal Schlezinger - contributor\n- [drhuffman12](https://github.com/drhuffman12) Daniel Huffman - contributor\n","program":{"html_id":"couchdb.cr/toplevel","path":"toplevel.html","kind":"module","full_name":"Top Level Namespace","name":"Top Level Namespace","abstract":false,"superclass":null,"ancestors":[],"locations":[],"repository_name":"couchdb.cr","program":true,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"couchdb.cr/CouchDB","path":"CouchDB.html","kind":"module","full_name":"CouchDB","name":"CouchDB","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb.cr","line_number":8,"url":null},{"filename":"src/couchdb/client.cr","line_number":7,"url":null},{"filename":"src/couchdb/database.cr","line_number":3,"url":null},{"filename":"src/couchdb/find_query.cr","line_number":3,"url":null},{"filename":"src/couchdb/version.cr","line_number":1,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[{"id":"VERSION","name":"VERSION","value":"{{ (`shards version \\\"/home/drhuffman/_tmp_/github/drhuffman12/couchdb.cr/src/couchdb\\\"`).chomp.stringify }}","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":null,"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[{"html_id":"mapping(**properties)-macro","name":"mapping","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"(**properties)","args_html":"(**properties)","location":{"filename":"src/couchdb.cr","line_number":10,"url":null},"def":{"name":"mapping","args":[],"double_splat":{"name":"properties","doc":null,"default_value":"","external_name":"properties","restriction":""},"splat_index":null,"block_arg":null,"visibility":"Public","body":" JSON.mapping(\n _id: String?,\n _rev: String?,\n \n{{ **properties }}\n\n )\n \n"}}],"types":[{"html_id":"couchdb.cr/CouchDB/Client","path":"CouchDB/Client.html","kind":"class","full_name":"CouchDB::Client","name":"Client","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/client.cr","line_number":28,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(uri:String=\"http://127.0.0.1:5984\")-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"uri","doc":null,"default_value":"\"http://127.0.0.1:5984\"","external_name":"uri","restriction":"String"}],"args_string":"(uri : String = \"http://127.0.0.1:5984\")","args_html":"(uri : String = "http://127.0.0.1:5984")","location":{"filename":"src/couchdb/client.cr","line_number":30,"url":null},"def":{"name":"new","args":[{"name":"uri","doc":null,"default_value":"\"http://127.0.0.1:5984\"","external_name":"uri","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(uri)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"active_tasks:Array(CouchDB::Response::ActiveTask)-instance-method","name":"active_tasks","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(CouchDB::Response::ActiveTask)","args_html":" : Array(CouchDB::Response::ActiveTask)","location":{"filename":"src/couchdb/client.cr","line_number":42,"url":null},"def":{"name":"active_tasks","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(CouchDB::Response::ActiveTask)","visibility":"Public","body":"Array(CouchDB::Response::ActiveTask).from_json(get(URL::ACTIVE_TASKS))"}},{"html_id":"create_database(name:String):Response::Status-instance-method","name":"create_database","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Response::Status","args_html":"(name : String) : Response::Status","location":{"filename":"src/couchdb/client.cr","line_number":54,"url":null},"def":{"name":"create_database","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Status","visibility":"Public","body":"Response::Status.from_json(put(URL::DB % name))"}},{"html_id":"create_document(database,object):Response::DocumentStatus-instance-method","name":"create_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(database, object) : Response::DocumentStatus","args_html":"(database, object) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":73,"url":null},"def":{"name":"create_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"uuid = new_uuids.first\nResponse::DocumentStatus.from_json(put(URL::DOC % {database, uuid}, body: object.to_json))\n"}},{"html_id":"create_document_custom_id(database,object,id):Response::DocumentStatus-instance-method","name":"create_document_custom_id","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""}],"args_string":"(database, object, id) : Response::DocumentStatus","args_html":"(database, object, id) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":80,"url":null},"def":{"name":"create_document_custom_id","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(put(URL::DOC % {database, id}, body: object.to_json))"}},{"html_id":"databases:Array(String)-instance-method","name":"databases","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)","args_html":" : Array(String)","location":{"filename":"src/couchdb/client.cr","line_number":50,"url":null},"def":{"name":"databases","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"Array(String).from_json(get(URL::ALL_DBS))"}},{"html_id":"delete(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"delete","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"delete","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.delete(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"delete_database(name:String):Response::Status-instance-method","name":"delete_database","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String) : Response::Status","args_html":"(name : String) : Response::Status","location":{"filename":"src/couchdb/client.cr","line_number":58,"url":null},"def":{"name":"delete_database","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Status","visibility":"Public","body":"Response::Status.from_json(delete(URL::DB % name))"}},{"html_id":"delete_document(database,uuid,rev):Response::DocumentStatus-instance-method","name":"delete_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":""}],"args_string":"(database, uuid, rev) : Response::DocumentStatus","args_html":"(database, uuid, rev) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":86,"url":null},"def":{"name":"delete_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(delete((URL::DOC % {database, uuid}) + \"?rev=#{rev}\"))"}},{"html_id":"documents(database:String,include_docs=false):Response::Results-instance-method","name":"documents","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"include_docs","doc":null,"default_value":"false","external_name":"include_docs","restriction":""}],"args_string":"(database : String, include_docs = false) : Response::Results","args_html":"(database : String, include_docs = false) : Response::Results","location":{"filename":"src/couchdb/client.cr","line_number":67,"url":null},"def":{"name":"documents","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"include_docs","doc":null,"default_value":"false","external_name":"include_docs","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::Results","visibility":"Public","body":"base = URL::ALL_DOCS % database\nuri = (base + \"?include_docs=\") + include_docs.to_s\nResponse::Results.from_json(get(uri))\n"}},{"html_id":"find_document(database:String,query:FindQuery,response_class)-instance-method","name":"find_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"args_string":"(database : String, query : FindQuery, response_class)","args_html":"(database : String, query : FindQuery, response_class)","location":{"filename":"src/couchdb/client.cr","line_number":107,"url":null},"def":{"name":"find_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"base = URL::FIND_DOCS % database\nresponse_class.from_json(post(base, body: query.to_json, headers: HTTP::Headers {\"Content-Type\" => \"application/json\"}))\n"}},{"html_id":"find_document(database:String,query:FindQuery):Response::FindResults(JSON::Any)-instance-method","name":"find_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"}],"args_string":"(database : String, query : FindQuery) : Response::FindResults(JSON::Any)","args_html":"(database : String, query : FindQuery) : Response::FindResults(JSON::Any)","location":{"filename":"src/couchdb/client.cr","line_number":103,"url":null},"def":{"name":"find_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":"FindQuery"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::FindResults(JSON::Any)","visibility":"Public","body":"find_document(database, query, CouchDB::Response::FindResults(JSON::Any))"}},{"html_id":"get(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"get","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.get(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"get_document(database:String,id:String,response_class)-instance-method","name":"get_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"args_string":"(database : String, id : String, response_class)","args_html":"(database : String, id : String, response_class)","location":{"filename":"src/couchdb/client.cr","line_number":98,"url":null},"def":{"name":"get_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"},{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"},{"name":"response_class","doc":null,"default_value":"","external_name":"response_class","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.get(@uri + (URL::DOC % {database, id}))\nif response.success?\n response_class.from_json(response.body)\nend\n"}},{"html_id":"new_uuids(count=1):Array(String)-instance-method","name":"new_uuids","doc":null,"summary":null,"abstract":false,"args":[{"name":"count","doc":null,"default_value":"1","external_name":"count","restriction":""}],"args_string":"(count = 1) : Array(String)","args_html":"(count = 1) : Array(String)","location":{"filename":"src/couchdb/client.cr","line_number":62,"url":null},"def":{"name":"new_uuids","args":[{"name":"count","doc":null,"default_value":"1","external_name":"count","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String)","visibility":"Public","body":"res = NamedTuple(uuids: Array(String)).from_json(get(URL::UUIDS % count))\nres[\"uuids\"]\n"}},{"html_id":"post(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"post","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"post","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.post(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"put(path:String,body:String?=nil,headers:HTTP::Headers?=nil)-instance-method","name":"put","doc":null,"summary":null,"abstract":false,"args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"args_string":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","args_html":"(path : String, body : String? = nil, headers : HTTP::Headers? = nil)","location":{"filename":"src/couchdb/client.cr","line_number":33,"url":null},"def":{"name":"put","args":[{"name":"path","doc":null,"default_value":"","external_name":"path","restriction":"String"},{"name":"body","doc":null,"default_value":"nil","external_name":"body","restriction":"String | ::Nil"},{"name":"headers","doc":null,"default_value":"nil","external_name":"headers","restriction":"HTTP::Headers | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"response = HTTP::Client.put(@uri + path, body: body, headers: headers)\nresponse.body\n"}},{"html_id":"server_info:Response::ServerInfo-instance-method","name":"server_info","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Response::ServerInfo","args_html":" : Response::ServerInfo","location":{"filename":"src/couchdb/client.cr","line_number":46,"url":null},"def":{"name":"server_info","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::ServerInfo","visibility":"Public","body":"Response::ServerInfo.from_json(get(URL::INFO))"}},{"html_id":"update_document(database,uuid,document):Response::DocumentStatus-instance-method","name":"update_document","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"document","doc":null,"default_value":"","external_name":"document","restriction":""}],"args_string":"(database, uuid, document) : Response::DocumentStatus","args_html":"(database, uuid, document) : Response::DocumentStatus","location":{"filename":"src/couchdb/client.cr","line_number":92,"url":null},"def":{"name":"update_document","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":""},{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":""},{"name":"document","doc":null,"default_value":"","external_name":"document","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Response::DocumentStatus","visibility":"Public","body":"Response::DocumentStatus.from_json(put(URL::DOC % {database, uuid}, body: document.to_json))"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Database","path":"CouchDB/Database.html","kind":"class","full_name":"CouchDB::Database","name":"Database","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/database.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(client,name)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"client","doc":null,"default_value":"","external_name":"client","restriction":""},{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"args_string":"(client, name)","args_html":"(client, name)","location":{"filename":"src/couchdb/database.cr","line_number":12,"url":null},"def":{"name":"new","args":[{"name":"client","doc":null,"default_value":"","external_name":"client","restriction":""},{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"_ = allocate\n_.initialize(client, name)\nif _.responds_to?(:finalize)\n ::GC.add_finalizer(_)\nend\n_\n"}}],"instance_methods":[{"html_id":"client:CouchDB::Client-instance-method","name":"client","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : CouchDB::Client","args_html":" : CouchDB::Client","location":{"filename":"src/couchdb/database.cr","line_number":7,"url":null},"def":{"name":"client","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client"}},{"html_id":"create(object)-instance-method","name":"create","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":23,"url":null},"def":{"name":"create","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"res = @client.create_document(@name, object)\nif res.ok?\n object._id=(res.id)\n object._rev=(res.rev)\nelse\n raise(Exception.new(res.reason?))\nend\n"}},{"html_id":"create!-instance-method","name":"create!","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/database.cr","line_number":19,"url":null},"def":{"name":"create!","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.create_database(@name)"}},{"html_id":"delete(object)-instance-method","name":"delete","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":58,"url":null},"def":{"name":"delete","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if object._id && object._rev\n res = @client.delete_document(@name, object._id, object._rev)\n if res.ok?\n object._rev=(res.rev)\n else\n raise(Exception.new(res.reason?))\n end\nelse\n raise(Exception.new(\"Can't delete non persistant object\"))\nend"}},{"html_id":"drop!-instance-method","name":"drop!","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/database.cr","line_number":72,"url":null},"def":{"name":"drop!","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.delete_database(@name)"}},{"html_id":"find(query,resultclass)-instance-method","name":"find","doc":null,"summary":null,"abstract":false,"args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"args_string":"(query, resultclass)","args_html":"(query, resultclass)","location":{"filename":"src/couchdb/database.cr","line_number":37,"url":null},"def":{"name":"find","args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.find_document(@name, query, resultclass)"}},{"html_id":"find(query)-instance-method","name":"find","doc":null,"summary":null,"abstract":false,"args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""}],"args_string":"(query)","args_html":"(query)","location":{"filename":"src/couchdb/database.cr","line_number":33,"url":null},"def":{"name":"find","args":[{"name":"query","doc":null,"default_value":"","external_name":"query","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.find_document(@name, query)"}},{"html_id":"get(id,resultclass)-instance-method","name":"get","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"args_string":"(id, resultclass)","args_html":"(id, resultclass)","location":{"filename":"src/couchdb/database.cr","line_number":54,"url":null},"def":{"name":"get","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":""},{"name":"resultclass","doc":null,"default_value":"","external_name":"resultclass","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@client.get_document(@name, id, resultclass)"}},{"html_id":"name:String-instance-method","name":"name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/database.cr","line_number":7,"url":null},"def":{"name":"name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@name"}},{"html_id":"update(object)-instance-method","name":"update","doc":null,"summary":null,"abstract":false,"args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"args_string":"(object)","args_html":"(object)","location":{"filename":"src/couchdb/database.cr","line_number":41,"url":null},"def":{"name":"update","args":[{"name":"object","doc":null,"default_value":"","external_name":"object","restriction":""}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if object._id\n res = @client.update_document(@name, object._id, object)\n if res.ok?\n object._rev=(res.rev)\n else\n raise(Exception.new(res.reason?))\n end\nelse\n raise(Exception.new(\"Can't update non persistant object\"))\nend"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/FindQuery","path":"CouchDB/FindQuery.html","kind":"class","full_name":"CouchDB::FindQuery","name":"FindQuery","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/find_query.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/find_query.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"fields:Array(String)?-instance-method","name":"fields","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String)?","args_html":" : Array(String)?","location":{"filename":"src/couchdb/find_query.cr","line_number":12,"url":null},"def":{"name":"fields","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String) | ::Nil","visibility":"Public","body":"@fields"}},{"html_id":"fields=(fields:Array(String)?)-instance-method","name":"fields=","doc":null,"summary":null,"abstract":false,"args":[{"name":"fields","doc":null,"default_value":"","external_name":"fields","restriction":"Array(String) | ::Nil"}],"args_string":"(fields : Array(String)?)","args_html":"(fields : Array(String)?)","location":{"filename":"src/couchdb/find_query.cr","line_number":12,"url":null},"def":{"name":"fields=","args":[{"name":"fields","doc":null,"default_value":"","external_name":"fields","restriction":"Array(String) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@fields = fields"}},{"html_id":"limit:Int64?-instance-method","name":"limit","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64?","args_html":" : Int64?","location":{"filename":"src/couchdb/find_query.cr","line_number":9,"url":null},"def":{"name":"limit","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64 | ::Nil","visibility":"Public","body":"@limit"}},{"html_id":"limit=(limit:Int64?)-instance-method","name":"limit=","doc":null,"summary":null,"abstract":false,"args":[{"name":"limit","doc":null,"default_value":"","external_name":"limit","restriction":"Int64 | ::Nil"}],"args_string":"(limit : Int64?)","args_html":"(limit : Int64?)","location":{"filename":"src/couchdb/find_query.cr","line_number":9,"url":null},"def":{"name":"limit=","args":[{"name":"limit","doc":null,"default_value":"","external_name":"limit","restriction":"Int64 | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@limit = limit"}},{"html_id":"selector:JSON::Any-instance-method","name":"selector","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JSON::Any","args_html":" : JSON::Any","location":{"filename":"src/couchdb/find_query.cr","line_number":8,"url":null},"def":{"name":"selector","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JSON::Any","visibility":"Public","body":"@selector"}},{"html_id":"selector=(selector:JSON::Any)-instance-method","name":"selector=","doc":null,"summary":null,"abstract":false,"args":[{"name":"selector","doc":null,"default_value":"","external_name":"selector","restriction":"JSON::Any"}],"args_string":"(selector : JSON::Any)","args_html":"(selector : JSON::Any)","location":{"filename":"src/couchdb/find_query.cr","line_number":8,"url":null},"def":{"name":"selector=","args":[{"name":"selector","doc":null,"default_value":"","external_name":"selector","restriction":"JSON::Any"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@selector = selector"}},{"html_id":"skip:Int64?-instance-method","name":"skip","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64?","args_html":" : Int64?","location":{"filename":"src/couchdb/find_query.cr","line_number":10,"url":null},"def":{"name":"skip","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64 | ::Nil","visibility":"Public","body":"@skip"}},{"html_id":"skip=(skip:Int64?)-instance-method","name":"skip=","doc":null,"summary":null,"abstract":false,"args":[{"name":"skip","doc":null,"default_value":"","external_name":"skip","restriction":"Int64 | ::Nil"}],"args_string":"(skip : Int64?)","args_html":"(skip : Int64?)","location":{"filename":"src/couchdb/find_query.cr","line_number":10,"url":null},"def":{"name":"skip=","args":[{"name":"skip","doc":null,"default_value":"","external_name":"skip","restriction":"Int64 | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@skip = skip"}},{"html_id":"sort:Array(String)|Nil|JSON::Any|Nil-instance-method","name":"sort","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(String) | Nil | JSON::Any | Nil","args_html":" : Array(String) | Nil | JSON::Any | Nil","location":{"filename":"src/couchdb/find_query.cr","line_number":11,"url":null},"def":{"name":"sort","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(String) | ::Nil | JSON::Any | ::Nil","visibility":"Public","body":"@sort"}},{"html_id":"sort=(sort:Array(String)|Nil|JSON::Any|Nil)-instance-method","name":"sort=","doc":null,"summary":null,"abstract":false,"args":[{"name":"sort","doc":null,"default_value":"","external_name":"sort","restriction":"Array(String) | ::Nil | JSON::Any | ::Nil"}],"args_string":"(sort : Array(String) | Nil | JSON::Any | Nil)","args_html":"(sort : Array(String) | Nil | JSON::Any | Nil)","location":{"filename":"src/couchdb/find_query.cr","line_number":11,"url":null},"def":{"name":"sort=","args":[{"name":"sort","doc":null,"default_value":"","external_name":"sort","restriction":"Array(String) | ::Nil | JSON::Any | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@sort = sort"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response","path":"CouchDB/Response.html","kind":"module","full_name":"CouchDB::Response","name":"Response","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb/response/active_task.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/results.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/server_info.cr","line_number":3,"url":null},{"filename":"src/couchdb/response/status.cr","line_number":4,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[{"html_id":"couchdb.cr/CouchDB/Response/ActiveTask","path":"CouchDB/Response/ActiveTask.html","kind":"class","full_name":"CouchDB::Response::ActiveTask","name":"ActiveTask","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/active_task.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"change_done:Int64-instance-method","name":"change_done","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":8,"url":null},"def":{"name":"change_done","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@change_done"}},{"html_id":"change_done=(change_done:Int64)-instance-method","name":"change_done=","doc":null,"summary":null,"abstract":false,"args":[{"name":"change_done","doc":null,"default_value":"","external_name":"change_done","restriction":"Int64"}],"args_string":"(change_done : Int64)","args_html":"(change_done : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":8,"url":null},"def":{"name":"change_done=","args":[{"name":"change_done","doc":null,"default_value":"","external_name":"change_done","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@change_done = change_done"}},{"html_id":"database:String-instance-method","name":"database","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":9,"url":null},"def":{"name":"database","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@database"}},{"html_id":"database=(database:String)-instance-method","name":"database=","doc":null,"summary":null,"abstract":false,"args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"}],"args_string":"(database : String)","args_html":"(database : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":9,"url":null},"def":{"name":"database=","args":[{"name":"database","doc":null,"default_value":"","external_name":"database","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@database = database"}},{"html_id":"pid:String-instance-method","name":"pid","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":10,"url":null},"def":{"name":"pid","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@pid"}},{"html_id":"pid=(pid:String)-instance-method","name":"pid=","doc":null,"summary":null,"abstract":false,"args":[{"name":"pid","doc":null,"default_value":"","external_name":"pid","restriction":"String"}],"args_string":"(pid : String)","args_html":"(pid : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":10,"url":null},"def":{"name":"pid=","args":[{"name":"pid","doc":null,"default_value":"","external_name":"pid","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@pid = pid"}},{"html_id":"progress:Int64-instance-method","name":"progress","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":11,"url":null},"def":{"name":"progress","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@progress"}},{"html_id":"progress=(progress:Int64)-instance-method","name":"progress=","doc":null,"summary":null,"abstract":false,"args":[{"name":"progress","doc":null,"default_value":"","external_name":"progress","restriction":"Int64"}],"args_string":"(progress : Int64)","args_html":"(progress : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":11,"url":null},"def":{"name":"progress=","args":[{"name":"progress","doc":null,"default_value":"","external_name":"progress","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@progress = progress"}},{"html_id":"started_on:Int64-instance-method","name":"started_on","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":12,"url":null},"def":{"name":"started_on","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@started_on"}},{"html_id":"started_on=(started_on:Int64)-instance-method","name":"started_on=","doc":null,"summary":null,"abstract":false,"args":[{"name":"started_on","doc":null,"default_value":"","external_name":"started_on","restriction":"Int64"}],"args_string":"(started_on : Int64)","args_html":"(started_on : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":12,"url":null},"def":{"name":"started_on=","args":[{"name":"started_on","doc":null,"default_value":"","external_name":"started_on","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@started_on = started_on"}},{"html_id":"total_changes:Int64-instance-method","name":"total_changes","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":13,"url":null},"def":{"name":"total_changes","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@total_changes"}},{"html_id":"total_changes=(total_changes:Int64)-instance-method","name":"total_changes=","doc":null,"summary":null,"abstract":false,"args":[{"name":"total_changes","doc":null,"default_value":"","external_name":"total_changes","restriction":"Int64"}],"args_string":"(total_changes : Int64)","args_html":"(total_changes : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":13,"url":null},"def":{"name":"total_changes=","args":[{"name":"total_changes","doc":null,"default_value":"","external_name":"total_changes","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@total_changes = total_changes"}},{"html_id":"type:String-instance-method","name":"type","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/active_task.cr","line_number":14,"url":null},"def":{"name":"type","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@type"}},{"html_id":"type=(type:String)-instance-method","name":"type=","doc":null,"summary":null,"abstract":false,"args":[{"name":"type","doc":null,"default_value":"","external_name":"type","restriction":"String"}],"args_string":"(type : String)","args_html":"(type : String)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":14,"url":null},"def":{"name":"type=","args":[{"name":"type","doc":null,"default_value":"","external_name":"type","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@type = type"}},{"html_id":"updated_on:Int64-instance-method","name":"updated_on","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/active_task.cr","line_number":15,"url":null},"def":{"name":"updated_on","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@updated_on"}},{"html_id":"updated_on=(updated_on:Int64)-instance-method","name":"updated_on=","doc":null,"summary":null,"abstract":false,"args":[{"name":"updated_on","doc":null,"default_value":"","external_name":"updated_on","restriction":"Int64"}],"args_string":"(updated_on : Int64)","args_html":"(updated_on : Int64)","location":{"filename":"src/couchdb/response/active_task.cr","line_number":15,"url":null},"def":{"name":"updated_on=","args":[{"name":"updated_on","doc":null,"default_value":"","external_name":"updated_on","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@updated_on = updated_on"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/DocumentStatus","path":"CouchDB/Response/DocumentStatus.html","kind":"class","full_name":"CouchDB::Response::DocumentStatus","name":"DocumentStatus","abstract":false,"superclass":{"html_id":"couchdb.cr/CouchDB/Response/Status","kind":"class","full_name":"CouchDB::Response::Status","name":"Status"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/CouchDB/Response/Status","kind":"class","full_name":"CouchDB::Response::Status","name":"Status"},{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/status.cr","line_number":26,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/status.cr","line_number":27,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":29,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":29,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"id:String?-instance-method","name":"id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":31,"url":null},"def":{"name":"id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String?)-instance-method","name":"id=","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String | ::Nil"}],"args_string":"(id : String?)","args_html":"(id : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":31,"url":null},"def":{"name":"id=","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@id = id"}},{"html_id":"ok:Bool?-instance-method","name":"ok","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","args_html":" : Bool?","location":{"filename":"src/couchdb/response/status.cr","line_number":28,"url":null},"def":{"name":"ok","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@ok"}},{"html_id":"ok=(ok:Bool?)-instance-method","name":"ok=","doc":null,"summary":null,"abstract":false,"args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"args_string":"(ok : Bool?)","args_html":"(ok : Bool?)","location":{"filename":"src/couchdb/response/status.cr","line_number":28,"url":null},"def":{"name":"ok=","args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ok = ok"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":30,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":30,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"rev:String?-instance-method","name":"rev","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":32,"url":null},"def":{"name":"rev","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@rev"}},{"html_id":"rev=(rev:String?)-instance-method","name":"rev=","doc":null,"summary":null,"abstract":false,"args":[{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":"String | ::Nil"}],"args_string":"(rev : String?)","args_html":"(rev : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":32,"url":null},"def":{"name":"rev=","args":[{"name":"rev","doc":null,"default_value":"","external_name":"rev","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@rev = rev"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/FindResults","path":"CouchDB/Response/FindResults.html","kind":"class","full_name":"CouchDB::Response::FindResults(T)","name":"FindResults","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":29,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":30,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"docs:Array(T)?-instance-method","name":"docs","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(T)?","args_html":" : Array(T)?","location":{"filename":"src/couchdb/response/results.cr","line_number":34,"url":null},"def":{"name":"docs","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(T) | ::Nil","visibility":"Public","body":"@docs"}},{"html_id":"docs=(docs:Array(T)?)-instance-method","name":"docs=","doc":null,"summary":null,"abstract":false,"args":[{"name":"docs","doc":null,"default_value":"","external_name":"docs","restriction":"Array(T) | ::Nil"}],"args_string":"(docs : Array(T)?)","args_html":"(docs : Array(T)?)","location":{"filename":"src/couchdb/response/results.cr","line_number":34,"url":null},"def":{"name":"docs=","args":[{"name":"docs","doc":null,"default_value":"","external_name":"docs","restriction":"Array(T) | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@docs = docs"}},{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":31,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":31,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"ok?-instance-method","name":"ok?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/results.cr","line_number":36,"url":null},"def":{"name":"ok?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"error ? false : true"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":32,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":32,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"warning:String?-instance-method","name":"warning","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/results.cr","line_number":33,"url":null},"def":{"name":"warning","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@warning"}},{"html_id":"warning=(warning:String?)-instance-method","name":"warning=","doc":null,"summary":null,"abstract":false,"args":[{"name":"warning","doc":null,"default_value":"","external_name":"warning","restriction":"String | ::Nil"}],"args_string":"(warning : String?)","args_html":"(warning : String?)","location":{"filename":"src/couchdb/response/results.cr","line_number":33,"url":null},"def":{"name":"warning=","args":[{"name":"warning","doc":null,"default_value":"","external_name":"warning","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@warning = warning"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Result","path":"CouchDB/Response/Result.html","kind":"class","full_name":"CouchDB::Response::Result","name":"Result","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"[](key:String)-instance-method","name":"[]","doc":null,"summary":null,"abstract":false,"args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":12,"url":null},"def":{"name":"[]","args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"if d = doc\n d[key]\nelse\n raise(Exception.new(\"Doc not in the results\"))\nend"}},{"html_id":"doc:JSON::Any?-instance-method","name":"doc","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : JSON::Any?","args_html":" : JSON::Any?","location":{"filename":"src/couchdb/response/results.cr","line_number":10,"url":null},"def":{"name":"doc","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"JSON::Any | ::Nil","visibility":"Public","body":"@doc"}},{"html_id":"doc=(doc:JSON::Any?)-instance-method","name":"doc=","doc":null,"summary":null,"abstract":false,"args":[{"name":"doc","doc":null,"default_value":"","external_name":"doc","restriction":"JSON::Any | ::Nil"}],"args_string":"(doc : JSON::Any?)","args_html":"(doc : JSON::Any?)","location":{"filename":"src/couchdb/response/results.cr","line_number":10,"url":null},"def":{"name":"doc=","args":[{"name":"doc","doc":null,"default_value":"","external_name":"doc","restriction":"JSON::Any | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@doc = doc"}},{"html_id":"id:String-instance-method","name":"id","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/results.cr","line_number":7,"url":null},"def":{"name":"id","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@id"}},{"html_id":"id=(id:String)-instance-method","name":"id=","doc":null,"summary":null,"abstract":false,"args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"}],"args_string":"(id : String)","args_html":"(id : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":7,"url":null},"def":{"name":"id=","args":[{"name":"id","doc":null,"default_value":"","external_name":"id","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@id = id"}},{"html_id":"key:String-instance-method","name":"key","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/results.cr","line_number":8,"url":null},"def":{"name":"key","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@key"}},{"html_id":"key=(key:String)-instance-method","name":"key=","doc":null,"summary":null,"abstract":false,"args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"args_string":"(key : String)","args_html":"(key : String)","location":{"filename":"src/couchdb/response/results.cr","line_number":8,"url":null},"def":{"name":"key=","args":[{"name":"key","doc":null,"default_value":"","external_name":"key","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@key = key"}},{"html_id":"value:NamedTuple(rev:String)-instance-method","name":"value","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : NamedTuple(rev: String)","args_html":" : NamedTuple(rev: String)","location":{"filename":"src/couchdb/response/results.cr","line_number":9,"url":null},"def":{"name":"value","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"NamedTuple(rev: String)","visibility":"Public","body":"@value"}},{"html_id":"value=(value:NamedTuple(rev:String))-instance-method","name":"value=","doc":null,"summary":null,"abstract":false,"args":[{"name":"value","doc":null,"default_value":"","external_name":"value","restriction":"NamedTuple(rev: String)"}],"args_string":"(value : NamedTuple(rev: String))","args_html":"(value : NamedTuple(rev: String))","location":{"filename":"src/couchdb/response/results.cr","line_number":9,"url":null},"def":{"name":"value=","args":[{"name":"value","doc":null,"default_value":"","external_name":"value","restriction":"NamedTuple(rev: String)"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@value = value"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Results","path":"CouchDB/Response/Results.html","kind":"class","full_name":"CouchDB::Response::Results","name":"Results","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/results.cr","line_number":22,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/results.cr","line_number":23,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"offset:Int64-instance-method","name":"offset","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/results.cr","line_number":25,"url":null},"def":{"name":"offset","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@offset"}},{"html_id":"offset=(offset:Int64)-instance-method","name":"offset=","doc":null,"summary":null,"abstract":false,"args":[{"name":"offset","doc":null,"default_value":"","external_name":"offset","restriction":"Int64"}],"args_string":"(offset : Int64)","args_html":"(offset : Int64)","location":{"filename":"src/couchdb/response/results.cr","line_number":25,"url":null},"def":{"name":"offset=","args":[{"name":"offset","doc":null,"default_value":"","external_name":"offset","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@offset = offset"}},{"html_id":"rows:Array(Result)-instance-method","name":"rows","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Array(Result)","args_html":" : Array(Result)","location":{"filename":"src/couchdb/response/results.cr","line_number":26,"url":null},"def":{"name":"rows","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Array(Result)","visibility":"Public","body":"@rows"}},{"html_id":"rows=(rows:Array(Result))-instance-method","name":"rows=","doc":null,"summary":null,"abstract":false,"args":[{"name":"rows","doc":null,"default_value":"","external_name":"rows","restriction":"Array(Result)"}],"args_string":"(rows : Array(Result))","args_html":"(rows : Array(Result))","location":{"filename":"src/couchdb/response/results.cr","line_number":26,"url":null},"def":{"name":"rows=","args":[{"name":"rows","doc":null,"default_value":"","external_name":"rows","restriction":"Array(Result)"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@rows = rows"}},{"html_id":"total_rows:Int64-instance-method","name":"total_rows","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Int64","args_html":" : Int64","location":{"filename":"src/couchdb/response/results.cr","line_number":24,"url":null},"def":{"name":"total_rows","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Int64","visibility":"Public","body":"@total_rows"}},{"html_id":"total_rows=(total_rows:Int64)-instance-method","name":"total_rows=","doc":null,"summary":null,"abstract":false,"args":[{"name":"total_rows","doc":null,"default_value":"","external_name":"total_rows","restriction":"Int64"}],"args_string":"(total_rows : Int64)","args_html":"(total_rows : Int64)","location":{"filename":"src/couchdb/response/results.cr","line_number":24,"url":null},"def":{"name":"total_rows=","args":[{"name":"total_rows","doc":null,"default_value":"","external_name":"total_rows","restriction":"Int64"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@total_rows = total_rows"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/ServerInfo","path":"CouchDB/Response/ServerInfo.html","kind":"class","full_name":"CouchDB::Response::ServerInfo","name":"ServerInfo","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/server_info.cr","line_number":15,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":16,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"couchdb:String-instance-method","name":"couchdb","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":17,"url":null},"def":{"name":"couchdb","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@couchdb"}},{"html_id":"couchdb=(couchdb:String)-instance-method","name":"couchdb=","doc":null,"summary":null,"abstract":false,"args":[{"name":"couchdb","doc":null,"default_value":"","external_name":"couchdb","restriction":"String"}],"args_string":"(couchdb : String)","args_html":"(couchdb : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":17,"url":null},"def":{"name":"couchdb=","args":[{"name":"couchdb","doc":null,"default_value":"","external_name":"couchdb","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@couchdb = couchdb"}},{"html_id":"is_v2?-instance-method","name":"is_v2?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":22,"url":null},"def":{"name":"is_v2?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"!((/^2\\.\\d+\\.\\d+$/).match(version).nil?)"}},{"html_id":"is_v3?-instance-method","name":"is_v3?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":26,"url":null},"def":{"name":"is_v3?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"!((/^3\\.\\d+\\.\\d+$/).match(version).nil?)"}},{"html_id":"uuid:String-instance-method","name":"uuid","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":18,"url":null},"def":{"name":"uuid","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@uuid"}},{"html_id":"uuid=(uuid:String)-instance-method","name":"uuid=","doc":null,"summary":null,"abstract":false,"args":[{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":"String"}],"args_string":"(uuid : String)","args_html":"(uuid : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":18,"url":null},"def":{"name":"uuid=","args":[{"name":"uuid","doc":null,"default_value":"","external_name":"uuid","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@uuid = uuid"}},{"html_id":"vendor:Vendor-instance-method","name":"vendor","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Vendor","args_html":" : Vendor","location":{"filename":"src/couchdb/response/server_info.cr","line_number":20,"url":null},"def":{"name":"vendor","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Vendor","visibility":"Public","body":"@vendor"}},{"html_id":"vendor=(vendor:Vendor)-instance-method","name":"vendor=","doc":null,"summary":null,"abstract":false,"args":[{"name":"vendor","doc":null,"default_value":"","external_name":"vendor","restriction":"Vendor"}],"args_string":"(vendor : Vendor)","args_html":"(vendor : Vendor)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":20,"url":null},"def":{"name":"vendor=","args":[{"name":"vendor","doc":null,"default_value":"","external_name":"vendor","restriction":"Vendor"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@vendor = vendor"}},{"html_id":"version:String-instance-method","name":"version","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":19,"url":null},"def":{"name":"version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@version"}},{"html_id":"version=(version:String)-instance-method","name":"version=","doc":null,"summary":null,"abstract":false,"args":[{"name":"version","doc":null,"default_value":"","external_name":"version","restriction":"String"}],"args_string":"(version : String)","args_html":"(version : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":19,"url":null},"def":{"name":"version=","args":[{"name":"version","doc":null,"default_value":"","external_name":"version","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@version = version"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Status","path":"CouchDB/Response/Status.html","kind":"class","full_name":"CouchDB::Response::Status","name":"Status","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/status.cr","line_number":6,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[{"html_id":"couchdb.cr/CouchDB/Response/DocumentStatus","kind":"class","full_name":"CouchDB::Response::DocumentStatus","name":"DocumentStatus"}],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/status.cr","line_number":7,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"error:String?-instance-method","name":"error","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":9,"url":null},"def":{"name":"error","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@error"}},{"html_id":"error=(error:String?)-instance-method","name":"error=","doc":null,"summary":null,"abstract":false,"args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"args_string":"(error : String?)","args_html":"(error : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":9,"url":null},"def":{"name":"error=","args":[{"name":"error","doc":null,"default_value":"","external_name":"error","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@error = error"}},{"html_id":"error?-instance-method","name":"error?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/status.cr","line_number":16,"url":null},"def":{"name":"error?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"error"}},{"html_id":"ok:Bool?-instance-method","name":"ok","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool?","args_html":" : Bool?","location":{"filename":"src/couchdb/response/status.cr","line_number":8,"url":null},"def":{"name":"ok","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool | ::Nil","visibility":"Public","body":"@ok"}},{"html_id":"ok=(ok:Bool?)-instance-method","name":"ok=","doc":null,"summary":null,"abstract":false,"args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"args_string":"(ok : Bool?)","args_html":"(ok : Bool?)","location":{"filename":"src/couchdb/response/status.cr","line_number":8,"url":null},"def":{"name":"ok=","args":[{"name":"ok","doc":null,"default_value":"","external_name":"ok","restriction":"Bool | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@ok = ok"}},{"html_id":"ok?:Bool-instance-method","name":"ok?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : Bool","args_html":" : Bool","location":{"filename":"src/couchdb/response/status.cr","line_number":12,"url":null},"def":{"name":"ok?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"Bool","visibility":"Public","body":"ok.nil? ? false : ok.not_nil!"}},{"html_id":"reason:String?-instance-method","name":"reason","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String?","args_html":" : String?","location":{"filename":"src/couchdb/response/status.cr","line_number":10,"url":null},"def":{"name":"reason","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String | ::Nil","visibility":"Public","body":"@reason"}},{"html_id":"reason=(reason:String?)-instance-method","name":"reason=","doc":null,"summary":null,"abstract":false,"args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"args_string":"(reason : String?)","args_html":"(reason : String?)","location":{"filename":"src/couchdb/response/status.cr","line_number":10,"url":null},"def":{"name":"reason=","args":[{"name":"reason","doc":null,"default_value":"","external_name":"reason","restriction":"String | ::Nil"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@reason = reason"}},{"html_id":"reason?-instance-method","name":"reason?","doc":null,"summary":null,"abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/status.cr","line_number":20,"url":null},"def":{"name":"reason?","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"reason"}}],"macros":[],"types":[]},{"html_id":"couchdb.cr/CouchDB/Response/Vendor","path":"CouchDB/Response/Vendor.html","kind":"class","full_name":"CouchDB::Response::Vendor","name":"Vendor","abstract":false,"superclass":{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},"ancestors":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"},{"html_id":"couchdb.cr/Reference","kind":"class","full_name":"Reference","name":"Reference"},{"html_id":"couchdb.cr/Object","kind":"class","full_name":"Object","name":"Object"}],"locations":[{"filename":"src/couchdb/response/server_info.cr","line_number":5,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[],"included_modules":[{"html_id":"couchdb.cr/JSON/Serializable","kind":"module","full_name":"JSON::Serializable","name":"Serializable"}],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB/Response","kind":"module","full_name":"CouchDB::Response","name":"Response"},"doc":null,"summary":null,"class_methods":[],"constructors":[{"html_id":"new(pull:JSON::PullParser)-class-method","name":"new","doc":null,"summary":null,"abstract":false,"args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"args_string":"(pull : JSON::PullParser)","args_html":"(pull : JSON::PullParser)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":6,"url":null},"def":{"name":"new","args":[{"name":"pull","doc":null,"default_value":"","external_name":"pull","restriction":"::JSON::PullParser"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"new_from_json_pull_parser(pull)"}}],"instance_methods":[{"html_id":"name:String-instance-method","name":"name","doc":null,"summary":null,"abstract":false,"args":[],"args_string":" : String","args_html":" : String","location":{"filename":"src/couchdb/response/server_info.cr","line_number":7,"url":null},"def":{"name":"name","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"String","visibility":"Public","body":"@name"}},{"html_id":"name=(name:String)-instance-method","name":"name=","doc":null,"summary":null,"abstract":false,"args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"args_string":"(name : String)","args_html":"(name : String)","location":{"filename":"src/couchdb/response/server_info.cr","line_number":7,"url":null},"def":{"name":"name=","args":[{"name":"name","doc":null,"default_value":"","external_name":"name","restriction":"String"}],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":"@name = name"}},{"html_id":"version-instance-method","name":"version","doc":"property version : String","summary":"

property version : String

\n\n

DEPRECATED Use ServerInfo#version instead of Vendor#version.

\n\n","abstract":false,"args":[],"args_string":"","args_html":"","location":{"filename":"src/couchdb/response/server_info.cr","line_number":11,"url":null},"def":{"name":"version","args":[],"double_splat":null,"splat_index":null,"yields":null,"block_arg":null,"return_type":"","visibility":"Public","body":""}}],"macros":[],"types":[]}]},{"html_id":"couchdb.cr/CouchDB/URL","path":"CouchDB/URL.html","kind":"module","full_name":"CouchDB::URL","name":"URL","abstract":false,"superclass":null,"ancestors":[],"locations":[{"filename":"src/couchdb/client.cr","line_number":9,"url":null}],"repository_name":"couchdb.cr","program":false,"enum":false,"alias":false,"aliased":null,"aliased_html":null,"const":false,"constants":[{"id":"ACTIVE_TASKS","name":"ACTIVE_TASKS","value":"\"/_active_tasks\"","doc":null,"summary":null},{"id":"ALL_DBS","name":"ALL_DBS","value":"\"/_all_dbs\"","doc":null,"summary":null},{"id":"ALL_DOCS","name":"ALL_DOCS","value":"DB + \"/_all_docs\"","doc":null,"summary":null},{"id":"DB","name":"DB","value":"\"/%s\"","doc":null,"summary":null},{"id":"DOC","name":"DOC","value":"DB + \"/%s\"","doc":"Database","summary":"

Database

"},{"id":"FIND_DOCS","name":"FIND_DOCS","value":"DB + \"/_find\"","doc":null,"summary":null},{"id":"INFO","name":"INFO","value":"\"/\"","doc":"Server","summary":"

Server

"},{"id":"UUIDS","name":"UUIDS","value":"\"/_uuids?count=%d\"","doc":null,"summary":null}],"included_modules":[],"extended_modules":[],"subclasses":[],"including_types":[],"namespace":{"html_id":"couchdb.cr/CouchDB","kind":"module","full_name":"CouchDB","name":"CouchDB"},"doc":null,"summary":null,"class_methods":[],"constructors":[],"instance_methods":[],"macros":[],"types":[]}]}]}}) \ No newline at end of file diff --git a/shard.yml b/shard.yml index 3ea320f..b4da03f 100644 --- a/shard.yml +++ b/shard.yml @@ -1,10 +1,15 @@ name: couchdb -version: 0.3.0 +version: 0.4.0 authors: - Arnaud Fernandés - fork maintained by vectorselector -crystal: 1.0.0 +# NOTE: Instead of hard-coding version in this file, specify 'works with' elsewise (e.g.: Release notes?) +# crystal: 1.0.0 license: MIT + +dependencies: + json_mapping: + github: crystal-lang/json_mapping.cr diff --git a/spec/couchdb_spec.cr b/spec/couchdb_spec.cr index 48d00f1..aee4eb6 100644 --- a/spec/couchdb_spec.cr +++ b/spec/couchdb_spec.cr @@ -3,14 +3,40 @@ require "./spec_helper" require "../src/couchdb/client" describe CouchDB do + it "version in shard.yml matches version in CouchDB::VERSION" do + (`shards version .`).strip.should eq(CouchDB::VERSION) + CouchDB::VERSION.class.should eq(String) + CouchDB::VERSION.size.should be > 1 + end describe CouchDB::Client do - it "should get server info" do - client = new_client - info = client.server_info - info.couchdb.should eq "Welcome" - info.version.should match /^2\.\d+\.\d+$/ - info.vendor.name.should eq "The Apache Software Foundation" + context "should get server info re" do + it "couchdb" do + client = new_client + info = client.server_info + info.couchdb.should eq "Welcome" + end + + context "version" do + context "is supported version of" do + it "2.x.x or 3.x.x" do + client = new_client + info = client.server_info + + # DEBUG: Which CouchDb Version is it? + p! info.is_v2? if info.is_v2? + p! info.is_v3? if info.is_v3? + + (info.is_v2? || info.is_v3?).should be_true + end + end + end + + it "vendor.name" do + client = new_client + info = client.server_info + info.vendor.name.should eq "The Apache Software Foundation" + end end it "should create a database named testdb" do diff --git a/spec/spec_helper.cr b/spec/spec_helper.cr index 45712ce..9c26190 100644 --- a/spec/spec_helper.cr +++ b/spec/spec_helper.cr @@ -3,7 +3,12 @@ require "spec" require "../src/couchdb" def new_client : CouchDB::Client - couchdb_url = ENV["TEST_DB"]? || "http://admin:password@localhost:5984" + un = ENV.keys.includes?("TEST_DB_UN") ? ENV["TEST_DB_UN"] : "admin" + pw = ENV.keys.includes?("TEST_DB_PW") ? ENV["TEST_DB_PW"] : "password" + ip = ENV.keys.includes?("TEST_DB_IP") ? ENV["TEST_DB_IP"] : "localhost" + port = ENV.keys.includes?("TEST_DB_PORT") ? ENV["TEST_DB_PORT"] : "5984" + couchdb_url = ENV.keys.includes?("TEST_DB") ? ENV["TEST_DB"] : "http://#{un}:#{pw}@#{ip}:#{port}" + CouchDB::Client.new couchdb_url end diff --git a/src/couchdb.cr b/src/couchdb.cr index 8f08e81..0e39e6b 100644 --- a/src/couchdb.cr +++ b/src/couchdb.cr @@ -3,6 +3,7 @@ require "./couchdb/client" require "./couchdb/database" require "./couchdb/response" require "./couchdb/find_query" +require "json_mapping" module CouchDB diff --git a/src/couchdb/response/server_info.cr b/src/couchdb/response/server_info.cr index bcfd9d6..17d0743 100644 --- a/src/couchdb/response/server_info.cr +++ b/src/couchdb/response/server_info.cr @@ -1,11 +1,15 @@ require "json" module CouchDB::Response - + class Vendor include JSON::Serializable property name : String - property version : String + + # property version : String + @[Deprecated("Use `ServerInfo#version` instead of `Vendor#version`.")] + def version + end end class ServerInfo @@ -14,6 +18,13 @@ module CouchDB::Response property uuid : String property version : String property vendor : Vendor - end + def is_v2? + !(/^2\.\d+\.\d+$/.match(version).nil?) + end + + def is_v3? + !(/^3\.\d+\.\d+$/.match(version).nil?) + end + end end diff --git a/src/couchdb/version.cr b/src/couchdb/version.cr index eefc210..8beaa20 100644 --- a/src/couchdb/version.cr +++ b/src/couchdb/version.cr @@ -1,3 +1,3 @@ module CouchDB - VERSION = "0.3.0" + VERSION = {{ `shards version "#{__DIR__}"`.chomp.stringify }} end