Class: LooseChange::Database
- Inherits:
-
Object
- Object
- LooseChange::Database
- Extended by:
- Helpers
- Includes:
- Helpers
- Defined in:
- lib/loose_change/database.rb
Instance Attribute Summary collapse
-
#name ⇒ Object
readonly
Returns the value of attribute name.
-
#server ⇒ Object
readonly
Returns the value of attribute server.
Class Method Summary collapse
-
.delete(name, server = "http://127.0.0.1:5984") ⇒ Object
Delete the database named
name
on the serverserver
. - .setup_design(database, model_name) ⇒ Object
Instance Method Summary collapse
-
#initialize(name, server) ⇒ Database
constructor
Build a new LooseChange::Database instance with a database named
name
. - #uri ⇒ Object
Methods included from Helpers
default_headers, design_document_uri
Constructor Details
#initialize(name, server) ⇒ Database
Build a new LooseChange::Database instance with a database named name
. The server
is a URI string identifying the CouchDB server and port. If the database does not exist on the server, it will be created.
14 15 16 17 18 19 |
# File 'lib/loose_change/database.rb', line 14 def initialize(name, server) @name = name @server = server @uri = "/#{name.gsub('/','%2F')}" create_database_unless_exists end |
Instance Attribute Details
#name ⇒ Object (readonly)
Returns the value of attribute name.
8 9 10 |
# File 'lib/loose_change/database.rb', line 8 def name @name end |
#server ⇒ Object (readonly)
Returns the value of attribute server.
8 9 10 |
# File 'lib/loose_change/database.rb', line 8 def server @server end |
Class Method Details
.delete(name, server = "http://127.0.0.1:5984") ⇒ Object
Delete the database named name
on the server server
.
26 27 28 29 30 31 |
# File 'lib/loose_change/database.rb', line 26 def self.delete(name, server = "http://127.0.0.1:5984") begin RestClient.delete("#{ server }/#{ name }") rescue RestClient::ResourceNotFound end end |
.setup_design(database, model_name) ⇒ Object
33 34 35 36 37 38 39 40 41 |
# File 'lib/loose_change/database.rb', line 33 def self.setup_design(database, model_name) begin RestClient.get("#{ database.uri }/_design/#{ CGI.escape(model_name) }") rescue RestClient.put("#{ database.uri }/_design/#{ CGI.escape(model_name) }", { '_id' => "_design/#{ CGI.escape(model_name) }", 'language' => 'javascript'}.to_json, default_headers) end end |
Instance Method Details
#uri ⇒ Object
21 22 23 |
# File 'lib/loose_change/database.rb', line 21 def uri server.uri + @uri end |