wgit 0.10.4 → 0.10.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/CHANGELOG.md +9 -0
- data/lib/wgit/database/database.rb +24 -10
- data/lib/wgit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a359a5011cce717a84c0fa353cba658a4abcd11d2e8575da701b39eef35f641c
|
4
|
+
data.tar.gz: 730b2eee3c88d9cd99c1d9754744aa4bae71bc10019113e840f2914b3a7909e5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4807d488cf03aa3dcf624249bd5169871bc17dd7e2de273cb841801147c040843912edc225a1f7346e427c022ecb2ce5360581323509221560ee99b31ea6a72b
|
7
|
+
data.tar.gz: ea3f1237116d05bbb24b2e85fdba1b6447821377a07ff5c5e6afea859afa5fb36d4e2c3f708c6f5dc201e0802aa61f0eaa56e63a62882330b5225dbbaa08721d
|
data/CHANGELOG.md
CHANGED
@@ -9,6 +9,15 @@
|
|
9
9
|
- ...
|
10
10
|
---
|
11
11
|
|
12
|
+
## v0.10.5
|
13
|
+
### Added
|
14
|
+
- `Database#last_result` getter method to return the most recent raw mongo result.
|
15
|
+
### Changed/Removed
|
16
|
+
- ...
|
17
|
+
### Fixed
|
18
|
+
- ...
|
19
|
+
---
|
20
|
+
|
12
21
|
## v0.10.4
|
13
22
|
### Added
|
14
23
|
- `Database#search_text` method which returns a Hash of `url => text_results` instead of `Wgit::Documents` (like `#search`).
|
@@ -45,6 +45,9 @@ module Wgit
|
|
45
45
|
# A custom setter method is also provided for changing the search logic.
|
46
46
|
attr_reader :text_index
|
47
47
|
|
48
|
+
# The raw MongoDB result of the most recent operation.
|
49
|
+
attr_reader :last_result
|
50
|
+
|
48
51
|
# Initializes a connected database client using the provided
|
49
52
|
# connection_string or ENV['WGIT_CONNECTION_STRING'].
|
50
53
|
#
|
@@ -185,6 +188,8 @@ module Wgit
|
|
185
188
|
result = @client[collection].replace_one(query, data_hash, upsert: true)
|
186
189
|
|
187
190
|
result.matched_count.zero?
|
191
|
+
ensure
|
192
|
+
@last_result = result
|
188
193
|
end
|
189
194
|
|
190
195
|
### Retrieve Data ###
|
@@ -294,16 +299,12 @@ module Wgit
|
|
294
299
|
results = retrieve(DOCUMENTS_COLLECTION, query,
|
295
300
|
sort: sort_proj, projection: sort_proj,
|
296
301
|
limit: limit, skip: skip)
|
297
|
-
return [] if results.count < 1 # respond_to? :empty? == false
|
298
302
|
|
299
|
-
|
300
|
-
results = results.map do |mongo_doc|
|
303
|
+
results.map do |mongo_doc|
|
301
304
|
doc = Wgit::Document.new(mongo_doc)
|
302
305
|
yield(doc) if block_given?
|
303
306
|
doc
|
304
307
|
end
|
305
|
-
|
306
|
-
results
|
307
308
|
end
|
308
309
|
|
309
310
|
# Searches the database's Documents for the given query and then searches
|
@@ -506,21 +507,30 @@ module Wgit
|
|
506
507
|
# 0 or 1 because urls are unique.
|
507
508
|
def delete(obj)
|
508
509
|
collection, query = get_type_info(obj)
|
509
|
-
@client[collection].delete_one(query)
|
510
|
+
result = @client[collection].delete_one(query)
|
511
|
+
result.n
|
512
|
+
ensure
|
513
|
+
@last_result = result
|
510
514
|
end
|
511
515
|
|
512
516
|
# Deletes everything in the urls collection.
|
513
517
|
#
|
514
518
|
# @return [Integer] The number of deleted records.
|
515
519
|
def clear_urls
|
516
|
-
@client[URLS_COLLECTION].delete_many({})
|
520
|
+
result = @client[URLS_COLLECTION].delete_many({})
|
521
|
+
result.n
|
522
|
+
ensure
|
523
|
+
@last_result = result
|
517
524
|
end
|
518
525
|
|
519
526
|
# Deletes everything in the documents collection.
|
520
527
|
#
|
521
528
|
# @return [Integer] The number of deleted records.
|
522
529
|
def clear_docs
|
523
|
-
@client[DOCUMENTS_COLLECTION].delete_many({})
|
530
|
+
result = @client[DOCUMENTS_COLLECTION].delete_many({})
|
531
|
+
result.n
|
532
|
+
ensure
|
533
|
+
@last_result = result
|
524
534
|
end
|
525
535
|
|
526
536
|
# Deletes everything in the urls and documents collections. This will nuke
|
@@ -588,6 +598,8 @@ module Wgit
|
|
588
598
|
else
|
589
599
|
raise 'data must be a Hash or an Array of Hashes'
|
590
600
|
end
|
601
|
+
ensure
|
602
|
+
@last_result = result
|
591
603
|
end
|
592
604
|
|
593
605
|
# Return if the write to the DB succeeded or not.
|
@@ -624,8 +636,8 @@ module Wgit
|
|
624
636
|
sort: {}, projection: {},
|
625
637
|
limit: 0, skip: 0)
|
626
638
|
assert_type(query, Hash)
|
627
|
-
@client[collection.to_sym].find(query).projection(projection)
|
628
|
-
|
639
|
+
@last_result = @client[collection.to_sym].find(query).projection(projection)
|
640
|
+
.skip(skip).limit(limit).sort(sort)
|
629
641
|
end
|
630
642
|
|
631
643
|
# Mutate/update one or more Url or Document records in the DB.
|
@@ -645,6 +657,8 @@ module Wgit
|
|
645
657
|
raise 'DB write(s) (update) failed' unless write_succeeded?(result)
|
646
658
|
|
647
659
|
result.n
|
660
|
+
ensure
|
661
|
+
@last_result = result
|
648
662
|
end
|
649
663
|
|
650
664
|
alias num_objects num_records
|
data/lib/wgit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: wgit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.10.
|
4
|
+
version: 0.10.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Michael Telford
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2022-07-11 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: addressable
|