ShyCouch 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -5,7 +5,7 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = %q{ShyCouch}
8
- s.version = "0.2.0"
8
+ s.version = "0.3.0"
9
9
 
10
10
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
11
  s.authors = [%q{Shy Inc.}, %q{Daniel Bryan}, %q{Cerales}]
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.0
@@ -15,29 +15,23 @@ require 'shyrubyjs'
15
15
  # require everything from the 'ShyCouch' subdirectory
16
16
  Dir.new(File.dirname(__FILE__)+'/ShyCouch').each { |f| require 'shycouch/' + f.split('.')[0] unless f == '.' or f == '..' }
17
17
 
18
- module Kernel
19
- def shycouch
20
- $database = ShyCouch::Connection.Create
21
- end
22
-
23
-
24
- end
25
-
26
- module Camping
27
- module Models
28
- CouchDocument = ShyCouch::Data::CouchDocument
29
- end
30
- end
31
-
32
18
 
33
19
  module ShyCouch
34
-
35
- attr_accessor :database
36
-
37
- class Connection
38
- # Test that the database is accessible and give back a CouchDBAPI object if so.
39
- # Doesn't actually gets instantiated - is just here to allow nice ShyCouch::Connection.Create syntax
40
- def self.Create(settings=nil)
20
+ class << self
21
+ def goes(m)
22
+ Camping.goes m
23
+ c = %{
24
+ #{m.to_s}::Models::CouchDocument = ShyCouch::Data::CouchDocument
25
+ }
26
+ eval(c)
27
+ ShyCouch.create
28
+ end
29
+
30
+ def create(settings=nil)
31
+ $couchdb = ShyCouch.getDB(settings)
32
+ end
33
+
34
+ def getDB(settings=nil)
41
35
  settings = $settings unless settings
42
36
  database = CouchDBAPI.new(settings["db"]["host"], settings["db"]["port"], settings["db"]["name"], settings["db"]["user"], settings["db"]["password"])
43
37
  puts database.connect unless database.connect["ok"]
@@ -45,6 +39,20 @@ module ShyCouch
45
39
  return database
46
40
  end
47
41
 
42
+ end
43
+ attr_accessor :database
44
+
45
+ class Connection
46
+ # Test that the database is accessible and give back a CouchDBAPI object if so.
47
+ # Doesn't actually gets instantiated - is just here to allow nice ShyCouch::Connection.Create syntax
48
+ # def self.Create(settings=nil)
49
+ # settings = $settings unless settings
50
+ # database = CouchDBAPI.new(settings["db"]["host"], settings["db"]["port"], settings["db"]["name"], settings["db"]["user"], settings["db"]["password"])
51
+ # puts database.connect unless database.connect["ok"]
52
+ # database.create unless database.on_server?
53
+ # return database
54
+ # end
55
+
48
56
  def push_generic_views
49
57
  #TODO
50
58
  end
@@ -63,7 +63,7 @@ module ShyCouch
63
63
 
64
64
  def push(database = nil)
65
65
  # assumes $database unless it receives a database argument
66
- database = $database unless database
66
+ database = $couchdb unless database
67
67
  res = database.push_document(self)
68
68
  self["_id"] = res["id"]
69
69
  self["_rev"] = res["rev"]
@@ -6,11 +6,11 @@ class CouchDocumentTests# < Test::Unit::TestCase
6
6
  class TestDocumentCreation < Test::Unit::TestCase
7
7
  def setup
8
8
  valid_settings = $settings
9
- @database = ShyCouch::Connection.Create(valid_settings)
9
+ @couchdb = ShyCouch.create(valid_settings)
10
10
  end
11
11
  def teardown
12
- @database.delete_database
13
- @database = nil
12
+ @couchdb.delete_database
13
+ @couchdb = nil
14
14
  end
15
15
 
16
16
  def test_create_from_empty_hash
@@ -53,7 +53,8 @@ class CouchDocumentTests# < Test::Unit::TestCase
53
53
  # assumes success of the stuff in TestDocumentPulling
54
54
  def setup
55
55
  valid_settings = $settings
56
- $database = ShyCouch::Connection.Create(valid_settings)
56
+ $couchdb = ShyCouch.create(valid_settings)
57
+
57
58
 
58
59
  @valid_documents = [
59
60
  ShyCouch::Data::CouchDocument.new({"kind"=>"post", "message"=>"BUY TRAMADOL ONLINE!!"}),
@@ -73,8 +74,8 @@ class CouchDocumentTests# < Test::Unit::TestCase
73
74
  @invalid_documents = nil # make sure user can't set rev maybe? or is that legal?
74
75
  end
75
76
  def teardown
76
- $database.delete_database
77
- $database = nil
77
+ $couchdb.delete_database
78
+ $couchdb = nil
78
79
  # delete the database
79
80
  end
80
81
 
@@ -97,7 +98,7 @@ class CouchDocumentTests# < Test::Unit::TestCase
97
98
  assert(doc["_id"])
98
99
  assert(doc["_rev"])
99
100
  # get the new doc
100
- newDoc = $database.get_document(doc._id)
101
+ newDoc = $couchdb.get_document(doc._id)
101
102
  # test equality of all the attributes aside from id and rev on the new document
102
103
  doc.attr_keys.each { |k|
103
104
  assert_equal(doc["k"], newDoc["k"])
@@ -119,7 +120,7 @@ class CouchDocumentTests# < Test::Unit::TestCase
119
120
  assert(res["ok"])
120
121
 
121
122
  # pull it from the database again
122
- checkDoc = $database.get_document(doc._id)
123
+ checkDoc = $couchdb.get_document(doc._id)
123
124
 
124
125
  # check that the one from the database has all the new attributes
125
126
  assert_equal(doc.owner, checkDoc.owner)
@@ -4,7 +4,7 @@ require_relative '../lib/ShyCouch.rb'
4
4
  class TestCouchDBAPI < Test::Unit::TestCase
5
5
  def setup
6
6
  valid_settings = $settings
7
- $database = ShyCouch::Connection.Create(valid_settings)
7
+ $database = ShyCouch.create(valid_settings)
8
8
  end
9
9
 
10
10
  def teardown
@@ -10,6 +10,6 @@ class TestCouchDBFactory < Test::Unit::TestCase
10
10
  end
11
11
 
12
12
  def test_create_database
13
- assert_kind_of(ShyCouch::CouchDBAPI, ShyCouch::Connection.Create(@valid_settings))
13
+ assert_kind_of(ShyCouch::CouchDBAPI, ShyCouch.create(@valid_settings))
14
14
  end
15
15
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ShyCouch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.3.0
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -15,7 +15,7 @@ date: 2011-08-20 00:00:00.000000000Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: bundler
18
- requirement: &70277019101960 !ruby/object:Gem::Requirement
18
+ requirement: &70094608804280 !ruby/object:Gem::Requirement
19
19
  none: false
20
20
  requirements:
21
21
  - - ~>
@@ -23,10 +23,10 @@ dependencies:
23
23
  version: 1.0.0
24
24
  type: :development
25
25
  prerelease: false
26
- version_requirements: *70277019101960
26
+ version_requirements: *70094608804280
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: jeweler
29
- requirement: &70277019099720 !ruby/object:Gem::Requirement
29
+ requirement: &70094608801900 !ruby/object:Gem::Requirement
30
30
  none: false
31
31
  requirements:
32
32
  - - ~>
@@ -34,10 +34,10 @@ dependencies:
34
34
  version: 1.6.4
35
35
  type: :development
36
36
  prerelease: false
37
- version_requirements: *70277019099720
37
+ version_requirements: *70094608801900
38
38
  - !ruby/object:Gem::Dependency
39
39
  name: rcov
40
- requirement: &70277019097000 !ruby/object:Gem::Requirement
40
+ requirement: &70094608799800 !ruby/object:Gem::Requirement
41
41
  none: false
42
42
  requirements:
43
43
  - - ! '>='
@@ -45,10 +45,10 @@ dependencies:
45
45
  version: '0'
46
46
  type: :development
47
47
  prerelease: false
48
- version_requirements: *70277019097000
48
+ version_requirements: *70094608799800
49
49
  - !ruby/object:Gem::Dependency
50
50
  name: sourcify
51
- requirement: &70277019094280 !ruby/object:Gem::Requirement
51
+ requirement: &70094608797500 !ruby/object:Gem::Requirement
52
52
  none: false
53
53
  requirements:
54
54
  - - ~>
@@ -56,10 +56,10 @@ dependencies:
56
56
  version: 0.5.0
57
57
  type: :development
58
58
  prerelease: false
59
- version_requirements: *70277019094280
59
+ version_requirements: *70094608797500
60
60
  - !ruby/object:Gem::Dependency
61
61
  name: ShyRubyJS
62
- requirement: &70277019091840 !ruby/object:Gem::Requirement
62
+ requirement: &70094608795700 !ruby/object:Gem::Requirement
63
63
  none: false
64
64
  requirements:
65
65
  - - ! '>='
@@ -67,10 +67,10 @@ dependencies:
67
67
  version: '0'
68
68
  type: :development
69
69
  prerelease: false
70
- version_requirements: *70277019091840
70
+ version_requirements: *70094608795700
71
71
  - !ruby/object:Gem::Dependency
72
72
  name: ShyRubyJS
73
- requirement: &70277019089840 !ruby/object:Gem::Requirement
73
+ requirement: &70094608794440 !ruby/object:Gem::Requirement
74
74
  none: false
75
75
  requirements:
76
76
  - - ! '>='
@@ -78,10 +78,10 @@ dependencies:
78
78
  version: '0'
79
79
  type: :runtime
80
80
  prerelease: false
81
- version_requirements: *70277019089840
81
+ version_requirements: *70094608794440
82
82
  - !ruby/object:Gem::Dependency
83
83
  name: sourcify
84
- requirement: &70277019088080 !ruby/object:Gem::Requirement
84
+ requirement: &70094608793120 !ruby/object:Gem::Requirement
85
85
  none: false
86
86
  requirements:
87
87
  - - ! '>='
@@ -89,7 +89,7 @@ dependencies:
89
89
  version: '0'
90
90
  type: :runtime
91
91
  prerelease: false
92
- version_requirements: *70277019088080
92
+ version_requirements: *70094608793120
93
93
  description: Ruby API for CouchDB, designed to work with the Camping micro-framework.
94
94
  email: danbryan@gmail.com
95
95
  executables: []
@@ -134,7 +134,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
134
134
  version: '0'
135
135
  segments:
136
136
  - 0
137
- hash: 366040615116575159
137
+ hash: -2635305617772024091
138
138
  required_rubygems_version: !ruby/object:Gem::Requirement
139
139
  none: false
140
140
  requirements: