faststep 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -8,11 +8,6 @@
8
8
  void faststep_collection_main() {
9
9
  rb_cFaststepCollection = rb_define_class_under(rb_mFaststep, "Collection", rb_cObject);
10
10
 
11
- rb_define_attr(rb_cFaststepCollection, "name", 1, 0);
12
- rb_define_attr(rb_cFaststepCollection, "db", 1, 0);
13
-
14
- rb_define_method(rb_cFaststepCollection, "initialize", faststep_collection_init, 2);
15
- rb_define_method(rb_cFaststepCollection, "connection", faststep_collection_connection, 0);
16
11
  rb_define_method(rb_cFaststepCollection, "ns", faststep_collection_ns, 0);
17
12
  rb_define_method(rb_cFaststepCollection, "find", faststep_collection_find, -1);
18
13
  rb_define_method(rb_cFaststepCollection, "find_one", faststep_collection_find_one, -1);
@@ -25,18 +20,6 @@ void faststep_collection_main() {
25
20
  return;
26
21
  }
27
22
 
28
- static VALUE faststep_collection_init(VALUE self, const VALUE name, const VALUE database) {
29
- rb_iv_set(self, "@name", name);
30
- rb_iv_set(self, "@db", database);
31
-
32
- return self;
33
- }
34
-
35
- static VALUE faststep_collection_connection(const VALUE self) {
36
- VALUE db = rb_iv_get(self, "@db");
37
- return rb_iv_get(db, "@connection");
38
- }
39
-
40
23
  VALUE faststep_collection_ns(const VALUE self) {
41
24
  VALUE db_name = rb_str_new2(_ivar_name(rb_iv_get(self, "@db")));
42
25
  VALUE collection_name = rb_str_new2(_ivar_name(self));
@@ -5,8 +5,6 @@
5
5
  #define COLLECTION_H
6
6
 
7
7
  void faststep_collection_main();
8
- static VALUE faststep_collection_init(VALUE, const VALUE, const VALUE);
9
- static VALUE faststep_collection_connection(const VALUE);
10
8
  static VALUE faststep_collection_find(int, VALUE*, const VALUE);
11
9
  static VALUE faststep_collection_find_one(int, VALUE*, const VALUE);
12
10
  static VALUE faststep_collection_count(int, VALUE*, VALUE);
@@ -4,10 +4,6 @@
4
4
 
5
5
  void faststep_connection_main() {
6
6
  rb_cFaststepConnection = rb_define_class_under(rb_mFaststep, "Connection", rb_cObject);
7
- rb_define_const(rb_cFaststepConnection, "DEFAULT_PORT", INT2FIX(27017));
8
-
9
- rb_define_attr(rb_cFaststepConnection, "host", 1, 0);
10
- rb_define_attr(rb_cFaststepConnection, "port", 1, 0);
11
7
 
12
8
  rb_define_singleton_method(rb_cFaststepConnection, "new", faststep_connection_new, -1);
13
9
 
@@ -16,9 +12,6 @@ void faststep_connection_main() {
16
12
  rb_define_method(rb_cFaststepConnection, "disconnect!", faststep_connection_disconnect, 0);
17
13
  rb_define_method(rb_cFaststepConnection, "connected?", faststep_connection_connected, 0);
18
14
  rb_define_method(rb_cFaststepConnection, "master?", faststep_connection_master, 0);
19
- rb_define_method(rb_cFaststepConnection, "db", faststep_connection_db, 1);
20
-
21
- rb_define_alias(rb_cFaststepConnection, "[]", "db");
22
15
 
23
16
  return;
24
17
  }
@@ -29,7 +22,7 @@ static VALUE faststep_connection_init(int argc, VALUE* argv, VALUE self) {
29
22
  rb_scan_args(argc, argv, "02", &host, &port);
30
23
 
31
24
  if(!RTEST(host)) { host = rb_str_new2("127.0.0.1"); }
32
- if(!RTEST(port)) { port = INT2NUM(27017); }
25
+ if(!RTEST(port)) { port = rb_const_get(rb_cFaststepConnection, rb_intern("DEFAULT_PORT")); }
33
26
 
34
27
  rb_iv_set(self, "@host", host);
35
28
  rb_iv_set(self, "@port", port);
@@ -74,10 +67,6 @@ static VALUE faststep_connection_master(const VALUE self) {
74
67
  return bool_to_ruby(mongo_cmd_ismaster(GetFaststepConnection(self), NULL));
75
68
  }
76
69
 
77
- static VALUE faststep_connection_db(const VALUE self, const VALUE database_name) {
78
- return rb_funcall(rb_cFaststepDb, rb_intern("new"), 2, database_name, self);
79
- }
80
-
81
70
  static void _faststep_connect_or_raise(mongo_connection* conn, mongo_connection_options* options) {
82
71
  mongo_connect(conn, options);
83
72
 
@@ -10,7 +10,6 @@ static VALUE faststep_connection_connect(VALUE);
10
10
  static VALUE faststep_connection_disconnect(const VALUE);
11
11
  static VALUE faststep_connection_connected(const VALUE);
12
12
  static VALUE faststep_connection_master(const VALUE);
13
- static VALUE faststep_connection_db(const VALUE, const VALUE);
14
13
 
15
14
  mongo_connection* GetFaststepConnection(const VALUE);
16
15
 
@@ -6,16 +6,10 @@
6
6
  void faststep_cursor_main() {
7
7
  rb_cFaststepCursor = rb_define_class_under(rb_mFaststep, "Cursor", rb_cObject);
8
8
 
9
- rb_define_attr(rb_cFaststepCursor, "collection", 1, 0);
10
- rb_include_module(rb_cFaststepCursor, rb_mEnumerable);
11
-
12
9
  rb_define_singleton_method(rb_cFaststepCursor, "new", faststep_cursor_new, -1);
13
10
 
14
11
  rb_define_method(rb_cFaststepCursor, "initialize", faststep_cursor_init, -1);
15
12
  rb_define_method(rb_cFaststepCursor, "explain", faststep_cursor_explain, 0);
16
- rb_define_method(rb_cFaststepCursor, "skip", faststep_cursor_skip, 1);
17
- rb_define_method(rb_cFaststepCursor, "limit", faststep_cursor_limit, 1);
18
- rb_define_method(rb_cFaststepCursor, "fields", faststep_cursor_fields, 1);
19
13
  rb_define_method(rb_cFaststepCursor, "order", faststep_cursor_order, 1);
20
14
  rb_define_method(rb_cFaststepCursor, "each", faststep_cursor_each, 0);
21
15
 
@@ -80,21 +74,6 @@ static VALUE faststep_cursor_explain(VALUE self) {
80
74
  return result;
81
75
  }
82
76
 
83
- static VALUE faststep_cursor_skip(VALUE self, const VALUE skip_count) {
84
- rb_iv_set(self, "@skip", skip_count);
85
- return self;
86
- }
87
-
88
- static VALUE faststep_cursor_limit(VALUE self, const VALUE limit_count) {
89
- rb_iv_set(self, "@limit", limit_count);
90
- return self;
91
- }
92
-
93
- static VALUE faststep_cursor_fields(VALUE self, const VALUE fields) {
94
- rb_iv_set(self, "@fields", fields);
95
- return self;
96
- }
97
-
98
77
  static VALUE faststep_cursor_order(VALUE self, const VALUE order) {
99
78
  rb_iv_set(self, "@order", ruby_array_to_bson_ordered_hash(order));
100
79
  return self;
@@ -13,9 +13,6 @@ static VALUE faststep_cursor_init(int, VALUE*, VALUE);
13
13
  static VALUE faststep_cursor_new(int, VALUE*, VALUE);
14
14
  static VALUE faststep_cursor_each(const VALUE);
15
15
  static VALUE faststep_cursor_explain(VALUE);
16
- static VALUE faststep_cursor_skip(VALUE, const VALUE);
17
- static VALUE faststep_cursor_limit(VALUE, const VALUE);
18
- static VALUE faststep_cursor_fields(VALUE, const VALUE);
19
16
  static VALUE faststep_cursor_order(VALUE, const VALUE);
20
17
  static mongo_cursor* _faststep_build_mongo_cursor(VALUE);
21
18
  static VALUE _faststep_build_full_query(VALUE);
data/ext/faststep/db.c CHANGED
@@ -9,24 +9,11 @@
9
9
  void faststep_db_main() {
10
10
  rb_cFaststepDb = rb_define_class_under(rb_mFaststep, "Db", rb_cObject);
11
11
 
12
- rb_define_attr(rb_cFaststepDb, "name", 1, 0);
13
- rb_define_attr(rb_cFaststepDb, "connection", 1, 0);
14
-
15
- rb_define_alias(rb_cFaststepDb, "[]", "collection");
16
-
17
- rb_define_method(rb_cFaststepDb, "initialize", faststep_db_init, 2);
18
12
  rb_define_method(rb_cFaststepDb, "drop", faststep_db_drop, 0);
19
13
  rb_define_method(rb_cFaststepDb, "command", faststep_db_command, 1);
20
14
  rb_define_method(rb_cFaststepDb, "get_last_error", faststep_db_get_last_error, 0);
21
15
  }
22
16
 
23
- static VALUE faststep_db_init(VALUE self, VALUE name, VALUE connection) {
24
- rb_iv_set(self, "@name", name);
25
- rb_iv_set(self, "@connection", connection);
26
-
27
- return self;
28
- }
29
-
30
17
  static VALUE faststep_db_drop(VALUE self) {
31
18
  mongo_connection* conn = GetFaststepConnection(rb_iv_get(self, "@connection"));
32
19
 
data/ext/faststep/db.h CHANGED
@@ -2,7 +2,6 @@
2
2
  #include <ruby.h>
3
3
  #define DB_H
4
4
  void faststep_db_main();
5
- static VALUE faststep_db_init(VALUE, VALUE, VALUE);
6
5
  static VALUE faststep_db_drop(VALUE);
7
6
  static VALUE faststep_db_command(VALUE, VALUE);
8
7
  static VALUE faststep_db_get_last_error(VALUE);
@@ -1,5 +1,16 @@
1
1
  module Faststep
2
2
  class Collection
3
+ attr_reader :name, :db
4
+
5
+ def initialize(name, db)
6
+ @name = name
7
+ @db = db
8
+ end
9
+
10
+ def connection
11
+ db.connection
12
+ end
13
+
3
14
  def index_information
4
15
  info = {}
5
16
  db["system.indexes"].find({:ns => ns}).each do |index|
@@ -9,7 +20,10 @@ module Faststep
9
20
  end
10
21
 
11
22
  def rename(new_name)
12
- connection["admin"].command(:renameCollection => ns, :to => "#{db.name}.#{new_name}")
23
+ command = BSON::OrderedHash.new
24
+ command[:renameCollection] = ns
25
+ command[:to] = "#{db.name}.#{new_name}"
26
+ connection["admin"].command(command)
13
27
  @name = new_name
14
28
  true
15
29
  end
@@ -1,5 +1,15 @@
1
1
  module Faststep
2
2
  class Connection
3
+ DEFAULT_PORT = 27017
4
+
5
+ attr_reader :host, :port
6
+
7
+ def db(database_name)
8
+ Db.new(database_name, self)
9
+ end
10
+
11
+ alias [] db
12
+
3
13
  def drop_database(database_name)
4
14
  db(database_name).drop
5
15
  end
@@ -1,5 +1,24 @@
1
1
  module Faststep
2
2
  class Cursor
3
+ include Enumerable
4
+
5
+ attr_reader :collection
6
+
7
+ def skip(count)
8
+ @skip = count
9
+ self
10
+ end
11
+
12
+ def limit(count)
13
+ @limit = count
14
+ self
15
+ end
16
+
17
+ def fields(field_array)
18
+ @fields = field_array
19
+ self
20
+ end
21
+
3
22
  def to_a
4
23
  super
5
24
  end
data/lib/faststep/db.rb CHANGED
@@ -1,9 +1,18 @@
1
1
  module Faststep
2
2
  class Db
3
+ attr_reader :name, :connection
4
+
5
+ def initialize(name, connection)
6
+ @name = name
7
+ @connection = connection
8
+ end
9
+
3
10
  def collection(collection_name)
4
11
  Collection.new(collection_name, self)
5
12
  end
6
13
 
14
+ alias [] collection
15
+
7
16
  def collection_names
8
17
  names = collections_info.map {|doc| doc["name"] }
9
18
  names.reject! {|name| name.index(@name).nil? || name.index('$') }
@@ -1,3 +1,3 @@
1
1
  module Faststep
2
- VERSION = "0.0.7"
2
+ VERSION = "0.0.8"
3
3
  end
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: faststep
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 0.0.7
5
+ version: 0.0.8
6
6
  platform: ruby
7
7
  authors:
8
8
  - Josh Clayton
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-04-28 00:00:00 Z
13
+ date: 2011-05-01 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rake-compiler