roozer_client 0.6 → 0.7

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- N2I3YzMwNTk0NWRlOTZmMmQyYWFhNTg3Njc2NTQyYWFiYmQ4MmVjZQ==
4
+ MmNkOGEyOGRhMGU4NTYzNDNiMWIyOGM0YzhmMDU2ODA1NzUwOGMzNg==
5
5
  data.tar.gz: !binary |-
6
- YWYzMjE3NDI5MzdkZDc3MmZhNGM3YjFlOTJkNWM2NTFjZDg2YzA2ZA==
6
+ YmJkYjYyOWVhNjQyZjk0NzI0OGEyODdkOGE1OTc1MmVmNTliNTE0Ng==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- ODIxNjgxZWExNzBmMzU2N2U3MDM3YzIxNzcyNzA0MDM1OGZmYjljNDI0Njdl
10
- YzZmYjExYTZlY2IxMWQ3MzVhNGI4Njk5NGE2NWQwMDAyOWI3MjQ3Zjg5YTll
11
- ODM0YjZjZGRjMTA0YmNiYzM1Yjk4NmM2ZWRjZDQ4OTFjMWUxNDU=
9
+ NTNkMzY5N2U2ZDBhMWY0YTY1NDYwNmUyODFjMjE2YzFlZWEzNzlkYWVmZTNj
10
+ NmUwNzEwN2QwZTllNTMwMWFlOTI2NzU4ODBiNzdkMDBmNzY5MjJmZjEzZDJi
11
+ MjcxZDI5NGMzYjNhZmRjMzMzZWIyYjZiNjZiZTM4NmQzNWU3MmQ=
12
12
  data.tar.gz: !binary |-
13
- N2U0ZTQzZDJmM2UyNTU0MzcxNjBlZDVmMDE1Zjc1YzEwYmUzNzlmMzczZTQ4
14
- MThhMzMwMzhiNWM5OTE4OTRkZWE4Yzg4NDkzNDk2Yjk5ZGZlOTk1MzZkMjIy
15
- MTVhYmQzNDYwODgxODZhYjA4MGNmOTQ1M2U4Y2YyNjQ2NjYzYjM=
13
+ MGU3NmI2NDE4MzIxYTRiMWY5M2NkYTUxN2Q3ZDdiNDk0YzBlYmE0YjI1MmRj
14
+ ZTUzNTlhOTk3ZDQyNTI4MDdjMjI5ZTE5MzVjNDZjN2U2MzljNGQ3MTIxZjQ3
15
+ YjU5MDUwNzI5YTUwODAzZDEzZWZjNDgzNGQ0ZjhhMTE5MDk0MWI=
data/CHANGELOG CHANGED
@@ -1,3 +1,4 @@
1
+ v0.7. more accurate change detection for update
1
2
  v0.6. support delete and update methods
2
3
  v0.5. Catch more network errors
3
4
  v0.4. Drop the requirement for json gem
data/lib/roozer_client.rb CHANGED
@@ -41,7 +41,11 @@ class RoozerClient
41
41
 
42
42
  def update(path, data)
43
43
  existing_data = get(path) rescue nil
44
- put(path, data) unless existing_data == data
44
+ put(path, data) unless data && existing_data == JSON.parse(data.to_json)
45
+ end
46
+
47
+ def self.data_to_json(data)
48
+ {value: data}.to_json if data
45
49
  end
46
50
 
47
51
  def request(method, path, data=nil)
@@ -49,7 +53,7 @@ class RoozerClient
49
53
  url = @urls.first
50
54
  resource = RestClient::Resource.new(url, @opts)
51
55
  fullpath = [@path,path].compact.map(&:to_s).join('/')
52
- response = resource["/#{fullpath}"].send(method, *[({value: data}.to_json if data), {content_type: :json, accept: :json}].compact)
56
+ response = resource["/#{fullpath}"].send(method, *[self.class.data_to_json(data), {content_type: :json, accept: :json}].compact)
53
57
  JSON.parse(response) rescue {}
54
58
  rescue SystemCallError, RestClient::RequestTimeout, RestClient::ServerBrokeConnection, RestClient::InternalServerError
55
59
  puts "#{$!.class}, retrying..."
@@ -2,11 +2,11 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "roozer_client"
5
- s.version = "0.6"
5
+ s.version = "0.7"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Andrew Snow"]
9
- s.date = "2013-04-11"
9
+ s.date = "2013-04-19"
10
10
  s.description = "Ruby client for Roozer server"
11
11
  s.email = "andrew@modulus.org"
12
12
  s.extra_rdoc_files = ["CHANGELOG", "README", "lib/roozer_client.rb"]
data/test/test_all.rb CHANGED
@@ -67,7 +67,7 @@ class TestRoozerClient < Test::Unit::TestCase
67
67
 
68
68
  def test_update_same
69
69
  result = nil
70
- datahash = {'a' => 'b'}
70
+ datahash = {'a' => 1}
71
71
  response = accept_request(200, {name:"/test/sub1",type:"file",value:datahash}.to_json) do
72
72
  result = @client.update('sub1', datahash)
73
73
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: roozer_client
3
3
  version: !ruby/object:Gem::Version
4
- version: '0.6'
4
+ version: '0.7'
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andrew Snow
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-11 00:00:00.000000000 Z
11
+ date: 2013-04-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  type: :runtime