ShyCouch 0.2.0 → 0.3.0

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.
@@ -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: