superstore 1.0.0

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.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.travis.yml +11 -0
  4. data/CHANGELOG +0 -0
  5. data/Gemfile +19 -0
  6. data/LICENSE +13 -0
  7. data/MIT-LICENSE +20 -0
  8. data/README.md +100 -0
  9. data/Rakefile +12 -0
  10. data/lib/superstore/adapters/abstract_adapter.rb +49 -0
  11. data/lib/superstore/adapters/cassandra_adapter.rb +181 -0
  12. data/lib/superstore/adapters/hstore_adapter.rb +163 -0
  13. data/lib/superstore/attribute_methods/definition.rb +22 -0
  14. data/lib/superstore/attribute_methods/dirty.rb +36 -0
  15. data/lib/superstore/attribute_methods/primary_key.rb +25 -0
  16. data/lib/superstore/attribute_methods/typecasting.rb +59 -0
  17. data/lib/superstore/attribute_methods.rb +96 -0
  18. data/lib/superstore/base.rb +33 -0
  19. data/lib/superstore/belongs_to/association.rb +48 -0
  20. data/lib/superstore/belongs_to/builder.rb +40 -0
  21. data/lib/superstore/belongs_to/reflection.rb +30 -0
  22. data/lib/superstore/belongs_to.rb +63 -0
  23. data/lib/superstore/callbacks.rb +29 -0
  24. data/lib/superstore/cassandra_schema/statements.rb +52 -0
  25. data/lib/superstore/cassandra_schema/tasks.rb +47 -0
  26. data/lib/superstore/cassandra_schema.rb +9 -0
  27. data/lib/superstore/connection.rb +39 -0
  28. data/lib/superstore/core.rb +59 -0
  29. data/lib/superstore/errors.rb +10 -0
  30. data/lib/superstore/identity.rb +26 -0
  31. data/lib/superstore/inspect.rb +25 -0
  32. data/lib/superstore/log_subscriber.rb +44 -0
  33. data/lib/superstore/model.rb +37 -0
  34. data/lib/superstore/persistence.rb +153 -0
  35. data/lib/superstore/railtie.rb +30 -0
  36. data/lib/superstore/railties/controller_runtime.rb +45 -0
  37. data/lib/superstore/schema.rb +20 -0
  38. data/lib/superstore/scope/batches.rb +32 -0
  39. data/lib/superstore/scope/finder_methods.rb +48 -0
  40. data/lib/superstore/scope/query_methods.rb +49 -0
  41. data/lib/superstore/scope.rb +49 -0
  42. data/lib/superstore/scoping.rb +27 -0
  43. data/lib/superstore/tasks/ks.rake +54 -0
  44. data/lib/superstore/timestamps.rb +19 -0
  45. data/lib/superstore/type.rb +16 -0
  46. data/lib/superstore/types/array_type.rb +20 -0
  47. data/lib/superstore/types/base_type.rb +26 -0
  48. data/lib/superstore/types/boolean_type.rb +20 -0
  49. data/lib/superstore/types/date_type.rb +22 -0
  50. data/lib/superstore/types/float_type.rb +16 -0
  51. data/lib/superstore/types/integer_type.rb +20 -0
  52. data/lib/superstore/types/json_type.rb +13 -0
  53. data/lib/superstore/types/string_type.rb +19 -0
  54. data/lib/superstore/types/time_type.rb +16 -0
  55. data/lib/superstore/types.rb +8 -0
  56. data/lib/superstore/validations.rb +44 -0
  57. data/lib/superstore.rb +69 -0
  58. data/superstore.gemspec +23 -0
  59. data/test/support/cassandra.rb +44 -0
  60. data/test/support/hstore.rb +40 -0
  61. data/test/support/issue.rb +10 -0
  62. data/test/test_helper.rb +42 -0
  63. data/test/unit/active_model_test.rb +18 -0
  64. data/test/unit/adapters/adapter_test.rb +6 -0
  65. data/test/unit/attribute_methods/definition_test.rb +13 -0
  66. data/test/unit/attribute_methods/dirty_test.rb +72 -0
  67. data/test/unit/attribute_methods/primary_key_test.rb +26 -0
  68. data/test/unit/attribute_methods/typecasting_test.rb +118 -0
  69. data/test/unit/attribute_methods_test.rb +51 -0
  70. data/test/unit/base_test.rb +20 -0
  71. data/test/unit/belongs_to/reflection_test.rb +12 -0
  72. data/test/unit/belongs_to_test.rb +62 -0
  73. data/test/unit/callbacks_test.rb +46 -0
  74. data/test/unit/cassandra_schema/statements_test.rb +47 -0
  75. data/test/unit/cassandra_schema/tasks_test.rb +31 -0
  76. data/test/unit/connection_test.rb +10 -0
  77. data/test/unit/core_test.rb +55 -0
  78. data/test/unit/identity_test.rb +26 -0
  79. data/test/unit/inspect_test.rb +26 -0
  80. data/test/unit/log_subscriber_test.rb +26 -0
  81. data/test/unit/persistence_test.rb +213 -0
  82. data/test/unit/railties/controller_runtime_test.rb +48 -0
  83. data/test/unit/schema_test.rb +27 -0
  84. data/test/unit/scope/batches_test.rb +30 -0
  85. data/test/unit/scope/finder_methods_test.rb +51 -0
  86. data/test/unit/scope/query_methods_test.rb +27 -0
  87. data/test/unit/scoping_test.rb +7 -0
  88. data/test/unit/serialization_test.rb +10 -0
  89. data/test/unit/timestamps_test.rb +27 -0
  90. data/test/unit/types/array_type_test.rb +21 -0
  91. data/test/unit/types/base_type_test.rb +19 -0
  92. data/test/unit/types/boolean_type_test.rb +24 -0
  93. data/test/unit/types/date_type_test.rb +15 -0
  94. data/test/unit/types/float_type_test.rb +17 -0
  95. data/test/unit/types/integer_type_test.rb +19 -0
  96. data/test/unit/types/json_type_test.rb +23 -0
  97. data/test/unit/types/string_type_test.rb +30 -0
  98. data/test/unit/types/time_type_test.rb +19 -0
  99. data/test/unit/validations_test.rb +27 -0
  100. metadata +170 -0
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::SchemaTest < Superstore::TestCase
4
+ # SELECT columnfamily_name FROM System.schema_columnfamilies WHERE keyspace_name='myKeyspaceName';
5
+ test "create_table" do
6
+ Superstore::Schema.create_table 'TestRecords', 'compression_parameters:sstable_compression' => 'SnappyCompressor'
7
+
8
+ begin
9
+ Superstore::Schema.create_table 'TestRecords'
10
+ assert false, 'TestRecords should already exist'
11
+ rescue Exception => e
12
+ end
13
+ end
14
+
15
+ test "drop_table" do
16
+ Superstore::Schema.create_table 'TestCFToDrop'
17
+
18
+ Superstore::Schema.drop_table 'TestCFToDrop'
19
+
20
+ begin
21
+ Superstore::Schema.drop_table 'TestCFToDrop'
22
+ assert false, 'TestCFToDrop should not exist'
23
+ rescue Exception => e
24
+ end
25
+ end
26
+
27
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::BatchesTest < Superstore::TestCase
4
+ test 'find_each' do
5
+ Issue.create
6
+ Issue.create
7
+
8
+ issues = []
9
+ Issue.find_each do |issue|
10
+ issues << issue
11
+ end
12
+
13
+ assert_equal Issue.all.to_set, issues.to_set
14
+ end
15
+
16
+ test 'find_in_batches' do
17
+ Issue.create
18
+ Issue.create
19
+ Issue.create
20
+
21
+ issue_batches = []
22
+ Issue.find_in_batches(batch_size: 2) do |issues|
23
+ issue_batches << issues
24
+ end
25
+
26
+ assert_equal 2, issue_batches.size
27
+ assert issue_batches.any? { |issues| issues.size == 2 }
28
+ assert issue_batches.any? { |issues| issues.size == 1 }
29
+ end
30
+ end
@@ -0,0 +1,51 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::FinderMethodsTest < Superstore::TestCase
4
+ test 'find' do
5
+ Issue.create.tap do |issue|
6
+ assert_equal issue, Issue.find(issue.id)
7
+ end
8
+
9
+ begin
10
+ Issue.find(nil)
11
+ assert false
12
+ rescue => e
13
+ assert_equal "Couldn't find Issue with key nil", e.message
14
+ end
15
+
16
+ assert_raise Superstore::RecordNotFound do
17
+ Issue.find('what')
18
+ end
19
+ end
20
+
21
+ test 'find with ids' do
22
+ first_issue = Issue.create
23
+ second_issue = Issue.create
24
+ third_issue = Issue.create
25
+
26
+ assert_equal [], Issue.find([])
27
+ assert_equal [first_issue, second_issue], Issue.find([first_issue.id, second_issue.id])
28
+ end
29
+
30
+ test 'find_by_id' do
31
+ Issue.create.tap do |issue|
32
+ assert_equal issue, Issue.find_by_id(issue.id)
33
+ end
34
+
35
+ assert_nil Issue.find_by_id('what')
36
+ end
37
+
38
+ test 'all' do
39
+ first_issue = Issue.create
40
+ second_issue = Issue.create
41
+
42
+ assert_equal [first_issue, second_issue].to_set, Issue.all.to_set
43
+ end
44
+
45
+ test 'first' do
46
+ first_issue = Issue.create
47
+ second_issue = Issue.create
48
+
49
+ assert [first_issue, second_issue].include?(Issue.first)
50
+ end
51
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Scope::QueryMethodsTest < Superstore::TestCase
4
+ test "select" do
5
+ original_issue = Issue.create title: 'foo', description: 'bar'
6
+
7
+ found_issue = Issue.select(:title).find(original_issue.id)
8
+
9
+ assert_equal 'foo', found_issue.title
10
+ assert_equal original_issue.id, found_issue.id
11
+ assert_nil found_issue.description
12
+ end
13
+
14
+ test "select with block" do
15
+ foo_issue = Issue.create title: 'foo'
16
+ bar_issue = Issue.create title: 'bar'
17
+
18
+ assert_equal [foo_issue], Issue.select { |issue| issue.title == 'foo' }
19
+ end
20
+
21
+ test "chaining where with scope" do
22
+ issue = Issue.create title: 'abc', description: 'def'
23
+ query = Issue.select(:title).for_key(issue.id)
24
+
25
+ assert_equal [:title], query.select_values
26
+ end
27
+ end
@@ -0,0 +1,7 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::ScopingTest < Superstore::TestCase
4
+ test "scope" do
5
+ assert_kind_of Superstore::Scope, Issue.scope
6
+ end
7
+ end
@@ -0,0 +1,10 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::SerializationTest < Superstore::TestCase
4
+ test 'as_json' do
5
+ issue = Issue.new
6
+ expected = {"id" => issue.id}
7
+
8
+ assert_equal expected, issue.as_json
9
+ end
10
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::TimestampsTest < Superstore::TestCase
4
+ test 'timestamps set on create' do
5
+ issue = Issue.create
6
+
7
+ assert_in_delta Time.now.to_i, issue.created_at.to_i, 3
8
+ assert_in_delta Time.now.to_i, issue.updated_at.to_i, 3
9
+ end
10
+
11
+ test 'updated_at set on change' do
12
+ issue = Issue.create
13
+
14
+ issue.updated_at = nil
15
+ issue.description = 'lol'
16
+ issue.save
17
+
18
+ assert_in_delta Time.now.to_i, issue.updated_at.to_i, 3
19
+ end
20
+
21
+ test 'created_at sets only if nil' do
22
+ time = 5.days.ago
23
+ issue = Issue.create created_at: time
24
+
25
+ assert_equal time, issue.created_at
26
+ end
27
+ end
@@ -0,0 +1,21 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::ArrayTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal ['1', '2'].to_json, coder.encode(['1', '2'])
6
+
7
+ assert_raise ArgumentError do
8
+ coder.encode('wtf')
9
+ end
10
+ end
11
+
12
+ test 'decode' do
13
+ assert_equal ['1', '2'], coder.decode(['1', '2'].to_json)
14
+ assert_equal nil, coder.decode(nil)
15
+ assert_equal nil, coder.decode('')
16
+ end
17
+
18
+ test 'typecast' do
19
+ assert_equal ['x', 'y'], coder.typecast(['x', 'y'].to_set)
20
+ end
21
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::BaseTypeTest < Superstore::Types::TestCase
4
+ test 'default' do
5
+ assert_equal nil, coder.default
6
+ assert_equal '5', Superstore::Types::BaseType.new(default: '5').default
7
+ assert_equal 5.object_id, Superstore::Types::BaseType.new(default: 5).default.object_id
8
+ end
9
+
10
+ test 'encode' do
11
+ assert_equal '1', coder.encode(1)
12
+ assert_equal '', coder.encode(nil)
13
+ assert_equal '1', coder.encode('1')
14
+ end
15
+
16
+ test 'decode' do
17
+ assert_equal 'abc', coder.decode('abc')
18
+ end
19
+ end
@@ -0,0 +1,24 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::BooleanTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal '1', coder.encode(true)
6
+ assert_equal '1', coder.encode('true')
7
+ assert_equal '1', coder.encode('1')
8
+
9
+ assert_equal '0', coder.encode(false)
10
+ assert_equal '0', coder.encode('false')
11
+ assert_equal '0', coder.encode('0')
12
+ assert_equal '0', coder.encode('')
13
+
14
+ assert_raise ArgumentError do
15
+ coder.encode('wtf')
16
+ end
17
+ end
18
+
19
+ test 'decode' do
20
+ assert_equal true, coder.decode('1')
21
+ assert_equal false, coder.decode('0')
22
+ # assert_nil coder.decode(nil)
23
+ end
24
+ end
@@ -0,0 +1,15 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::DateTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal '2004-04-25', coder.encode(Date.new(2004, 4, 25))
6
+ end
7
+
8
+ test 'decode' do
9
+ assert_equal Date.new(2004, 4, 25), coder.decode('2004-04-25')
10
+ end
11
+
12
+ test 'decoding a blank dates' do
13
+ assert_nil coder.decode('')
14
+ end
15
+ end
@@ -0,0 +1,17 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::FloatTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal '5.01', coder.encode(5.01)
6
+
7
+ assert_raise ArgumentError do
8
+ coder.encode('x')
9
+ end
10
+ end
11
+
12
+ test 'decode' do
13
+ assert_equal 0.0, coder.decode('xyz')
14
+ assert_equal 3.14, coder.decode('3.14')
15
+ assert_equal 5, coder.decode('5')
16
+ end
17
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::IntegerTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal '3', coder.encode(3)
6
+ assert_equal '-3', coder.encode(-3)
7
+
8
+ assert_raise ArgumentError do
9
+ coder.encode('xx')
10
+ end
11
+ end
12
+
13
+ test 'decode' do
14
+ assert_nil coder.decode('')
15
+ assert_equal 0, coder.decode('abc')
16
+ assert_equal 3, coder.decode('3')
17
+ assert_equal -3, coder.decode('-3')
18
+ end
19
+ end
@@ -0,0 +1,23 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::JsonTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal({a: 'b'}.to_json, coder.encode(a: 'b'))
6
+ assert_equal '-3', coder.encode(-3)
7
+ end
8
+
9
+ test 'decode' do
10
+ assert_equal({'a' => 'b'}, coder.decode({'a' => 'b'}.to_json))
11
+ end
12
+
13
+ test 'encode array' do
14
+ assert_equal(['a', 'b'].to_json, coder.encode(['a', 'b']))
15
+ assert_equal '-3', coder.encode(-3)
16
+ end
17
+
18
+ test 'decode array' do
19
+ assert_equal(['a', 'b'], coder.decode(['a', 'b'].to_json))
20
+ end
21
+
22
+
23
+ end
@@ -0,0 +1,30 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::StringTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal 'abc', coder.encode('abc')
6
+
7
+ assert_raise ArgumentError do
8
+ coder.encode(123)
9
+ end
10
+ end
11
+
12
+ test 'encode as utf' do
13
+ assert_equal(
14
+ '123'.force_encoding('UTF-8').encoding,
15
+ coder.encode('123'.force_encoding('ASCII-8BIT')).encoding
16
+ )
17
+ end
18
+
19
+ test 'encode frozen as utf' do
20
+ assert_equal(
21
+ '123'.force_encoding('UTF-8').encoding,
22
+ coder.encode('123'.force_encoding('ASCII-8BIT').freeze).encoding
23
+ )
24
+ end
25
+
26
+ test 'typecast' do
27
+ assert_equal '123', coder.typecast(123)
28
+ assert_equal '123', coder.typecast('123')
29
+ end
30
+ end
@@ -0,0 +1,19 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::Types::TimeTypeTest < Superstore::Types::TestCase
4
+ test 'encode' do
5
+ assert_equal '2004-12-24T01:02:03.000000Z', coder.encode(Time.utc(2004, 12, 24, 1, 2, 3))
6
+ end
7
+
8
+ test 'decode' do
9
+ assert_nil coder.decode(nil)
10
+ assert_nil coder.decode('bad format')
11
+ assert_equal Time.utc(2004, 12, 24, 1, 2, 3), coder.decode('2004-12-24T01:02:03.000000Z')
12
+
13
+ Time.use_zone 'Central Time (US & Canada)' do
14
+ with_zone = coder.decode('2013-07-18 13:12:46 -0700')
15
+ assert_equal Time.utc(2013, 07, 18, 20, 12, 46), with_zone
16
+ assert_equal 'CDT', with_zone.zone
17
+ end
18
+ end
19
+ end
@@ -0,0 +1,27 @@
1
+ require 'test_helper'
2
+
3
+ class Superstore::ValidationsTest < Superstore::TestCase
4
+ test 'create!' do
5
+ begin
6
+ Issue.validates(:description, presence: true)
7
+
8
+ Issue.create!(description: 'lol')
9
+
10
+ assert_raise(Superstore::RecordInvalid) { Issue.create!(description: '') }
11
+ ensure
12
+ Issue.reset_callbacks(:validate)
13
+ end
14
+ end
15
+
16
+ test 'save!' do
17
+ begin
18
+ Issue.validates(:description, presence: true)
19
+
20
+ Issue.new(description: 'lol').save!
21
+
22
+ assert_raise(Superstore::RecordInvalid) { Issue.new(description: '').save! }
23
+ ensure
24
+ Issue.reset_callbacks(:validate)
25
+ end
26
+ end
27
+ end
metadata ADDED
@@ -0,0 +1,170 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: superstore
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Michael Koziarski
8
+ - gotime
9
+ autorequire:
10
+ bindir: bin
11
+ cert_chain: []
12
+ date: 2014-05-02 00:00:00.000000000 Z
13
+ dependencies:
14
+ - !ruby/object:Gem::Dependency
15
+ name: activemodel
16
+ requirement: !ruby/object:Gem::Requirement
17
+ requirements:
18
+ - - ">="
19
+ - !ruby/object:Gem::Version
20
+ version: '3.0'
21
+ type: :runtime
22
+ prerelease: false
23
+ version_requirements: !ruby/object:Gem::Requirement
24
+ requirements:
25
+ - - ">="
26
+ - !ruby/object:Gem::Version
27
+ version: '3.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: bundler
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - ">="
33
+ - !ruby/object:Gem::Version
34
+ version: '0'
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - ">="
40
+ - !ruby/object:Gem::Version
41
+ version: '0'
42
+ description: ActiveModel for many attributes
43
+ email: developer@matthewhiggins.com
44
+ executables: []
45
+ extensions: []
46
+ extra_rdoc_files:
47
+ - README.md
48
+ files:
49
+ - ".gitignore"
50
+ - ".travis.yml"
51
+ - CHANGELOG
52
+ - Gemfile
53
+ - LICENSE
54
+ - MIT-LICENSE
55
+ - README.md
56
+ - Rakefile
57
+ - lib/superstore.rb
58
+ - lib/superstore/adapters/abstract_adapter.rb
59
+ - lib/superstore/adapters/cassandra_adapter.rb
60
+ - lib/superstore/adapters/hstore_adapter.rb
61
+ - lib/superstore/attribute_methods.rb
62
+ - lib/superstore/attribute_methods/definition.rb
63
+ - lib/superstore/attribute_methods/dirty.rb
64
+ - lib/superstore/attribute_methods/primary_key.rb
65
+ - lib/superstore/attribute_methods/typecasting.rb
66
+ - lib/superstore/base.rb
67
+ - lib/superstore/belongs_to.rb
68
+ - lib/superstore/belongs_to/association.rb
69
+ - lib/superstore/belongs_to/builder.rb
70
+ - lib/superstore/belongs_to/reflection.rb
71
+ - lib/superstore/callbacks.rb
72
+ - lib/superstore/cassandra_schema.rb
73
+ - lib/superstore/cassandra_schema/statements.rb
74
+ - lib/superstore/cassandra_schema/tasks.rb
75
+ - lib/superstore/connection.rb
76
+ - lib/superstore/core.rb
77
+ - lib/superstore/errors.rb
78
+ - lib/superstore/identity.rb
79
+ - lib/superstore/inspect.rb
80
+ - lib/superstore/log_subscriber.rb
81
+ - lib/superstore/model.rb
82
+ - lib/superstore/persistence.rb
83
+ - lib/superstore/railtie.rb
84
+ - lib/superstore/railties/controller_runtime.rb
85
+ - lib/superstore/schema.rb
86
+ - lib/superstore/scope.rb
87
+ - lib/superstore/scope/batches.rb
88
+ - lib/superstore/scope/finder_methods.rb
89
+ - lib/superstore/scope/query_methods.rb
90
+ - lib/superstore/scoping.rb
91
+ - lib/superstore/tasks/ks.rake
92
+ - lib/superstore/timestamps.rb
93
+ - lib/superstore/type.rb
94
+ - lib/superstore/types.rb
95
+ - lib/superstore/types/array_type.rb
96
+ - lib/superstore/types/base_type.rb
97
+ - lib/superstore/types/boolean_type.rb
98
+ - lib/superstore/types/date_type.rb
99
+ - lib/superstore/types/float_type.rb
100
+ - lib/superstore/types/integer_type.rb
101
+ - lib/superstore/types/json_type.rb
102
+ - lib/superstore/types/string_type.rb
103
+ - lib/superstore/types/time_type.rb
104
+ - lib/superstore/validations.rb
105
+ - superstore.gemspec
106
+ - test/support/cassandra.rb
107
+ - test/support/hstore.rb
108
+ - test/support/issue.rb
109
+ - test/test_helper.rb
110
+ - test/unit/active_model_test.rb
111
+ - test/unit/adapters/adapter_test.rb
112
+ - test/unit/attribute_methods/definition_test.rb
113
+ - test/unit/attribute_methods/dirty_test.rb
114
+ - test/unit/attribute_methods/primary_key_test.rb
115
+ - test/unit/attribute_methods/typecasting_test.rb
116
+ - test/unit/attribute_methods_test.rb
117
+ - test/unit/base_test.rb
118
+ - test/unit/belongs_to/reflection_test.rb
119
+ - test/unit/belongs_to_test.rb
120
+ - test/unit/callbacks_test.rb
121
+ - test/unit/cassandra_schema/statements_test.rb
122
+ - test/unit/cassandra_schema/tasks_test.rb
123
+ - test/unit/connection_test.rb
124
+ - test/unit/core_test.rb
125
+ - test/unit/identity_test.rb
126
+ - test/unit/inspect_test.rb
127
+ - test/unit/log_subscriber_test.rb
128
+ - test/unit/persistence_test.rb
129
+ - test/unit/railties/controller_runtime_test.rb
130
+ - test/unit/schema_test.rb
131
+ - test/unit/scope/batches_test.rb
132
+ - test/unit/scope/finder_methods_test.rb
133
+ - test/unit/scope/query_methods_test.rb
134
+ - test/unit/scoping_test.rb
135
+ - test/unit/serialization_test.rb
136
+ - test/unit/timestamps_test.rb
137
+ - test/unit/types/array_type_test.rb
138
+ - test/unit/types/base_type_test.rb
139
+ - test/unit/types/boolean_type_test.rb
140
+ - test/unit/types/date_type_test.rb
141
+ - test/unit/types/float_type_test.rb
142
+ - test/unit/types/integer_type_test.rb
143
+ - test/unit/types/json_type_test.rb
144
+ - test/unit/types/string_type_test.rb
145
+ - test/unit/types/time_type_test.rb
146
+ - test/unit/validations_test.rb
147
+ homepage: http://github.com/data-axle/superstore
148
+ licenses: []
149
+ metadata: {}
150
+ post_install_message:
151
+ rdoc_options: []
152
+ require_paths:
153
+ - lib
154
+ required_ruby_version: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: 2.0.0
159
+ required_rubygems_version: !ruby/object:Gem::Requirement
160
+ requirements:
161
+ - - ">="
162
+ - !ruby/object:Gem::Version
163
+ version: 1.3.5
164
+ requirements: []
165
+ rubyforge_project:
166
+ rubygems_version: 2.2.1
167
+ signing_key:
168
+ specification_version: 4
169
+ summary: Cassandra ActiveModel
170
+ test_files: []