cassandra_migrations 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
@@ -61,8 +61,7 @@ module CassandraMigrations
61
61
  Rails.logger.try(:info, "Connecting to Cassandra on #{Config.host}:#{Config.port}")
62
62
 
63
63
  begin
64
- self.client = Cql::Client.new(:host => Config.host, :port => Config.port)
65
- client.connect
64
+ self.client = Cql::Client.connect(:host => Config.host, :port => Config.port)
66
65
  rescue Cql::Io::ConnectionError => e
67
66
  raise Errors::ConnectionError, e.message
68
67
  end
@@ -46,7 +46,7 @@ module CassandraMigrations
46
46
  elsif @columns_name_type_hash.empty?
47
47
  raise Errors::MigrationDefinitionError('No column to add.')
48
48
  else
49
- raise Errors::MigrationDefinitionError('Only one column ca be added at once.')
49
+ raise Errors::MigrationDefinitionError('Only one column can be added at once.')
50
50
  end
51
51
 
52
52
  cql
@@ -99,6 +99,16 @@ module CassandraMigrations
99
99
  define_primary_keys(column_name) if options[:primary_key]
100
100
  end
101
101
 
102
+ def uuid(column_name, options={})
103
+ @columns_name_type_hash[column_name.to_sym] = :uuid
104
+ define_primary_keys(column_name) if options[:primary_key]
105
+ end
106
+
107
+ def timeuuid(column_name, options={})
108
+ @columns_name_type_hash[column_name.to_sym] = :timeuuid
109
+ define_primary_keys(column_name) if options[:primary_key]
110
+ end
111
+
102
112
  def define_primary_keys(*keys)
103
113
  if !@primary_keys.empty?
104
114
  raise Errors::MigrationDefinitionError('Primary key defined twice for the same table.')
@@ -6,7 +6,7 @@ Description:
6
6
  current date and time
7
7
 
8
8
  Example:
9
- rails generate migration create_tweets
9
+ rails generate cassandra_migration create_tweets
10
10
 
11
11
  This will create:
12
12
  db/cassandra_migrate/20080514090912_create_tweets.rb
@@ -9,24 +9,21 @@ describe CassandraMigrations::Cassandra do
9
9
  end
10
10
 
11
11
  after do
12
- CassandraMigrations::Cassandra.shutdown! if CassandraMigrations::Cassandra.client
12
+ CassandraMigrations::Cassandra.client = nil
13
13
  CassandraMigrations::Config.config = nil
14
14
  end
15
15
 
16
16
  describe '.execute' do
17
17
  it 'should connect to cassandra using host and port configured' do
18
- cql_client_mock = Cql::Client.new
19
- Cql::Client.should_receive(:new).with(:host => '127.0.0.1', :port => 9042).and_return(cql_client_mock)
20
- cql_client_mock.should_receive(:connect)
18
+ cql_client_mock = mock('cql_client')
19
+ Cql::Client.should_receive(:connect).with(:host => '127.0.0.1', :port => 9042).and_return(cql_client_mock)
21
20
  cql_client_mock.should_receive(:execute).with('anything').and_return(nil)
22
21
 
23
22
  CassandraMigrations::Cassandra.execute('anything').should be_nil
24
23
  end
25
24
 
26
25
  it 'raise exception if there is something wrong with the connection' do
27
- cql_client_mock = Cql::Client.new
28
- Cql::Client.should_receive(:new).and_return(cql_client_mock)
29
- cql_client_mock.should_receive(:connect).and_raise(Cql::Io::ConnectionError)
26
+ Cql::Client.should_receive(:connect).and_raise(Cql::Io::ConnectionError)
30
27
 
31
28
  expect {
32
29
  CassandraMigrations::Cassandra.execute('anything')
@@ -34,7 +31,7 @@ describe CassandraMigrations::Cassandra do
34
31
  end
35
32
 
36
33
  it 'should return a QueryResult if the query returns something' do
37
- CassandraMigrations::Cassandra.client = Cql::Client.new
34
+ CassandraMigrations::Cassandra.client = mock('cql_client')
38
35
 
39
36
  result_mock = mock('result_mock')
40
37
  CassandraMigrations::Cassandra.client.should_receive(:execute).with('anything').and_return(result_mock)
@@ -47,9 +44,8 @@ describe CassandraMigrations::Cassandra do
47
44
 
48
45
  describe '.use' do
49
46
  it 'should connect to cassandra using host and port configured' do
50
- cql_client_mock = Cql::Client.new
51
- Cql::Client.should_receive(:new).with(:host => '127.0.0.1', :port => 9042).and_return(cql_client_mock)
52
- cql_client_mock.should_receive(:connect)
47
+ cql_client_mock = mock('cql_client')
48
+ Cql::Client.should_receive(:connect).with(:host => '127.0.0.1', :port => 9042).and_return(cql_client_mock)
53
49
  cql_client_mock.should_receive(:use).with('anything').and_return(nil)
54
50
 
55
51
  CassandraMigrations::Cassandra.use('anything').should be_nil
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cassandra_migrations
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.2
4
+ version: 0.0.3
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2013-06-30 00:00:00.000000000 Z
12
+ date: 2013-07-21 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: cql-rb
@@ -18,7 +18,7 @@ dependencies:
18
18
  requirements:
19
19
  - - '='
20
20
  - !ruby/object:Gem::Version
21
- version: 1.0.0.pre7
21
+ version: 1.0.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -26,7 +26,7 @@ dependencies:
26
26
  requirements:
27
27
  - - '='
28
28
  - !ruby/object:Gem::Version
29
- version: 1.0.0.pre7
29
+ version: 1.0.1
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: rake
32
32
  requirement: !ruby/object:Gem::Requirement