active_column 0.1.1 → 0.2
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.
- data/.gitignore +1 -0
- data/.rvmrc +1 -7
- data/Gemfile.lock +60 -61
- data/README.md +7 -3
- data/active_column.gemspec +2 -3
- data/docs/Migrate.md +30 -7
- data/generators/ks_migration/USAGE +6 -0
- data/generators/ks_migration/ks_migration_generator.rb +17 -0
- data/generators/ks_migration/templates/migration.rb.erb +11 -0
- data/lib/active_column.rb +16 -9
- data/lib/active_column/configuration.rb +36 -0
- data/lib/active_column/helpers.rb +36 -0
- data/lib/active_column/migration.rb +76 -214
- data/lib/active_column/migrator.rb +231 -0
- data/lib/active_column/tasks/column_family.rb +28 -17
- data/lib/active_column/tasks/keyspace.rb +38 -3
- data/lib/active_column/tasks/ks.rake +142 -0
- data/lib/active_column/version.rb +1 -1
- data/spec/active_column/migration_spec.rb +58 -0
- data/spec/active_column/tasks/column_family_spec.rb +4 -2
- data/spec/active_column/tasks/keyspace_spec.rb +104 -4
- data/spec/spec_helper.rb +36 -11
- metadata +24 -44
- data/lib/active_column/connection.rb +0 -15
- data/lib/active_column/tasks/ks.rb +0 -76
data/spec/spec_helper.rb
CHANGED
@@ -4,30 +4,31 @@ require 'rspec-rails'
|
|
4
4
|
require 'rspec/rails/adapters'
|
5
5
|
require 'wrong/adapters/rspec'
|
6
6
|
|
7
|
+
ENV['RACK_ENV'] = ENV['RAILS_ENV'] = 'test'
|
7
8
|
Wrong.config.alias_assert :expect
|
9
|
+
ActiveColumn::Migration.verbose = false
|
8
10
|
|
9
11
|
Dir[ File.expand_path("../support/**/*.rb", __FILE__) ].each {|f| require f}
|
10
12
|
|
11
|
-
|
13
|
+
thrift = { :retries => 3, :timeout => 2, :server_retry_period => nil }
|
14
|
+
$cassandra = ActiveColumn.connection = Cassandra.new('active_column', '127.0.0.1:9160', thrift)
|
12
15
|
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
+
keyspace = 'active_column'
|
17
|
+
ks_tasks = ActiveColumn.keyspace_tasks
|
18
|
+
unless ks_tasks.exists?(keyspace)
|
19
|
+
ks_tasks.create keyspace
|
16
20
|
|
17
|
-
cf_tasks = ActiveColumn
|
21
|
+
cf_tasks = ActiveColumn.column_family_tasks
|
18
22
|
[:tweets, :tweet_dms].each do |cf|
|
19
|
-
cf_tasks.create
|
23
|
+
cf_tasks.create cf
|
20
24
|
end
|
21
25
|
end
|
22
26
|
|
23
|
-
ks_tasks.set
|
27
|
+
ks_tasks.set keyspace
|
24
28
|
ks_tasks.clear
|
25
29
|
|
26
30
|
RSpec.configure do |config|
|
27
|
-
|
28
|
-
config.before do
|
29
|
-
end
|
30
|
-
|
31
|
+
config.mock_with :mocha
|
31
32
|
end
|
32
33
|
|
33
34
|
class Counter
|
@@ -52,3 +53,27 @@ class Counter
|
|
52
53
|
end
|
53
54
|
end
|
54
55
|
end
|
56
|
+
|
57
|
+
require 'rspec/core/formatters/base_formatter'
|
58
|
+
module RSpec
|
59
|
+
module Core
|
60
|
+
module Formatters
|
61
|
+
class BaseTextFormatter < BaseFormatter
|
62
|
+
def dump_failure(example, index)
|
63
|
+
exception = example.execution_result[:exception]
|
64
|
+
output.puts "#{short_padding}#{index.next}) #{example.full_description}"
|
65
|
+
output.puts "#{long_padding}#{red("Failure/Error:")} #{red(read_failed_line(exception, example).strip)}"
|
66
|
+
exception.message.split("\n").each { |line| output.puts "#{long_padding}#{red(line)}" } if exception.message
|
67
|
+
|
68
|
+
example.example_group.ancestors.push(example.example_group).each do |group|
|
69
|
+
if group.metadata[:shared_group_name]
|
70
|
+
output.puts "#{long_padding}Shared Example Group: \"#{group.metadata[:shared_group_name]}\" called from " +
|
71
|
+
"#{backtrace_line(group.metadata[:example_group][:location])}"
|
72
|
+
break
|
73
|
+
end
|
74
|
+
end
|
75
|
+
end
|
76
|
+
end
|
77
|
+
end
|
78
|
+
end
|
79
|
+
end
|
metadata
CHANGED
@@ -1,12 +1,8 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: active_column
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
prerelease:
|
5
|
-
|
6
|
-
- 0
|
7
|
-
- 1
|
8
|
-
- 1
|
9
|
-
version: 0.1.1
|
4
|
+
prerelease:
|
5
|
+
version: "0.2"
|
10
6
|
platform: ruby
|
11
7
|
authors:
|
12
8
|
- Michael Wynholds
|
@@ -14,8 +10,7 @@ autorequire:
|
|
14
10
|
bindir: bin
|
15
11
|
cert_chain: []
|
16
12
|
|
17
|
-
date: 2011-
|
18
|
-
default_executable:
|
13
|
+
date: 2011-06-17 00:00:00 Z
|
19
14
|
dependencies:
|
20
15
|
- !ruby/object:Gem::Dependency
|
21
16
|
name: cassandra
|
@@ -25,101 +20,83 @@ dependencies:
|
|
25
20
|
requirements:
|
26
21
|
- - ">="
|
27
22
|
- !ruby/object:Gem::Version
|
28
|
-
segments:
|
29
|
-
- 0
|
30
|
-
- 9
|
31
23
|
version: "0.9"
|
32
24
|
type: :runtime
|
33
25
|
version_requirements: *id001
|
34
26
|
- !ruby/object:Gem::Dependency
|
35
|
-
name:
|
27
|
+
name: rake
|
36
28
|
prerelease: false
|
37
29
|
requirement: &id002 !ruby/object:Gem::Requirement
|
38
30
|
none: false
|
39
31
|
requirements:
|
40
32
|
- - ">="
|
41
33
|
- !ruby/object:Gem::Version
|
42
|
-
segments:
|
43
|
-
- 0
|
44
34
|
version: "0"
|
45
35
|
type: :runtime
|
46
36
|
version_requirements: *id002
|
47
37
|
- !ruby/object:Gem::Dependency
|
48
|
-
name:
|
38
|
+
name: rails
|
49
39
|
prerelease: false
|
50
40
|
requirement: &id003 !ruby/object:Gem::Requirement
|
51
41
|
none: false
|
52
42
|
requirements:
|
53
43
|
- - ">="
|
54
44
|
- !ruby/object:Gem::Version
|
55
|
-
|
56
|
-
|
57
|
-
version: "0"
|
58
|
-
type: :runtime
|
45
|
+
version: "3.0"
|
46
|
+
type: :development
|
59
47
|
version_requirements: *id003
|
60
48
|
- !ruby/object:Gem::Dependency
|
61
|
-
name: rails
|
49
|
+
name: rspec-rails
|
62
50
|
prerelease: false
|
63
51
|
requirement: &id004 !ruby/object:Gem::Requirement
|
64
52
|
none: false
|
65
53
|
requirements:
|
66
54
|
- - ">="
|
67
55
|
- !ruby/object:Gem::Version
|
68
|
-
|
69
|
-
- 3
|
70
|
-
- 0
|
71
|
-
version: "3.0"
|
56
|
+
version: 2.5.0
|
72
57
|
type: :development
|
73
58
|
version_requirements: *id004
|
74
59
|
- !ruby/object:Gem::Dependency
|
75
|
-
name:
|
60
|
+
name: wrong
|
76
61
|
prerelease: false
|
77
62
|
requirement: &id005 !ruby/object:Gem::Requirement
|
78
63
|
none: false
|
79
64
|
requirements:
|
80
65
|
- - ">="
|
81
66
|
- !ruby/object:Gem::Version
|
82
|
-
segments:
|
83
|
-
- 0
|
84
67
|
version: "0"
|
85
68
|
type: :development
|
86
69
|
version_requirements: *id005
|
87
70
|
- !ruby/object:Gem::Dependency
|
88
|
-
name:
|
71
|
+
name: yard
|
89
72
|
prerelease: false
|
90
73
|
requirement: &id006 !ruby/object:Gem::Requirement
|
91
74
|
none: false
|
92
75
|
requirements:
|
93
76
|
- - ">="
|
94
77
|
- !ruby/object:Gem::Version
|
95
|
-
segments:
|
96
|
-
- 0
|
97
78
|
version: "0"
|
98
79
|
type: :development
|
99
80
|
version_requirements: *id006
|
100
81
|
- !ruby/object:Gem::Dependency
|
101
|
-
name:
|
82
|
+
name: bluecloth
|
102
83
|
prerelease: false
|
103
84
|
requirement: &id007 !ruby/object:Gem::Requirement
|
104
85
|
none: false
|
105
86
|
requirements:
|
106
87
|
- - ">="
|
107
88
|
- !ruby/object:Gem::Version
|
108
|
-
segments:
|
109
|
-
- 0
|
110
89
|
version: "0"
|
111
90
|
type: :development
|
112
91
|
version_requirements: *id007
|
113
92
|
- !ruby/object:Gem::Dependency
|
114
|
-
name:
|
93
|
+
name: mocha
|
115
94
|
prerelease: false
|
116
95
|
requirement: &id008 !ruby/object:Gem::Requirement
|
117
96
|
none: false
|
118
97
|
requirements:
|
119
98
|
- - ">="
|
120
99
|
- !ruby/object:Gem::Version
|
121
|
-
segments:
|
122
|
-
- 0
|
123
100
|
version: "0"
|
124
101
|
type: :development
|
125
102
|
version_requirements: *id008
|
@@ -144,20 +121,26 @@ files:
|
|
144
121
|
- docs/Create.md
|
145
122
|
- docs/Migrate.md
|
146
123
|
- docs/Query.md
|
124
|
+
- generators/ks_migration/USAGE
|
125
|
+
- generators/ks_migration/ks_migration_generator.rb
|
126
|
+
- generators/ks_migration/templates/migration.rb.erb
|
147
127
|
- lib/active_column.rb
|
148
128
|
- lib/active_column/base.rb
|
149
|
-
- lib/active_column/
|
129
|
+
- lib/active_column/configuration.rb
|
150
130
|
- lib/active_column/errors.rb
|
151
131
|
- lib/active_column/generators/migration_generator.rb
|
152
132
|
- lib/active_column/generators/templates/migration.rb.erb
|
133
|
+
- lib/active_column/helpers.rb
|
153
134
|
- lib/active_column/key_config.rb
|
154
135
|
- lib/active_column/migration.rb
|
136
|
+
- lib/active_column/migrator.rb
|
155
137
|
- lib/active_column/tasks/column_family.rb
|
156
138
|
- lib/active_column/tasks/keyspace.rb
|
157
|
-
- lib/active_column/tasks/ks.
|
139
|
+
- lib/active_column/tasks/ks.rake
|
158
140
|
- lib/active_column/version.rb
|
159
141
|
- spec/active_column/base_crud_spec.rb
|
160
142
|
- spec/active_column/base_finders_spec.rb
|
143
|
+
- spec/active_column/migration_spec.rb
|
161
144
|
- spec/active_column/migrator_spec.rb
|
162
145
|
- spec/active_column/tasks/column_family_spec.rb
|
163
146
|
- spec/active_column/tasks/keyspace_spec.rb
|
@@ -172,7 +155,6 @@ files:
|
|
172
155
|
- spec/support/simple_key.rb
|
173
156
|
- spec/support/tweet.rb
|
174
157
|
- spec/support/tweet_dm.rb
|
175
|
-
has_rdoc: true
|
176
158
|
homepage: https://github.com/carbonfive/active_column
|
177
159
|
licenses: []
|
178
160
|
|
@@ -186,27 +168,24 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
186
168
|
requirements:
|
187
169
|
- - ">="
|
188
170
|
- !ruby/object:Gem::Version
|
189
|
-
segments:
|
190
|
-
- 0
|
191
171
|
version: "0"
|
192
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
193
173
|
none: false
|
194
174
|
requirements:
|
195
175
|
- - ">="
|
196
176
|
- !ruby/object:Gem::Version
|
197
|
-
segments:
|
198
|
-
- 0
|
199
177
|
version: "0"
|
200
178
|
requirements: []
|
201
179
|
|
202
180
|
rubyforge_project: active_column
|
203
|
-
rubygems_version: 1.
|
181
|
+
rubygems_version: 1.7.2
|
204
182
|
signing_key:
|
205
183
|
specification_version: 3
|
206
184
|
summary: Provides time line support and database migrations for Cassandra
|
207
185
|
test_files:
|
208
186
|
- spec/active_column/base_crud_spec.rb
|
209
187
|
- spec/active_column/base_finders_spec.rb
|
188
|
+
- spec/active_column/migration_spec.rb
|
210
189
|
- spec/active_column/migrator_spec.rb
|
211
190
|
- spec/active_column/tasks/column_family_spec.rb
|
212
191
|
- spec/active_column/tasks/keyspace_spec.rb
|
@@ -221,3 +200,4 @@ test_files:
|
|
221
200
|
- spec/support/simple_key.rb
|
222
201
|
- spec/support/tweet.rb
|
223
202
|
- spec/support/tweet_dm.rb
|
203
|
+
has_rdoc:
|
@@ -1,76 +0,0 @@
|
|
1
|
-
require 'rake'
|
2
|
-
|
3
|
-
namespace :ks do
|
4
|
-
|
5
|
-
desc 'Create the keyspace in config/cassandra.yml for the current environment'
|
6
|
-
task :create => :environment do
|
7
|
-
config = load_config[Rails.env || 'development']
|
8
|
-
ks = config['keyspace']
|
9
|
-
ActiveColumn::Tasks::Keyspace.new.create ks, config
|
10
|
-
puts "Created keyspace: #{ks}"
|
11
|
-
end
|
12
|
-
|
13
|
-
desc 'Create keyspaces in config/cassandra.yml for all environments'
|
14
|
-
task 'create:all' => :environment do
|
15
|
-
config = load_config
|
16
|
-
kss = []
|
17
|
-
config.keys.each do |env|
|
18
|
-
kss << config[env]['keyspace']
|
19
|
-
ActiveColumn::Tasks::Keyspace.new.create kss.last, config
|
20
|
-
end
|
21
|
-
puts "Created keyspaces: #{kss.join(', ')}"
|
22
|
-
end
|
23
|
-
|
24
|
-
desc 'Drop keyspace in config/cassandra.yml for the current environment'
|
25
|
-
task :drop => :environment do
|
26
|
-
config = load_config[Rails.env || 'development']
|
27
|
-
ks = config['keyspace']
|
28
|
-
ActiveColumn::Tasks::Keyspace.new.drop ks
|
29
|
-
puts "Dropped keyspace: #{ks}"
|
30
|
-
end
|
31
|
-
|
32
|
-
desc 'Drop keyspaces in config/cassandra.yml for all environments'
|
33
|
-
task 'drop:all' => :environment do
|
34
|
-
config = load_config
|
35
|
-
kss = []
|
36
|
-
config.keys.each do |env|
|
37
|
-
kss << config[env]['keyspace']
|
38
|
-
ActiveColumn::Tasks::Keyspace.new.drop kss.last
|
39
|
-
end
|
40
|
-
puts "Dropped keyspaces: #{kss.join(', ')}"
|
41
|
-
end
|
42
|
-
|
43
|
-
desc 'Migrate the keyspace (options: VERSION=x)'
|
44
|
-
task :migrate => :environment do
|
45
|
-
set_keyspace
|
46
|
-
version = ( ENV['VERSION'] ? ENV['VERSION'].to_i : nil )
|
47
|
-
ActiveColumn::Migrator.migrate ActiveColumn::Migrator.migrations_path, version
|
48
|
-
end
|
49
|
-
|
50
|
-
desc 'Rolls the schema back to the previous version (specify steps w/ STEP=n)'
|
51
|
-
task :rollback => :environment do
|
52
|
-
set_keyspace
|
53
|
-
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
54
|
-
ActiveColumn::Migrator.rollback ActiveColumn::Migrator.migrations_path, step
|
55
|
-
end
|
56
|
-
|
57
|
-
desc 'Pushes the schema to the next version (specify steps w/ STEP=n)'
|
58
|
-
task :forward => :environment do
|
59
|
-
set_keyspace
|
60
|
-
step = ENV['STEP'] ? ENV['STEP'].to_i : 1
|
61
|
-
ActiveColumn::Migrator.forward ActiveColumn::Migrator.migrations_path, step
|
62
|
-
end
|
63
|
-
|
64
|
-
private
|
65
|
-
|
66
|
-
def load_config
|
67
|
-
YAML.load_file(Rails.root.join("config", "cassandra.yml"))
|
68
|
-
end
|
69
|
-
|
70
|
-
def set_keyspace
|
71
|
-
config = load_config[Rails.env || 'development']
|
72
|
-
ActiveColumn::Tasks::Keyspace.new.set config['keyspace']
|
73
|
-
end
|
74
|
-
|
75
|
-
end
|
76
|
-
|