cequel 1.0.2 → 1.0.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: b8fa70fd005e6853b4352c88da285f64f877442d
4
- data.tar.gz: 619ef21e2ce06aeae7353d083e51c5b2a60f98cd
3
+ metadata.gz: ecc18113832fd82c80bfbf912be8e44c876ba03d
4
+ data.tar.gz: e160bc03502cc811f1aadaafe292fa3328276a9e
5
5
  SHA512:
6
- metadata.gz: 8992a767740b4fd03a2b6ea32d3431a7595cd43115d5173003de4608095ff5ceba7ef3db6d74ddc5294c68f8fb5052b19e9496da5f299b8d861d971d6287b856
7
- data.tar.gz: abc8506ec213817ff386646dd96a6e7fd487028e65c397a7c3b5784eb57950b7e374c59dd234d0dab02654f925371bca30ab2cdb531503a370b856aed7e3c022
6
+ metadata.gz: 3eb91fe46d8bdaf97cf090168eaecbfd9c4050f17b206997d5c755df37c3b7d672f6b4f036beddd7143b58d17ded738b658b3f42c620308a97e1d6c745d70446
7
+ data.tar.gz: d29932e8db4c7df04dec415d385e8189e1bb925f5133c0e04515ee198657665326c022a34a62fba9aead6ae1154f55a3611b3cfb0d4b7a6e91e2a287f89bfc1e
@@ -0,0 +1,12 @@
1
+ appraise "rails-4.0" do
2
+ gem "activesupport", "~> 4.0.0"
3
+ end
4
+
5
+ appraise "rails-3.2" do
6
+ gem "activesupport", "~> 3.2.0"
7
+ end
8
+
9
+ appraise "rails-3.1" do
10
+ gem "activesupport", "~> 3.1.0"
11
+ end
12
+
@@ -0,0 +1,239 @@
1
+ ## 1.0.3
2
+
3
+ * Put missing .yml template file in gem – fix `cequel:configuration` generator
4
+ * Explicitly require I18n's hash extensions – fix config loading bug in Rails 3
5
+ * Add magic encoding comments for Ruby 1.9
6
+
7
+ ## 1.0.2
8
+
9
+ * Fix for identifying varint columns when introspecting schema
10
+ * Add testing on Rubinius 2.2 and JRuby 1.7
11
+
12
+ ## 1.0.1
13
+
14
+ * Don't set the same column multiple times in an UPDATE
15
+ * Allow clustering order in record key declarations
16
+
17
+ ## 1.0.0
18
+
19
+ * Add `[]` and `[]=` method for property access
20
+ * Add Rails generator for records
21
+ * Fallback to filename when inferring model class for migrations
22
+
23
+ ## 1.0.0.rc4
24
+
25
+ * Add Cequel::Record::ClassMethods
26
+
27
+ ## 1.0.0.rc3
28
+
29
+ * Better interface for `::find`
30
+ * Better interface for `HasManyAssociation`
31
+ * Support `ActiveModel::Conversion`
32
+
33
+ ## 1.0.0.rc2
34
+
35
+ * Add RecordSet#values_at method for IN queries
36
+ * Add `:partition` option to Record::Schema#key
37
+ * Fix regression in `List#<<`
38
+ * Raise RecordNotFound if multi-record load doesn't find all records
39
+ * Compatibility with Cassandra 2.0 and recent Cassandra 1.2 patchlevels
40
+ * Fail when a schema migration would change the clustering order
41
+ * Fail fast when attempting to change a column's type in an incompatible way
42
+ * YARD documentation for all public interfaces
43
+
44
+ ## 1.0.0.rc1
45
+
46
+ * Rails integration: Add rake tasks for creating keyspace, migrations; generator
47
+ for configuration file
48
+ * Implement update_all, delete_all, destroy_all
49
+ * Option for unlogged batches
50
+
51
+ ## 1.0.0.pre.6
52
+
53
+ * Allow record sets to be scoped by multiple primary keys
54
+ * If a batch is a single statement, just send it as a statement
55
+ * Don't start a new batch if you're already in a batch
56
+ * Wrap record callbacks in logged batch
57
+ * Update `connection_pool` dependency
58
+
59
+ ## 1.0.0.pre.5
60
+
61
+ * Support time range queries over `timeuuid` columns
62
+ * Typecast arguments to scoping functions of `RecordSet`
63
+ * Typecast values in collection columns
64
+ * Use correct ordering column for deeply nested keys
65
+ * Don't allow updating keys on persisted models
66
+ * Fail fast attempting to save a model that doesn't have all keys defined
67
+ * Fixes for legacy schema support
68
+
69
+ ## 1.0.0.pre.4
70
+
71
+ * Full support for legacy CQL2 tables
72
+ * `dependent` option for `has_many` associations
73
+
74
+ ## 1.0.0.pre.3
75
+
76
+ * **BIG BREAKING CHANGE:** Instead of inheriting from `Cequel::Model::Base`,
77
+ include `Cequel::Record`.
78
+ * RecordSet can chain class methods defined in the model class
79
+ * New records are initialized using the key attributes from the current scope
80
+ * Auto-generated UUIDs
81
+ * Implement RecordSet#== and #inspect
82
+ * RecordSet#last takes optional count argument
83
+ * Dynamic column defaults
84
+ * Fix insertion of default values in new records
85
+
86
+ ## 1.0.0.pre.2
87
+
88
+ * Secondary index support
89
+ * Dirty attribute tracking
90
+ * == implementation for model
91
+ * Add missing attributes argument to #create!
92
+ * Load cequel/model by default
93
+
94
+ ## 1.0.0.pre.1
95
+
96
+ * Essentially a ground-up rewrite to support CQL3
97
+
98
+ ## 0.5.6
99
+
100
+ * Ability to change default consistency within a block
101
+
102
+ ## 0.5.5
103
+
104
+ * Calling ::load on a loaded Dictionary is a no-op
105
+
106
+ ## 0.5.4
107
+
108
+ * Clear out Dictionary @row on save unless loaded
109
+ * Add homepage link so rubygems users can easily get to github
110
+ * Add link to cequel-migrations-rails to README
111
+ * Use parameters for pooling
112
+
113
+ ## 0.5.3
114
+
115
+ * Persist Dictionary changes in batches
116
+
117
+ ## 0.5.2
118
+
119
+ * Allow overriding of default column family name for model
120
+
121
+ ## 0.5.1
122
+
123
+ * Implement `Dictionary#first` and `Dictionary#last`
124
+ * Use default column limit when loading multiple wide rows
125
+
126
+ ## 0.5.0
127
+
128
+ * Cequel::Model::Counter model class
129
+ * Counter column support for data sets
130
+ * Connection pool
131
+ * Load multiple dictionary rows in one query
132
+ * Allow erb yml files
133
+
134
+ ## 0.4.2
135
+
136
+ * Default thrift options to empty hash if not provided
137
+ * Implement Dictionary#key?
138
+
139
+ ## 0.4.1
140
+
141
+ * `Dictionary#each_slice`
142
+ * Release to Rubygems.org
143
+
144
+ ## 0.4.0
145
+
146
+ * Inspect UUIDs nicer
147
+ * Allow `Cequel::Model` classes to implement `#generate_key`
148
+ * Implement `Cequel::Model::Dictionary`
149
+
150
+ ## 0.3.3
151
+
152
+ * Fix Enumerator for `#find_each_row`
153
+
154
+ ## 0.3.2
155
+
156
+ * `#find_in_batches` accounts for duplicate last row/first row
157
+
158
+ ## 0.3.1
159
+
160
+ * Sanitize column names
161
+
162
+ ## 0.3.0
163
+
164
+ * Chain select options
165
+ * Support for column ranges and column limits
166
+ * Implement `#find_in_batches`, `#find_each`
167
+
168
+ ## 0.2.9
169
+
170
+ * Don't pre-sanitize CQL statements before sending to cassandra-cql
171
+
172
+ ## 0.2.8
173
+
174
+ * Don't set `updated_at` if no dirty attributes
175
+
176
+ ## 0.2.7
177
+
178
+ * Add NewRelic instrumentation
179
+
180
+ ## 0.2.6
181
+
182
+ * Lazily create CassandraCql connection
183
+
184
+ ## 0.2.5
185
+
186
+ * Include limit in `COUNT` query if specified
187
+ * Default scope
188
+
189
+ ## 0.2.4
190
+
191
+ * Memoize column family name
192
+
193
+ ## 0.2.3
194
+
195
+ * Fix subclass `#reflect_on_associations`
196
+
197
+ ## 0.2.2
198
+
199
+ * Add `index_preference` for query plan hinting
200
+
201
+ ## 0.2.1
202
+
203
+ * Don't call constructor when hydrating models
204
+
205
+ ## 0.2.0
206
+
207
+ * Add support for dynamic attributes
208
+
209
+ ## 0.1.9
210
+
211
+ * Tweaks to logging
212
+
213
+ ## 0.1.8
214
+
215
+ * Add a slowlog
216
+
217
+ ## 0.1.7
218
+
219
+ * Update based on attributes, not value of getters
220
+
221
+ ## 0.1.6
222
+
223
+ * Strip nil values out of rows in Cequel::Model
224
+
225
+ ## 0.1.5
226
+
227
+ * Add thrift client options when setting up connection
228
+
229
+ ## 0.1.4
230
+
231
+ * Defer setting logger on keyspace until keyspace needs to be loaded
232
+
233
+ ## 0.1.3
234
+
235
+ * Set logger correctly in railtie
236
+
237
+ ## 0.1.2
238
+
239
+ * Initial library release
@@ -0,0 +1,65 @@
1
+ # How to contribute #
2
+
3
+ Contributions to Cequel are highly welcome! Here's a quick guide.
4
+
5
+ ## Submitting a change ##
6
+
7
+ 1. Fork the repo and create a topic branch
8
+ 2. Set up your environment and run the tests. The easiest way to do this is to
9
+ use Vagrant; see below. For those who already have a suitable Cassandra
10
+ instance running locally: `rake test`
11
+ 3. Add tests for your change.
12
+ 4. Make the tests pass.
13
+ 5. Push to your topic branch and submit a pull request.
14
+
15
+ ### Do's and don'ts ###
16
+
17
+ * **Do** write tests. If you don't test your patch, I'll have to write tests
18
+ for it, which is likely to delay the pull request getting accepted.
19
+ * **Do** write documentation for new functionality and update documentation for
20
+ changed functionality. Cequel uses
21
+ [YARD](http://rubydoc.info/gems/yard/file/docs/GettingStarted.md) for
22
+ documentation. If you're adding a significant new feature, update the
23
+ `README` too.
24
+ * **Do** use code style consistent with the project. Cequel by and large
25
+ follows the [Ruby Style Guide](https://github.com/bbatsov/ruby-style-guide).
26
+ * **Don't** make changes to the `cequel.gemspec` or `version.rb` files, except
27
+ to add new dependencies in the former.
28
+
29
+ ## Running the tests ##
30
+
31
+ ### For the impatient ###
32
+
33
+ ```bash
34
+ $ git clone git@github.com:yourname/cequel.git
35
+ $ cd cequel
36
+ $ git remote add upstream git@github.com:cequel/cequel.git
37
+ $ brew tap phinze/cask
38
+ $ brew install brew-cask
39
+ $ brew cask install virtualbox vagrant
40
+ $ vagrant up 2.0.4
41
+ $ rake test
42
+ ```
43
+
44
+ ### Using Vagrant
45
+
46
+ Cequel's test suite runs against a live Cassandra instance. The easiest way to
47
+ get one is to use the `Vagrantfile` included in the repo. You'll need to
48
+ install [VirtualBox](https://www.virtualbox.org/) and
49
+ [Vagrant](http://www.vagrantup.com/); both are available via
50
+ [Homebrew-cask](https://github.com/phinze/homebrew-cask) if you're on OS X.
51
+
52
+ Cequel's Vagrantfile can generate a virtual machine for any Cassandra version
53
+ that Cequel supports (i.e., 1.2.x and 2.0.x). You can run multiple VMs at the
54
+ same time; the first machine you boot will expose its Cassandra instance on
55
+ port `9160`, which is the default port that Cequel will look for.
56
+
57
+ Cequel is tested against a large range of Ruby, Rails, and Cassandra versions;
58
+ for most patches, you can just run the tests using the latest version of all of
59
+ them. If you're messing with the `Cequel::Schema` or `Cequel::Type` modules,
60
+ you'll want to test at least against an early 1.2 release (1.2.4 is good), a
61
+ later 1.2 release (1.2.13), and the latest 2.0 release.
62
+
63
+ ## And finally
64
+
65
+ **THANK YOU!**
data/Gemfile ADDED
@@ -0,0 +1,12 @@
1
+ source 'https://rubygems.org'
2
+
3
+ gemspec
4
+ gem 'rocco', :platforms => :ruby
5
+ gem 'redcarpet', '< 2.0', :platforms => :ruby
6
+ gem 'travis'
7
+ gem 'travis-lint'
8
+
9
+ group :debug do
10
+ gem 'debugger', :platforms => :mri_19
11
+ gem 'byebug', :platforms => :mri_20
12
+ end
@@ -0,0 +1,162 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ cequel (1.0.3)
5
+ activemodel
6
+ activesupport (>= 3.1)
7
+ cassandra-cql (~> 1.2)
8
+ connection_pool (~> 1.1)
9
+ i18n
10
+
11
+ GEM
12
+ remote: https://rubygems.org/
13
+ specs:
14
+ activemodel (4.0.3)
15
+ activesupport (= 4.0.3)
16
+ builder (~> 3.1.0)
17
+ activesupport (4.0.3)
18
+ i18n (~> 0.6, >= 0.6.4)
19
+ minitest (~> 4.2)
20
+ multi_json (~> 1.3)
21
+ thread_safe (~> 0.1)
22
+ tzinfo (~> 0.3.37)
23
+ addressable (2.3.5)
24
+ appraisal (0.5.2)
25
+ bundler
26
+ rake
27
+ ast (1.1.0)
28
+ atomic (1.1.15)
29
+ atomic (1.1.15-java)
30
+ backports (3.6.0)
31
+ builder (3.1.4)
32
+ byebug (2.7.0)
33
+ columnize (~> 0.3)
34
+ debugger-linecache (~> 1.2)
35
+ cassandra-cql (1.2.2)
36
+ simple_uuid (>= 0.2.0)
37
+ thrift_client (>= 0.7.1, < 0.9)
38
+ coderay (1.1.0)
39
+ columnize (0.3.6)
40
+ connection_pool (1.2.0)
41
+ debugger (1.6.6)
42
+ columnize (>= 0.3.1)
43
+ debugger-linecache (~> 1.2.0)
44
+ debugger-ruby_core_source (~> 1.3.2)
45
+ debugger-linecache (1.2.0)
46
+ debugger-ruby_core_source (1.3.2)
47
+ diff-lcs (1.2.5)
48
+ ethon (0.6.3)
49
+ ffi (>= 1.3.0)
50
+ mime-types (~> 1.18)
51
+ faraday (0.8.9)
52
+ multipart-post (~> 1.2.0)
53
+ faraday_middleware (0.9.0)
54
+ faraday (>= 0.7.4, < 0.9)
55
+ ffi (1.9.3)
56
+ ffi (1.9.3-java)
57
+ gh (0.13.2)
58
+ addressable
59
+ backports
60
+ faraday (~> 0.8)
61
+ multi_json (~> 1.0)
62
+ net-http-persistent (>= 2.7)
63
+ net-http-pipeline
64
+ hashr (0.0.22)
65
+ highline (1.6.21)
66
+ i18n (0.6.9)
67
+ json (1.8.1)
68
+ json (1.8.1-java)
69
+ launchy (2.4.2)
70
+ addressable (~> 2.3)
71
+ launchy (2.4.2-java)
72
+ addressable (~> 2.3)
73
+ spoon (~> 0.0.1)
74
+ method_source (0.8.2)
75
+ mime-types (1.25.1)
76
+ minitest (4.7.5)
77
+ multi_json (1.8.4)
78
+ multipart-post (1.2.0)
79
+ mustache (0.99.5)
80
+ net-http-persistent (2.9.4)
81
+ net-http-pipeline (1.0.1)
82
+ parser (2.1.5)
83
+ ast (~> 1.1)
84
+ slop (~> 3.4, >= 3.4.5)
85
+ powerpack (0.0.9)
86
+ pry (0.9.12.6)
87
+ coderay (~> 1.0)
88
+ method_source (~> 0.8)
89
+ slop (~> 3.4)
90
+ pry (0.9.12.6-java)
91
+ coderay (~> 1.0)
92
+ method_source (~> 0.8)
93
+ slop (~> 3.4)
94
+ spoon (~> 0.0)
95
+ pusher-client (0.4.0)
96
+ websocket (~> 1.0.0)
97
+ rainbow (2.0.0)
98
+ rake (10.1.1)
99
+ redcarpet (1.17.2)
100
+ rocco (0.8.2)
101
+ mustache
102
+ redcarpet
103
+ rspec (2.14.1)
104
+ rspec-core (~> 2.14.0)
105
+ rspec-expectations (~> 2.14.0)
106
+ rspec-mocks (~> 2.14.0)
107
+ rspec-core (2.14.8)
108
+ rspec-expectations (2.14.5)
109
+ diff-lcs (>= 1.1.3, < 2.0)
110
+ rspec-mocks (2.14.6)
111
+ rubocop (0.18.1)
112
+ json (>= 1.7.7, < 2)
113
+ parser (~> 2.1.3)
114
+ powerpack (~> 0.0.6)
115
+ rainbow (>= 1.99.1, < 3.0)
116
+ simple_uuid (0.4.0)
117
+ slop (3.4.7)
118
+ spoon (0.0.4)
119
+ ffi
120
+ thread_safe (0.2.0)
121
+ atomic (>= 1.1.7, < 2)
122
+ thread_safe (0.2.0-java)
123
+ atomic (>= 1.1.7, < 2)
124
+ thrift (0.8.0)
125
+ thrift_client (0.8.4)
126
+ thrift (~> 0.8.0)
127
+ travis (1.6.7)
128
+ addressable (~> 2.3)
129
+ backports
130
+ faraday (~> 0.8.7)
131
+ faraday_middleware (~> 0.9)
132
+ gh (~> 0.13)
133
+ highline (~> 1.6)
134
+ launchy (~> 2.1)
135
+ pry (~> 0.9)
136
+ pusher-client (~> 0.4)
137
+ typhoeus (~> 0.6)
138
+ travis-lint (1.7.0)
139
+ hashr (~> 0.0.22)
140
+ typhoeus (0.6.7)
141
+ ethon (~> 0.6.2)
142
+ tzinfo (0.3.38)
143
+ websocket (1.0.7)
144
+ yard (0.8.7.3)
145
+
146
+ PLATFORMS
147
+ java
148
+ ruby
149
+
150
+ DEPENDENCIES
151
+ appraisal
152
+ byebug
153
+ cequel!
154
+ debugger
155
+ rake
156
+ redcarpet (< 2.0)
157
+ rocco
158
+ rspec (~> 2.0)
159
+ rubocop
160
+ travis
161
+ travis-lint
162
+ yard (~> 0.6)