rocking_chair 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
data/lib/rocking_chair.rb CHANGED
@@ -16,31 +16,31 @@ require "rocking_chair/view"
16
16
  require "rocking_chair/database"
17
17
  require "rocking_chair/server"
18
18
  require "rocking_chair/couch_rest_http_adapter"
19
+ require "rocking_chair/http_adapter"
20
+
19
21
 
20
22
  module RockingChair
21
-
22
- @_rocking_chair_enabled
23
+
24
+ @_rocking_chair_enabled = false
23
25
 
24
26
  def self.enable
25
- unless @_rocking_chair_enabled
26
- HttpAbstraction.extend(RockingChair::CouchRestHttpAdapter)
27
- @_rocking_chair_enabled = true
28
- end
27
+ @_rocking_chair_enabled = true
29
28
  end
30
29
 
31
30
  def self.disable
32
- if @_rocking_chair_enabled
33
- HttpAbstraction.extend(RestClientAdapter::API)
34
- @_rocking_chair_enabled = false
35
- end
31
+ @_rocking_chair_enabled = false
32
+ end
33
+
34
+ def self.enabled?
35
+ @_rocking_chair_enabled
36
36
  end
37
37
 
38
38
  def self.enable_debug
39
- HttpAbstraction.instance_variable_set("@_rocking_chair_debug", true)
39
+ RockingChair::CouchRestHttpAdapter.instance_variable_set("@_rocking_chair_debug", true)
40
40
  end
41
41
 
42
42
  def self.disable_debug
43
- HttpAbstraction.instance_variable_set("@_rocking_chair_debug", false)
43
+ RockingChair::CouchRestHttpAdapter.instance_variable_set("@_rocking_chair_debug", false)
44
44
  end
45
45
 
46
46
  end
@@ -4,7 +4,7 @@ module RockingChair
4
4
 
5
5
  @_rocking_chair_debug = false
6
6
 
7
- def get(uri, headers={})
7
+ def self.get(uri, headers={})
8
8
  puts "GET: #{uri.inspect}: #{headers.inspect}" if @_rocking_chair_debug
9
9
  url, parameters = RockingChair::Server.normalize_url(uri)
10
10
  if url == ''
@@ -28,7 +28,7 @@ module RockingChair
28
28
  end
29
29
  end
30
30
 
31
- def post(uri, payload, headers={})
31
+ def self.post(uri, payload, headers={})
32
32
  puts "POST: #{uri.inspect}: #{payload.inspect} #{headers.inspect}" if @_rocking_chair_debug
33
33
  url, parameters = RockingChair::Server.normalize_url(uri)
34
34
  if url.match(/\A(#{URL_PARAMETER})\/?\Z/)
@@ -40,7 +40,7 @@ module RockingChair
40
40
  end
41
41
  end
42
42
 
43
- def put(uri, payload, headers={})
43
+ def self.put(uri, payload, headers={})
44
44
  puts "PUT: #{uri.inspect}: #{payload.inspect} #{headers.inspect}" if @_rocking_chair_debug
45
45
  url, parameters = RockingChair::Server.normalize_url(uri)
46
46
  if url.match(/\A(#{URL_PARAMETER})\Z/)
@@ -54,7 +54,7 @@ module RockingChair
54
54
  end
55
55
  end
56
56
 
57
- def delete(uri, headers={})
57
+ def self.delete(uri, headers={})
58
58
  puts "DELETE: #{uri.inspect}: #{headers.inspect}" if @_rocking_chair_debug
59
59
  url, parameters = RockingChair::Server.normalize_url(uri)
60
60
  if url.match(/\A(#{URL_PARAMETER})\Z/)
@@ -68,7 +68,7 @@ module RockingChair
68
68
  end
69
69
  end
70
70
 
71
- def copy(uri, headers)
71
+ def self.copy(uri, headers)
72
72
  puts "COPY: #{uri.inspect}: #{headers.inspect}" if @_rocking_chair_debug
73
73
  url, parameters = RockingChair::Server.normalize_url(uri)
74
74
  if url.match(/\A(#{URL_PARAMETER})\/(#{URL_PARAMETER})\Z/)
@@ -0,0 +1,35 @@
1
+ module RockingChair
2
+ module HttpAdapter
3
+
4
+ def http_adapter
5
+ if RockingChair.enabled?
6
+ RockingChair::CouchRestHttpAdapter
7
+ else
8
+ RestClientAdapter::API
9
+ end
10
+ end
11
+
12
+ def get(uri, headers=nil)
13
+ http_adapter.get(uri, headers)
14
+ end
15
+
16
+ def post(uri, payload, headers=nil)
17
+ http_adapter.post(uri, payload, headers)
18
+ end
19
+
20
+ def put(uri, payload, headers=nil)
21
+ http_adapter.put(uri, payload, headers)
22
+ end
23
+
24
+ def delete(uri, headers=nil)
25
+ http_adapter.delete(uri, headers)
26
+ end
27
+
28
+ def copy(uri, headers)
29
+ http_adapter.copy(uri, headers)
30
+ end
31
+
32
+ end
33
+ end
34
+
35
+ HttpAbstraction.extend(RockingChair::HttpAdapter)
metadata CHANGED
@@ -1,12 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rocking_chair
3
3
  version: !ruby/object:Gem::Version
4
+ hash: 23
4
5
  prerelease: false
5
6
  segments:
6
7
  - 0
7
- - 1
8
+ - 2
8
9
  - 0
9
- version: 0.1.0
10
+ version: 0.2.0
10
11
  platform: ruby
11
12
  authors:
12
13
  - Jonathan Weiss
@@ -14,16 +15,18 @@ autorequire:
14
15
  bindir: bin
15
16
  cert_chain: []
16
17
 
17
- date: 2010-05-17 00:00:00 +02:00
18
+ date: 2010-09-14 00:00:00 +02:00
18
19
  default_executable:
19
20
  dependencies:
20
21
  - !ruby/object:Gem::Dependency
21
22
  name: simply_stored
22
23
  prerelease: false
23
24
  requirement: &id001 !ruby/object:Gem::Requirement
25
+ none: false
24
26
  requirements:
25
27
  - - ">="
26
28
  - !ruby/object:Gem::Version
29
+ hash: 3
27
30
  segments:
28
31
  - 0
29
32
  - 1
@@ -48,8 +51,17 @@ files:
48
51
  - lib/rocking_chair/database.rb
49
52
  - lib/rocking_chair/error.rb
50
53
  - lib/rocking_chair/helper.rb
54
+ - lib/rocking_chair/http_adapter.rb
51
55
  - lib/rocking_chair/server.rb
52
56
  - lib/rocking_chair/view.rb
57
+ - test/couch_rest_test.rb
58
+ - test/database_test.rb
59
+ - test/extended_couch_rest_test.rb
60
+ - test/fixtures/extended_couch_rest_fixtures.rb
61
+ - test/fixtures/simply_stored_fixtures.rb
62
+ - test/simply_stored_test.rb
63
+ - test/test_helper.rb
64
+ - test/view_test.rb
53
65
  has_rdoc: true
54
66
  homepage: http://github.com/jweiss/rocking_chair
55
67
  licenses: []
@@ -60,23 +72,27 @@ rdoc_options:
60
72
  require_paths:
61
73
  - lib
62
74
  required_ruby_version: !ruby/object:Gem::Requirement
75
+ none: false
63
76
  requirements:
64
77
  - - ">="
65
78
  - !ruby/object:Gem::Version
79
+ hash: 3
66
80
  segments:
67
81
  - 0
68
82
  version: "0"
69
83
  required_rubygems_version: !ruby/object:Gem::Requirement
84
+ none: false
70
85
  requirements:
71
86
  - - ">="
72
87
  - !ruby/object:Gem::Version
88
+ hash: 3
73
89
  segments:
74
90
  - 0
75
91
  version: "0"
76
92
  requirements: []
77
93
 
78
94
  rubyforge_project:
79
- rubygems_version: 1.3.6
95
+ rubygems_version: 1.3.7
80
96
  signing_key:
81
97
  specification_version: 3
82
98
  summary: In-memory CouchDB for Couchrest and SimplyStored