cequel 1.0.2 → 1.0.3

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.
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)