active_column 0.0.2 → 0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/.gitignore +1 -0
- data/.yardopts +1 -0
- data/Gemfile.lock +120 -17
- data/README.md +27 -143
- data/active_column.gemspec +12 -6
- data/docs/Create.md +101 -0
- data/docs/Migrate.md +100 -0
- data/docs/Query.md +43 -0
- data/lib/active_column.rb +22 -3
- data/lib/active_column/base.rb +32 -46
- data/lib/active_column/errors.rb +6 -0
- data/lib/active_column/generators/migration_generator.rb +31 -0
- data/lib/active_column/generators/templates/migration.rb.erb +11 -0
- data/lib/active_column/key_config.rb +16 -0
- data/lib/active_column/migration.rb +269 -0
- data/lib/active_column/tasks/column_family.rb +64 -0
- data/lib/active_column/tasks/keyspace.rb +59 -0
- data/lib/active_column/tasks/ks.rb +76 -0
- data/lib/active_column/version.rb +1 -1
- data/spec/active_column/base_crud_spec.rb +1 -1
- data/spec/active_column/base_finders_spec.rb +6 -6
- data/spec/active_column/migrator_spec.rb +150 -0
- data/spec/active_column/tasks/column_family_spec.rb +34 -0
- data/spec/active_column/tasks/keyspace_spec.rb +38 -0
- data/spec/spec_helper.rb +24 -4
- data/spec/support/aggregating_tweet.rb +3 -1
- data/spec/support/migrate/migrator_spec/1_migration1.rb +11 -0
- data/spec/support/migrate/migrator_spec/2_migration2.rb +11 -0
- data/spec/support/migrate/migrator_spec/3_migration3.rb +11 -0
- data/spec/support/migrate/migrator_spec/4_migration4.rb +11 -0
- data/spec/support/tweet.rb +4 -2
- data/spec/support/tweet_dm.rb +6 -4
- metadata +103 -11
data/spec/spec_helper.rb
CHANGED
@@ -1,13 +1,33 @@
|
|
1
|
-
require 'cassandra'
|
2
1
|
require 'active_column'
|
2
|
+
require 'rails'
|
3
|
+
require 'rspec-rails'
|
4
|
+
require 'rspec/rails/adapters'
|
5
|
+
require 'wrong/adapters/rspec'
|
6
|
+
|
7
|
+
Wrong.config.alias_assert :expect
|
3
8
|
|
4
9
|
Dir[ File.expand_path("../support/**/*.rb", __FILE__) ].each {|f| require f}
|
5
10
|
|
6
11
|
$cassandra = ActiveColumn.connection = Cassandra.new('active_column', '127.0.0.1:9160')
|
7
|
-
|
12
|
+
|
13
|
+
ks_tasks = ActiveColumn::Tasks::Keyspace.new
|
14
|
+
unless ks_tasks.exists?('active_column')
|
15
|
+
ks_tasks.create('active_column')
|
16
|
+
|
17
|
+
cf_tasks = ActiveColumn::Tasks::ColumnFamily.new
|
18
|
+
[:tweets, :tweet_dms].each do |cf|
|
19
|
+
cf_tasks.create(cf, :keyspace => 'active_column')
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
ks_tasks.set 'active_column'
|
24
|
+
ks_tasks.clear
|
8
25
|
|
9
26
|
RSpec.configure do |config|
|
10
27
|
|
28
|
+
config.before do
|
29
|
+
end
|
30
|
+
|
11
31
|
end
|
12
32
|
|
13
33
|
class Counter
|
@@ -28,7 +48,7 @@ class Counter
|
|
28
48
|
|
29
49
|
def get_counts
|
30
50
|
@keys.each_with_object( {} ) do |key, counts|
|
31
|
-
counts[key] = $cassandra.
|
51
|
+
counts[key] = $cassandra.get(@cf, key).length
|
32
52
|
end
|
33
53
|
end
|
34
|
-
end
|
54
|
+
end
|
data/spec/support/tweet.rb
CHANGED
data/spec/support/tweet_dm.rb
CHANGED
@@ -1,15 +1,17 @@
|
|
1
|
-
class TweetDM
|
1
|
+
class TweetDM
|
2
|
+
include ActiveColumn
|
2
3
|
|
3
|
-
column_family :tweet_dms
|
4
4
|
key :user_id, :values => :user_keys
|
5
5
|
key :recipient_id, :values => :recipient_keys
|
6
6
|
|
7
|
+
attr_accessor :user_id, :recipient_ids, :message
|
8
|
+
|
7
9
|
def user_keys
|
8
|
-
[
|
10
|
+
[ user_id, 'all' ]
|
9
11
|
end
|
10
12
|
|
11
13
|
def recipient_keys
|
12
|
-
|
14
|
+
recipient_ids + ['all']
|
13
15
|
end
|
14
16
|
|
15
17
|
end
|
metadata
CHANGED
@@ -4,9 +4,8 @@ version: !ruby/object:Gem::Version
|
|
4
4
|
prerelease: false
|
5
5
|
segments:
|
6
6
|
- 0
|
7
|
-
-
|
8
|
-
|
9
|
-
version: 0.0.2
|
7
|
+
- 1
|
8
|
+
version: "0.1"
|
10
9
|
platform: ruby
|
11
10
|
authors:
|
12
11
|
- Michael Wynholds
|
@@ -14,11 +13,11 @@ autorequire:
|
|
14
13
|
bindir: bin
|
15
14
|
cert_chain: []
|
16
15
|
|
17
|
-
date: 2010-12-
|
16
|
+
date: 2010-12-29 00:00:00 -08:00
|
18
17
|
default_executable:
|
19
18
|
dependencies:
|
20
19
|
- !ruby/object:Gem::Dependency
|
21
|
-
name:
|
20
|
+
name: cassandra
|
22
21
|
prerelease: false
|
23
22
|
requirement: &id001 !ruby/object:Gem::Requirement
|
24
23
|
none: false
|
@@ -27,11 +26,12 @@ dependencies:
|
|
27
26
|
- !ruby/object:Gem::Version
|
28
27
|
segments:
|
29
28
|
- 0
|
30
|
-
|
29
|
+
- 9
|
30
|
+
version: "0.9"
|
31
31
|
type: :runtime
|
32
32
|
version_requirements: *id001
|
33
33
|
- !ruby/object:Gem::Dependency
|
34
|
-
name:
|
34
|
+
name: activesupport
|
35
35
|
prerelease: false
|
36
36
|
requirement: &id002 !ruby/object:Gem::Requirement
|
37
37
|
none: false
|
@@ -44,7 +44,7 @@ dependencies:
|
|
44
44
|
type: :runtime
|
45
45
|
version_requirements: *id002
|
46
46
|
- !ruby/object:Gem::Dependency
|
47
|
-
name:
|
47
|
+
name: rake
|
48
48
|
prerelease: false
|
49
49
|
requirement: &id003 !ruby/object:Gem::Requirement
|
50
50
|
none: false
|
@@ -54,9 +54,75 @@ dependencies:
|
|
54
54
|
segments:
|
55
55
|
- 0
|
56
56
|
version: "0"
|
57
|
-
type: :
|
57
|
+
type: :runtime
|
58
58
|
version_requirements: *id003
|
59
|
-
|
59
|
+
- !ruby/object:Gem::Dependency
|
60
|
+
name: rails
|
61
|
+
prerelease: false
|
62
|
+
requirement: &id004 !ruby/object:Gem::Requirement
|
63
|
+
none: false
|
64
|
+
requirements:
|
65
|
+
- - ">="
|
66
|
+
- !ruby/object:Gem::Version
|
67
|
+
segments:
|
68
|
+
- 3
|
69
|
+
- 0
|
70
|
+
version: "3.0"
|
71
|
+
type: :development
|
72
|
+
version_requirements: *id004
|
73
|
+
- !ruby/object:Gem::Dependency
|
74
|
+
name: rspec-rails
|
75
|
+
prerelease: false
|
76
|
+
requirement: &id005 !ruby/object:Gem::Requirement
|
77
|
+
none: false
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
segments:
|
82
|
+
- 0
|
83
|
+
version: "0"
|
84
|
+
type: :development
|
85
|
+
version_requirements: *id005
|
86
|
+
- !ruby/object:Gem::Dependency
|
87
|
+
name: wrong
|
88
|
+
prerelease: false
|
89
|
+
requirement: &id006 !ruby/object:Gem::Requirement
|
90
|
+
none: false
|
91
|
+
requirements:
|
92
|
+
- - ">="
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
segments:
|
95
|
+
- 0
|
96
|
+
version: "0"
|
97
|
+
type: :development
|
98
|
+
version_requirements: *id006
|
99
|
+
- !ruby/object:Gem::Dependency
|
100
|
+
name: yard
|
101
|
+
prerelease: false
|
102
|
+
requirement: &id007 !ruby/object:Gem::Requirement
|
103
|
+
none: false
|
104
|
+
requirements:
|
105
|
+
- - ">="
|
106
|
+
- !ruby/object:Gem::Version
|
107
|
+
segments:
|
108
|
+
- 0
|
109
|
+
version: "0"
|
110
|
+
type: :development
|
111
|
+
version_requirements: *id007
|
112
|
+
- !ruby/object:Gem::Dependency
|
113
|
+
name: bluecloth
|
114
|
+
prerelease: false
|
115
|
+
requirement: &id008 !ruby/object:Gem::Requirement
|
116
|
+
none: false
|
117
|
+
requirements:
|
118
|
+
- - ">="
|
119
|
+
- !ruby/object:Gem::Version
|
120
|
+
segments:
|
121
|
+
- 0
|
122
|
+
version: "0"
|
123
|
+
type: :development
|
124
|
+
version_requirements: *id008
|
125
|
+
description: Provides time line support and database migrations for Cassandra
|
60
126
|
email:
|
61
127
|
- mike@wynholds.com
|
62
128
|
executables: []
|
@@ -68,21 +134,40 @@ extra_rdoc_files: []
|
|
68
134
|
files:
|
69
135
|
- .gitignore
|
70
136
|
- .rvmrc
|
137
|
+
- .yardopts
|
71
138
|
- Gemfile
|
72
139
|
- Gemfile.lock
|
73
140
|
- README.md
|
74
141
|
- Rakefile
|
75
142
|
- active_column.gemspec
|
143
|
+
- docs/Create.md
|
144
|
+
- docs/Migrate.md
|
145
|
+
- docs/Query.md
|
76
146
|
- lib/active_column.rb
|
77
147
|
- lib/active_column/base.rb
|
78
148
|
- lib/active_column/connection.rb
|
149
|
+
- lib/active_column/errors.rb
|
150
|
+
- lib/active_column/generators/migration_generator.rb
|
151
|
+
- lib/active_column/generators/templates/migration.rb.erb
|
152
|
+
- lib/active_column/key_config.rb
|
153
|
+
- lib/active_column/migration.rb
|
154
|
+
- lib/active_column/tasks/column_family.rb
|
155
|
+
- lib/active_column/tasks/keyspace.rb
|
156
|
+
- lib/active_column/tasks/ks.rb
|
79
157
|
- lib/active_column/version.rb
|
80
158
|
- spec/active_column/base_crud_spec.rb
|
81
159
|
- spec/active_column/base_finders_spec.rb
|
160
|
+
- spec/active_column/migrator_spec.rb
|
161
|
+
- spec/active_column/tasks/column_family_spec.rb
|
162
|
+
- spec/active_column/tasks/keyspace_spec.rb
|
82
163
|
- spec/spec_helper.rb
|
83
164
|
- spec/support/aggregating_tweet.rb
|
84
165
|
- spec/support/compound_key.rb
|
85
166
|
- spec/support/config/storage-conf.xml
|
167
|
+
- spec/support/migrate/migrator_spec/1_migration1.rb
|
168
|
+
- spec/support/migrate/migrator_spec/2_migration2.rb
|
169
|
+
- spec/support/migrate/migrator_spec/3_migration3.rb
|
170
|
+
- spec/support/migrate/migrator_spec/4_migration4.rb
|
86
171
|
- spec/support/simple_key.rb
|
87
172
|
- spec/support/tweet.rb
|
88
173
|
- spec/support/tweet_dm.rb
|
@@ -117,14 +202,21 @@ rubyforge_project: active_column
|
|
117
202
|
rubygems_version: 1.3.7
|
118
203
|
signing_key:
|
119
204
|
specification_version: 3
|
120
|
-
summary: Provides time line support for Cassandra
|
205
|
+
summary: Provides time line support and database migrations for Cassandra
|
121
206
|
test_files:
|
122
207
|
- spec/active_column/base_crud_spec.rb
|
123
208
|
- spec/active_column/base_finders_spec.rb
|
209
|
+
- spec/active_column/migrator_spec.rb
|
210
|
+
- spec/active_column/tasks/column_family_spec.rb
|
211
|
+
- spec/active_column/tasks/keyspace_spec.rb
|
124
212
|
- spec/spec_helper.rb
|
125
213
|
- spec/support/aggregating_tweet.rb
|
126
214
|
- spec/support/compound_key.rb
|
127
215
|
- spec/support/config/storage-conf.xml
|
216
|
+
- spec/support/migrate/migrator_spec/1_migration1.rb
|
217
|
+
- spec/support/migrate/migrator_spec/2_migration2.rb
|
218
|
+
- spec/support/migrate/migrator_spec/3_migration3.rb
|
219
|
+
- spec/support/migrate/migrator_spec/4_migration4.rb
|
128
220
|
- spec/support/simple_key.rb
|
129
221
|
- spec/support/tweet.rb
|
130
222
|
- spec/support/tweet_dm.rb
|