relaxo 0.4.2 → 0.4.3

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,15 +1,7 @@
1
1
  ---
2
- !binary "U0hBMQ==":
3
- metadata.gz: !binary |-
4
- ZmJjYzZmZTEwYTAwNzczMjhlNmI5YzdmZWIxNTViOTMwZmZkZmY4Ng==
5
- data.tar.gz: !binary |-
6
- MzA2ZDlmY2U0MzI0NGFkMGExYmRmNjkyY2ZkZjAzMjQzNzliMGJiYQ==
7
- !binary "U0hBNTEy":
8
- metadata.gz: !binary |-
9
- ODBmMzE1YzAwNjM3MmUzZjJiNDRlZjNkMTM0NjNjZjM1YTYxZjUxMmQwMGY0
10
- Njk2NTllYWZlM2RjZmU0YmU2ZWYxNWNjNGZmNjE0YjU1ZWQwZjM2NWMzMjdl
11
- NDJhZWE5MzVkZmJkMjMxZjI5YzNhYTk3ZjI5YmZlOGNkYzVkMmY=
12
- data.tar.gz: !binary |-
13
- ZDU3MmI3MTc3NTY3Nzk2NmQ4Njk2Y2IyNTBmNWExY2ZjYTljN2U2NGE1NjNm
14
- ZTM2YTI0MWM5N2MwNTFmMTYzYzQ3Y2IyYWYxZTM4YWVhZTA4ZDA5MDFhMzNk
15
- MmNkYzA2Yzk1ZGJlZWRhNTkwY2ZhNWM3ZDI4ZTc2ZDY3ODNiZWU=
2
+ SHA1:
3
+ metadata.gz: a9717e7374491be200281a28c52e54779a227015
4
+ data.tar.gz: b35bd9c406790b3660bb74865d481a5c4eefa42e
5
+ SHA512:
6
+ metadata.gz: 20fd23a6cb298e4fcfe8fff4d85e7fa1723f58c6ccad262086d61b55c574dfa94ae70c989257378a0ec2f7332861e0bc1c7fde56e28265c4a70adb20718f9dd2
7
+ data.tar.gz: cffb68a2e4db2c1b3a7345f2016b9910a2e61264bbd211385af2beeb37f6390c3a68321ee1d7269f62e8926c657b9bbd91ca4402ad9fc09e1d8bb15d2247761a
@@ -42,7 +42,7 @@ module Relaxo
42
42
  class Database
43
43
  def attach(document, name, data, options = {})
44
44
  parameters = {
45
- :rev => document[REV]
45
+ :rev => Parameter::Raw(document[REV])
46
46
  }.merge(options[:parameters] || {})
47
47
 
48
48
  headers = {}
data/lib/relaxo/client.rb CHANGED
@@ -26,6 +26,38 @@ module Relaxo
26
26
  # Typically returned from CouchDB when the request was successful:
27
27
  SUCCESS = {'ok' => true}
28
28
 
29
+ module Parameter
30
+ # Raw string parameter.
31
+ class Raw
32
+ def initialize(value)
33
+ @value = value
34
+ end
35
+
36
+ def to_query_string
37
+ @value
38
+ end
39
+ end
40
+
41
+ def self.Raw(value)
42
+ Raw.new(value)
43
+ end
44
+
45
+ # Force JSON serialisation.
46
+ class JSON
47
+ def initialize(value)
48
+ @value = value
49
+ end
50
+
51
+ def to_query_string
52
+ @value.to_json
53
+ end
54
+ end
55
+
56
+ def self.JSON(value)
57
+ JSON.new(value)
58
+ end
59
+ end
60
+
29
61
  module Client
30
62
  DEFAULT_GET_HEADERS = {:accept => :json}
31
63
  DEFAULT_PUT_HEADERS = {:accept => :json, :content_type => :json}
@@ -109,7 +141,9 @@ module Relaxo
109
141
  parameters.each do |key, value|
110
142
  key_string = key.to_s
111
143
 
112
- if Symbol === value || key_string.end_with?("docid")
144
+ if value.respond_to? :to_query_string
145
+ query << escape(key_string) + '=' + escape(value.to_query_string)
146
+ elsif Symbol === value || key_string.end_with?("docid")
113
147
  query << escape(key_string) + '=' + escape(value.to_s)
114
148
  else
115
149
  query << escape(key_string) + '=' + escape(value.to_json)
@@ -19,5 +19,5 @@
19
19
  # THE SOFTWARE.
20
20
 
21
21
  module Relaxo
22
- VERSION = "0.4.2"
22
+ VERSION = "0.4.3"
23
23
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: relaxo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.2
4
+ version: 0.4.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2013-04-04 00:00:00.000000000 Z
11
+ date: 2013-08-01 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -28,14 +28,14 @@ dependencies:
28
28
  name: rake
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
- - - ! '>='
31
+ - - '>='
32
32
  - !ruby/object:Gem::Version
33
33
  version: '0'
34
34
  type: :development
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
- - - ! '>='
38
+ - - '>='
39
39
  - !ruby/object:Gem::Version
40
40
  version: '0'
41
41
  - !ruby/object:Gem::Dependency
@@ -56,19 +56,19 @@ dependencies:
56
56
  name: rest-client
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
- - - ! '>='
59
+ - - '>='
60
60
  - !ruby/object:Gem::Version
61
61
  version: '0'
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
- - - ! '>='
66
+ - - '>='
67
67
  - !ruby/object:Gem::Version
68
68
  version: '0'
69
- description: ! "\t\tRelaxo provides a set of tools and interfaces for interacting
70
- with CouchDB.\n\t\tIt aims to be as simple and efficient as possible while still
71
- improving the\n\t\tusability of various CouchDB features.\n"
69
+ description: "\t\tRelaxo provides a set of tools and interfaces for interacting with
70
+ CouchDB.\n\t\tIt aims to be as simple and efficient as possible while still improving
71
+ the\n\t\tusability of various CouchDB features.\n"
72
72
  email:
73
73
  - samuel.williams@oriontransfer.co.nz
74
74
  executables:
@@ -83,14 +83,6 @@ files:
83
83
  - README.md
84
84
  - bin/relaxo
85
85
  - bin/relaxo-admin
86
- - build/master.rb
87
- - build/rakefile.rb
88
- - build/relaxo-0.1.0.gemspec
89
- - build/relaxo-0.1.1.gemspec
90
- - build/relaxo-0.2.0.gemspec
91
- - build/relaxo-0.3.0.gemspec
92
- - build/relaxo-0.3.1.gemspec
93
- - build/relaxo-0.4.0.gemspec
94
86
  - lib/relaxo.rb
95
87
  - lib/relaxo/attachments.rb
96
88
  - lib/relaxo/base64-1.8.rb
@@ -118,17 +110,17 @@ require_paths:
118
110
  - lib
119
111
  required_ruby_version: !ruby/object:Gem::Requirement
120
112
  requirements:
121
- - - ! '>='
113
+ - - '>='
122
114
  - !ruby/object:Gem::Version
123
115
  version: '0'
124
116
  required_rubygems_version: !ruby/object:Gem::Requirement
125
117
  requirements:
126
- - - ! '>='
118
+ - - '>='
127
119
  - !ruby/object:Gem::Version
128
120
  version: '0'
129
121
  requirements: []
130
122
  rubyforge_project:
131
- rubygems_version: 2.0.2
123
+ rubygems_version: 2.0.6
132
124
  signing_key:
133
125
  specification_version: 4
134
126
  summary: Relaxo is a helper for loading and working with CouchDB.
data/build/master.rb DELETED
@@ -1,22 +0,0 @@
1
-
2
- Dir.chdir("../") do
3
- require './lib/relaxo/version'
4
-
5
- Gem::Specification.new do |s|
6
- s.name = "relaxo"
7
- s.version = Relaxo::VERSION::STRING
8
- s.author = "Samuel Williams"
9
- s.email = "samuel@oriontransfer.org"
10
- s.homepage = "http://www.codeotaku.com/projects/relaxo"
11
- s.platform = Gem::Platform::RUBY
12
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
13
- s.files = FileList["{bin,lib,test}/**/*"] + ["rakefile.rb", "Gemfile", "README.md"]
14
-
15
- s.executables << 'relaxo'
16
-
17
- s.add_dependency("json", "~> 1.7.3")
18
- s.add_dependency("rest-client", "~> 1.6.7")
19
-
20
- s.has_rdoc = "yard"
21
- end
22
- end
data/build/rakefile.rb DELETED
@@ -1,39 +0,0 @@
1
-
2
- # Automatic Gem Build Script v3.0
3
-
4
- require 'fileutils'
5
- require 'rubygems'
6
-
7
- MasterGemspec = "master.rb"
8
-
9
- GEM = ENV['GEM'] || "gem"
10
-
11
- desc 'Build a gemspec file'
12
- task :build_gemspec do
13
- $spec = Gem::Specification.load(MasterGemspec)
14
-
15
- $versioned_gem = "#{$spec.name}-#{$spec.version}.gem"
16
- $versioned_gemspec = "#{$spec.name}-#{$spec.version}.gemspec"
17
- $base_gemspec = "#{$spec.name}.gemspec"
18
-
19
- puts "Building #{$versioned_gemspec}..."
20
-
21
- File.open($versioned_gemspec, "w") do |f|
22
- f.write($spec.to_ruby)
23
- end
24
-
25
- puts "Copying file to ../#{$base_gemspec}"
26
- FileUtils.cp($versioned_gemspec, "../#{$base_gemspec}")
27
- end
28
-
29
- task :build_gem => [:build_gemspec] do
30
- Dir.chdir("../") do
31
- system("#{GEM} build #{$base_gemspec}")
32
- end
33
- end
34
-
35
- task :install_gem => [:build_gem] do
36
- Dir.chdir("../") do
37
- system("#{GEM} install --local #{$versioned_gem}")
38
- end
39
- end
@@ -1,29 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.1.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-07-09"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/version.rb", "lib/relaxo.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<couchrest>, [">= 0"])
23
- else
24
- s.add_dependency(%q<couchrest>, [">= 0"])
25
- end
26
- else
27
- s.add_dependency(%q<couchrest>, [">= 0"])
28
- end
29
- end
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.1.1"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-07-10"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/client.rb", "lib/relaxo/database.rb", "lib/relaxo/model.rb", "lib/relaxo/properties.rb", "lib/relaxo/recordset.rb", "lib/relaxo/server.rb", "lib/relaxo/version.rb", "lib/relaxo.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<couchrest>, [">= 0"])
23
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
24
- else
25
- s.add_dependency(%q<couchrest>, [">= 0"])
26
- s.add_dependency(%q<rest-client>, [">= 0"])
27
- end
28
- else
29
- s.add_dependency(%q<couchrest>, [">= 0"])
30
- s.add_dependency(%q<rest-client>, [">= 0"])
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.2.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-07-11"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/client.rb", "lib/relaxo/database.rb", "lib/relaxo/model.rb", "lib/relaxo/properties", "lib/relaxo/properties/money.rb", "lib/relaxo/properties.rb", "lib/relaxo/recordset.rb", "lib/relaxo/server.rb", "lib/relaxo/version.rb", "lib/relaxo.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<couchrest>, [">= 0"])
23
- s.add_runtime_dependency(%q<rest-client>, [">= 0"])
24
- else
25
- s.add_dependency(%q<couchrest>, [">= 0"])
26
- s.add_dependency(%q<rest-client>, [">= 0"])
27
- end
28
- else
29
- s.add_dependency(%q<couchrest>, [">= 0"])
30
- s.add_dependency(%q<rest-client>, [">= 0"])
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.3.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-07-11"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/client.rb", "lib/relaxo/database.rb", "lib/relaxo/server.rb", "lib/relaxo/session.rb", "lib/relaxo/version.rb", "lib/relaxo.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<json>, ["~> 1.7.3"])
23
- s.add_runtime_dependency(%q<rest-client>, ["~> 1.6.7"])
24
- else
25
- s.add_dependency(%q<json>, ["~> 1.7.3"])
26
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
27
- end
28
- else
29
- s.add_dependency(%q<json>, ["~> 1.7.3"])
30
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.3.1"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-07-23"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/client.rb", "lib/relaxo/connection.rb", "lib/relaxo/database.rb", "lib/relaxo/session.rb", "lib/relaxo/version.rb", "lib/relaxo.rb", "test/database_test.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<json>, ["~> 1.7.3"])
23
- s.add_runtime_dependency(%q<rest-client>, ["~> 1.6.7"])
24
- else
25
- s.add_dependency(%q<json>, ["~> 1.7.3"])
26
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
27
- end
28
- else
29
- s.add_dependency(%q<json>, ["~> 1.7.3"])
30
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
31
- end
32
- end
@@ -1,32 +0,0 @@
1
- # -*- encoding: utf-8 -*-
2
-
3
- Gem::Specification.new do |s|
4
- s.name = "relaxo"
5
- s.version = "0.4.0"
6
-
7
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
8
- s.authors = ["Samuel Williams"]
9
- s.date = "2012-10-14"
10
- s.email = "samuel.williams@oriontransfer.co.nz"
11
- s.executables = ["relaxo"]
12
- s.files = ["bin/relaxo", "lib/relaxo", "lib/relaxo/attachments.rb", "lib/relaxo/base64-1.8.rb", "lib/relaxo/client.rb", "lib/relaxo/connection.rb", "lib/relaxo/database.rb", "lib/relaxo/json.rb", "lib/relaxo/transaction.rb", "lib/relaxo/version.rb", "lib/relaxo.rb", "test/README.md", "test/attachments_test.rb", "test/connection_test.rb", "test/database_test.rb", "test/helper.rb", "test/transaction_test.rb", "README.md"]
13
- s.homepage = "http://www.oriontransfer.co.nz/gems/relaxo"
14
- s.require_paths = ["lib"]
15
- s.rubygems_version = "1.8.23"
16
- s.summary = "Relaxo is a helper for loading and working with CouchDB."
17
-
18
- if s.respond_to? :specification_version then
19
- s.specification_version = 3
20
-
21
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
22
- s.add_runtime_dependency(%q<json>, ["~> 1.7.3"])
23
- s.add_runtime_dependency(%q<rest-client>, ["~> 1.6.7"])
24
- else
25
- s.add_dependency(%q<json>, ["~> 1.7.3"])
26
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
27
- end
28
- else
29
- s.add_dependency(%q<json>, ["~> 1.7.3"])
30
- s.add_dependency(%q<rest-client>, ["~> 1.6.7"])
31
- end
32
- end