marklogic 0.0.9 → 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: f3d4a03b6adbb3d294a968801a1401cf2007b91c
4
- data.tar.gz: a2b38bc033c10eabd86d79aaa96c5333035f6ee4
3
+ metadata.gz: 87bd426930f793bd0a6ef2a7e77f5042f2306ccf
4
+ data.tar.gz: 7dee1ac42e4dc21379104adb37ca2066cf2e6c9e
5
5
  SHA512:
6
- metadata.gz: 25d514df60053fbc73f35f3fe2d8df545df51f88d489869edb6104e49fc41e269b335ffd45e2c374582972c2938d878eeb689b7183f77888dab6a03af3826b39
7
- data.tar.gz: 95245ba6ec0601ef0ff48c1d173ae9762d2417a198083369844be39a6f1293a0a6b5974bd6bbd5dc11ebcda4f4edb4269988db37d695b00fd9314c5e66a9cc93
6
+ metadata.gz: 4fa300d7932ac6e93262e4cdf74a3f73104f618a9310675d09a0315a0160080b845a9cb94c6dfd8964ea0528c86e77fcb4aaecee170a140cbc14fc91b08e3681
7
+ data.tar.gz: b851de036f1a96e4217723c9f5b5591668a9796c80679b85d1e171dae2772b8fcae7cdc5264b0203719114a31ee0666f3e9977b9389291e4e8b184189fd8da87
@@ -72,7 +72,7 @@ module MarkLogic
72
72
 
73
73
  def update
74
74
  url = %Q{/manage/v2/servers/#{server_name}/properties?format=json}
75
- manage_connection.put(url, JSON.generate(to_json))
75
+ manage_connection.put(url, ::Oj.dump(to_json, mode: :compat))
76
76
  end
77
77
 
78
78
  def to_json
@@ -28,7 +28,7 @@ module MarkLogic
28
28
  if (doc.is_a?(Array))
29
29
  docs = {}
30
30
  doc.each do |d|
31
- docs[doc_uri(d)] = JSON.generate(d)
31
+ docs[doc_uri(d)] = ::Oj.dump(d, mode: :compat)
32
32
  end
33
33
  body = build_multipart_body(docs)
34
34
  response = @database.connection.post_multipart("/v1/documents", body)
@@ -36,7 +36,7 @@ module MarkLogic
36
36
  else
37
37
  uri = doc_uri(doc)
38
38
  url = "/v1/documents?uri=#{uri}&format=json&collection=#{collection}"
39
- json = JSON.generate(doc)
39
+ json = ::Oj.dump(doc, mode: :compat)
40
40
  response = @database.connection.put(url, json)
41
41
  raise Exception.new("Invalid response: #{response.code.to_i}, #{response.body}\n") unless [201, 204].include? response.code.to_i
42
42
  doc[:_id] || doc[:id] || doc['_id'] || doc['id']
@@ -253,7 +253,7 @@ module MarkLogic
253
253
  tmp = ""
254
254
 
255
255
  # collection
256
- metadata = JSON.generate({ collections: [ collection ]})
256
+ metadata = ::Oj.dump({ collections: [ collection ]}, mode: :compat)
257
257
  tmp << %Q{--#{boundary}\r\n}
258
258
  tmp << %Q{Content-Type: application/json\r\n}
259
259
  tmp << %Q{Content-Disposition: inline; category=metadata\r\n}
@@ -126,6 +126,8 @@ module MarkLogic
126
126
  @host
127
127
  end
128
128
 
129
+ attr_accessor :verbose
130
+
129
131
  def initialize(host, port, username = nil, password = nil, options = {})
130
132
  @host = host
131
133
  @port = port
@@ -133,6 +135,7 @@ module MarkLogic
133
135
  @password = password || self.class.default_password
134
136
  @request_retries = options[:request_retries] || 3
135
137
  @http = Net::HTTP::Persistent.new 'marklogic'
138
+ @verbose = options[:verbose] == true || false
136
139
  end
137
140
 
138
141
  def run_query(query, type = "javascript", options = {})
@@ -143,6 +146,8 @@ module MarkLogic
143
146
  headers = {
144
147
  'content-type' => 'application/x-www-form-urlencoded'
145
148
  }
149
+
150
+ logger.debug(%Q{MarkLogic (#{type}): #{query}})
146
151
  response = request('/eval', 'post', headers, params)
147
152
 
148
153
  # :xquery => options[:query],
@@ -168,7 +173,7 @@ module MarkLogic
168
173
  end
169
174
 
170
175
  def post_json(url, params = nil, headers = {})
171
- request(url, 'post', headers, ::JSON.generate(params))
176
+ request(url, 'post', headers, ::Oj.dump(params, mode: :compat))
172
177
  end
173
178
 
174
179
  def post_multipart(url, body = nil, headers = {}, boundary = "BOUNDARY")
@@ -319,7 +324,9 @@ module MarkLogic
319
324
  response = @http.request full_url, request
320
325
  end
321
326
 
322
- # puts("#{response.code} : #{verb.upcase} => ://#{@host}:#{@port}#{url} :: #{body} #{params}")
327
+ if @verbose
328
+ logger.debug("MarkLogic: #{response.code} : #{verb.upcase} => ://#{@host}:#{@port}#{url} :: #{body} #{params}")
329
+ end
323
330
 
324
331
  split_multipart(response)
325
332
  response
@@ -182,7 +182,7 @@ module MarkLogic
182
182
 
183
183
  def update
184
184
  url = %Q{/manage/v2/databases/#{database_name}/properties?format=json}
185
- r = manage_connection.put(url, JSON.generate(to_json))
185
+ r = manage_connection.put(url, ::Oj.dump(to_json, mode: :compat))
186
186
  end
187
187
 
188
188
  def reset_indexes
@@ -1,3 +1,3 @@
1
1
  module MarkLogic
2
- Version = "0.0.9"
2
+ Version = "0.0.10"
3
3
  end
@@ -42,6 +42,16 @@ describe MarkLogic::Collection do
42
42
  @collection.save( {:_id => "123", :name => "John", :age => 33, :stuff => "junk"} )
43
43
  expect(@collection.count).to eq 1
44
44
  end
45
+
46
+ it "save with a Time object" do
47
+ expect(@collection.count).to eq 0
48
+ current_time = Time.now
49
+ @collection.save( {:_id => "123", :name => "John", :age => 33, created_at: current_time} )
50
+
51
+ tdoc = @collection.load('123')
52
+ expect(tdoc).to eq({"_id" => "123", "name" => "John", "age" => 33, "created_at" => current_time.as_json })
53
+ expect(@collection.count).to eq 1
54
+ end
45
55
  end
46
56
 
47
57
  describe "#save multiples" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: marklogic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.9
4
+ version: 0.0.10
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paxton Hare
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-04-28 00:00:00.000000000 Z
11
+ date: 2015-04-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: net-http-persistent