sunstone 6.0.0.5 → 6.1.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 +4 -4
- data/ext/active_record/associations.rb +2 -2
- data/ext/active_record/attribute_methods.rb +2 -2
- data/ext/active_record/callbacks.rb +1 -1
- data/ext/active_record/finder_methods.rb +42 -36
- data/ext/active_record/persistence.rb +2 -0
- data/ext/active_record/relation/calculations.rb +2 -2
- data/ext/active_record/statement_cache.rb +9 -5
- data/ext/active_record/transactions.rb +8 -15
- data/ext/arel/attributes/empty_relation.rb +31 -31
- data/ext/arel/nodes/select_statement.rb +1 -1
- data/lib/active_record/connection_adapters/sunstone/column.rb +3 -3
- data/lib/active_record/connection_adapters/sunstone/database_statements.rb +5 -5
- data/lib/active_record/connection_adapters/sunstone/schema_statements.rb +18 -8
- data/lib/active_record/connection_adapters/sunstone/type/binary.rb +34 -0
- data/lib/active_record/connection_adapters/sunstone_adapter.rb +39 -26
- data/lib/arel/visitors/sunstone.rb +13 -15
- data/lib/sunstone.rb +16 -2
- data/lib/sunstone/connection.rb +1 -1
- data/lib/sunstone/version.rb +1 -1
- metadata +40 -64
- data/.gitignore +0 -31
- data/.tm_properties +0 -1
- data/.travis.yml +0 -49
- data/Gemfile +0 -4
- data/README.md +0 -10
- data/Rakefile +0 -37
- data/TODO.md +0 -89
- data/ext/arel/attributes/relation.rb +0 -31
- data/sunstone.gemspec +0 -39
- data/test/active_record/associations/belongs_to_test.rb +0 -162
- data/test/active_record/associations/has_and_belongs_to_many_test.rb +0 -125
- data/test/active_record/associations/has_many_test.rb +0 -244
- data/test/active_record/eager_loading_test.rb +0 -62
- data/test/active_record/persistance_test.rb +0 -159
- data/test/active_record/preload_test.rb +0 -51
- data/test/active_record/query/all_test.rb +0 -33
- data/test/active_record/query/count_test.rb +0 -51
- data/test/active_record/query/distinct_test.rb +0 -30
- data/test/active_record/query/find_test.rb +0 -37
- data/test/active_record/query/limit_test.rb +0 -19
- data/test/active_record/query/order_test.rb +0 -27
- data/test/active_record/query/where_test.rb +0 -79
- data/test/active_record/query_test.rb +0 -123
- data/test/active_record/rpc_test.rb +0 -30
- data/test/schema_mock.rb +0 -117
- data/test/sunstone/connection/configuration_test.rb +0 -44
- data/test/sunstone/connection/cookie_store_test.rb +0 -37
- data/test/sunstone/connection/request_helper_test.rb +0 -105
- data/test/sunstone/connection/send_request_test.rb +0 -164
- data/test/sunstone/connection_test.rb +0 -23
- data/test/test_helper.rb +0 -152
@@ -31,7 +31,11 @@ module ActiveRecord
|
|
31
31
|
|
32
32
|
version = Gem::Version.create(response['StandardAPI-Version'] || '5.0.0.4')
|
33
33
|
|
34
|
-
@definitions[table_name] = if (version >= Gem::Version.create('
|
34
|
+
@definitions[table_name] = if (version >= Gem::Version.create('6.0.0.29'))
|
35
|
+
schema = JSON.parse(response.body)
|
36
|
+
schema['columns'] = schema.delete('attributes')
|
37
|
+
schema
|
38
|
+
elsif (version >= Gem::Version.create('5.0.0.5'))
|
35
39
|
JSON.parse(response.body)
|
36
40
|
else
|
37
41
|
{ 'columns' => JSON.parse(response.body), 'limit' => nil }
|
@@ -46,7 +50,9 @@ module ActiveRecord
|
|
46
50
|
# - format_type includes the column size constraint, e.g. varchar(50)
|
47
51
|
# - ::regclass is a function that gives the id for a table name
|
48
52
|
def column_definitions(table_name) # :nodoc:
|
49
|
-
|
53
|
+
# First check for attributes and then for the deprecated columns field
|
54
|
+
# TODO: Remove after 0.3
|
55
|
+
definition(table_name)['attributes'] || definition(table_name)['columns']
|
50
56
|
end
|
51
57
|
|
52
58
|
# Returns the limit definition of the table (the maximum limit that can
|
@@ -58,28 +64,32 @@ module ActiveRecord
|
|
58
64
|
def tables
|
59
65
|
JSON.parse(@connection.get('/tables').body)
|
60
66
|
end
|
61
|
-
|
67
|
+
|
62
68
|
def views
|
63
69
|
[]
|
64
70
|
end
|
65
|
-
|
71
|
+
|
66
72
|
def new_column(name, options)
|
67
73
|
sql_type_metadata = fetch_type_metadata(options)
|
68
74
|
SunstoneColumn.new(name, sql_type_metadata, options)
|
69
75
|
end
|
70
|
-
|
76
|
+
|
77
|
+
def lookup_cast_type(options)
|
78
|
+
type_map.lookup(options['type'], options.symbolize_keys)
|
79
|
+
end
|
80
|
+
|
71
81
|
def fetch_type_metadata(options)
|
72
|
-
cast_type = lookup_cast_type(options
|
82
|
+
cast_type = lookup_cast_type(options)
|
73
83
|
simple_type = SqlTypeMetadata.new(
|
74
84
|
sql_type: options['type'],
|
75
85
|
type: cast_type.type,
|
76
86
|
limit: cast_type.limit,
|
77
87
|
precision: cast_type.precision,
|
78
|
-
scale: cast_type.scale
|
88
|
+
scale: cast_type.scale
|
79
89
|
)
|
80
90
|
SunstoneSQLTypeMetadata.new(simple_type, options)
|
81
91
|
end
|
82
|
-
|
92
|
+
|
83
93
|
def column_name_for_operation(operation, node) # :nodoc:
|
84
94
|
visitor.accept(node, collector).first[operation.to_sym]
|
85
95
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'base64'
|
2
|
+
|
3
|
+
module ActiveRecord
|
4
|
+
module ConnectionAdapters
|
5
|
+
module Sunstone
|
6
|
+
module Type
|
7
|
+
class Binary < ActiveRecord::Type::Binary
|
8
|
+
|
9
|
+
# Converts a value from database input to the appropriate ruby type. The
|
10
|
+
# return value of this method will be returned from
|
11
|
+
# ActiveRecord::AttributeMethods::Read#read_attribute. The default
|
12
|
+
# implementation just calls Value#cast.
|
13
|
+
#
|
14
|
+
# +value+ The raw input, as provided from the database.
|
15
|
+
def deserialize(value)
|
16
|
+
value.nil? ? nil : Base64.strict_decode64(value)
|
17
|
+
end
|
18
|
+
|
19
|
+
# Casts a value from the ruby type to a type that the database knows how
|
20
|
+
# to understand. The returned value from this method should be a
|
21
|
+
# +String+, +Numeric+, +Date+, +Time+, +Symbol+, +true+, +false+, or
|
22
|
+
# +nil+.
|
23
|
+
def serialize(value)
|
24
|
+
if limit && value.bytesize > limit
|
25
|
+
raise ActiveModel::RangeError, "value is out of range for #{self.class} with limit #{limit} bytes"
|
26
|
+
end
|
27
|
+
Base64.strict_encode64(value)
|
28
|
+
end
|
29
|
+
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end
|
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'active_record/connection_adapters/abstract_adapter'
|
2
2
|
|
3
|
-
|
3
|
+
require 'arel/nodes/relation'
|
4
|
+
require 'arel/visitors/to_sql_extensions'
|
4
5
|
|
5
6
|
require 'active_record/connection_adapters/sunstone/database_statements'
|
6
7
|
require 'active_record/connection_adapters/sunstone/schema_statements'
|
@@ -9,6 +10,7 @@ require 'active_record/connection_adapters/sunstone/column'
|
|
9
10
|
|
10
11
|
require 'active_record/connection_adapters/sunstone/type/date_time'
|
11
12
|
require 'active_record/connection_adapters/sunstone/type/array'
|
13
|
+
require 'active_record/connection_adapters/sunstone/type/binary'
|
12
14
|
require 'active_record/connection_adapters/sunstone/type/uuid'
|
13
15
|
require 'active_record/connection_adapters/sunstone/type/json'
|
14
16
|
|
@@ -30,7 +32,7 @@ module ActiveRecord
|
|
30
32
|
conn_params[:port] ||= uri.port
|
31
33
|
conn_params[:use_ssl] ||= (uri.scheme == 'https')
|
32
34
|
end
|
33
|
-
|
35
|
+
|
34
36
|
# Forward only valid config params to Sunstone::Connection
|
35
37
|
conn_params.slice!(*VALID_SUNSTONE_CONN_PARAMS)
|
36
38
|
|
@@ -78,9 +80,9 @@ module ActiveRecord
|
|
78
80
|
|
79
81
|
# Initializes and connects a SunstoneAPI adapter.
|
80
82
|
def initialize(connection, logger, connection_parameters, config)
|
81
|
-
super(connection, logger, config)
|
83
|
+
super(connection, logger, config.reverse_merge(prepared_statements: false))
|
82
84
|
|
83
|
-
@
|
85
|
+
@prepared_statement_status = Concurrent::ThreadLocalVar.new(false)
|
84
86
|
@connection_parameters = connection_parameters
|
85
87
|
|
86
88
|
# @type_map = Type::HashLookupTypeMap.new
|
@@ -95,12 +97,12 @@ module ActiveRecord
|
|
95
97
|
super
|
96
98
|
@connection.reconnect!
|
97
99
|
end
|
98
|
-
|
100
|
+
|
99
101
|
def disconnect!
|
100
102
|
super
|
101
103
|
@connection.disconnect!
|
102
104
|
end
|
103
|
-
|
105
|
+
|
104
106
|
# Executes the delete statement and returns the number of rows affected.
|
105
107
|
def delete(arel, name = nil, binds = [])
|
106
108
|
r = exec_delete(arel, name, binds)
|
@@ -122,27 +124,28 @@ module ActiveRecord
|
|
122
124
|
def update_table_definition(table_name, base) #:nodoc:
|
123
125
|
SunstoneAPI::Table.new(table_name, base)
|
124
126
|
end
|
125
|
-
|
127
|
+
|
126
128
|
def arel_visitor
|
127
129
|
Arel::Visitors::Sunstone.new
|
128
130
|
end
|
129
|
-
|
131
|
+
|
130
132
|
def collector
|
131
133
|
Arel::Collectors::Sunstone.new
|
132
134
|
end
|
133
|
-
|
135
|
+
|
134
136
|
def server_config
|
135
137
|
JSON.parse(@connection.get("/configuration").body)
|
136
138
|
end
|
137
|
-
|
139
|
+
|
138
140
|
def lookup_cast_type_from_column(column) # :nodoc:
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
141
|
+
cast_type = type_map.lookup(column.sql_type, {
|
142
|
+
limit: column.limit,
|
143
|
+
precision: column.precision,
|
144
|
+
scale: column.scale
|
145
|
+
})
|
146
|
+
column.array ? Sunstone::Type::Array.new(cast_type) : cast_type
|
144
147
|
end
|
145
|
-
|
148
|
+
|
146
149
|
def transaction(requires_new: nil, isolation: nil, joinable: true)
|
147
150
|
Thread.current[:sunstone_transaction_count] ||= 0
|
148
151
|
Thread.current[:sunstone_request_sent] = nil if Thread.current[:sunstone_transaction_count] == 0
|
@@ -159,7 +162,7 @@ module ActiveRecord
|
|
159
162
|
rescue ActiveRecord::Rollback
|
160
163
|
# rollbacks are silently swallowed
|
161
164
|
end
|
162
|
-
|
165
|
+
|
163
166
|
def supports_json?
|
164
167
|
true
|
165
168
|
end
|
@@ -176,33 +179,43 @@ module ActiveRecord
|
|
176
179
|
exec_insert(arel, name, binds, pk, sequence_name)
|
177
180
|
end
|
178
181
|
alias create insert
|
179
|
-
|
182
|
+
|
180
183
|
# Should be the defuat insert, but rails escapes if for SQL so we'll just
|
181
184
|
# catch the string "DEFATUL VALUES" in the visitor
|
182
185
|
# def empty_insert_statement_value
|
183
186
|
# {}
|
184
187
|
# end
|
185
|
-
|
188
|
+
|
186
189
|
private
|
187
190
|
|
188
191
|
def initialize_type_map(m) # :nodoc:
|
189
192
|
m.register_type 'boolean', Type::Boolean.new
|
190
|
-
m.register_type 'string',
|
191
|
-
|
192
|
-
|
193
|
+
m.register_type 'string' do |_, options|
|
194
|
+
Type::String.new(**options.slice(:limit))
|
195
|
+
end
|
196
|
+
m.register_type 'integer' do |_, options|
|
197
|
+
Type::Integer.new(**options.slice(:limit))
|
198
|
+
end
|
199
|
+
m.register_type 'decimal' do |_, options|
|
200
|
+
Type::Decimal.new(**options.slice(:precision, :scale))
|
201
|
+
end
|
202
|
+
m.register_type 'binary' do |_, options|
|
203
|
+
Sunstone::Type::Binary.new(**options.slice(:limit))
|
204
|
+
end
|
205
|
+
|
193
206
|
m.register_type 'datetime', Sunstone::Type::DateTime.new
|
194
207
|
m.register_type 'json', Sunstone::Type::Json.new
|
195
208
|
m.register_type 'uuid', Sunstone::Type::Uuid.new
|
196
|
-
|
209
|
+
|
197
210
|
if defined?(Sunstone::Type::EWKB)
|
198
211
|
m.register_type 'ewkb', Sunstone::Type::EWKB.new
|
199
212
|
end
|
200
213
|
end
|
201
214
|
|
202
|
-
def create_table_definition(name,
|
203
|
-
SunstoneAPI::TableDefinition.new
|
215
|
+
def create_table_definition(name, **options)
|
216
|
+
SunstoneAPI::TableDefinition.new(self, name, **options)
|
204
217
|
end
|
205
|
-
|
218
|
+
|
206
219
|
ActiveRecord::Type.add_modifier({ array: true }, Sunstone::Type::Array, adapter: :sunstone)
|
207
220
|
# ActiveRecord::Type.add_modifier({ range: true }, OID::Range, adapter: :postgresql)
|
208
221
|
end
|
@@ -1,19 +1,13 @@
|
|
1
1
|
require 'arel/visitors/visitor'
|
2
|
-
class Arel::Visitors::Dot
|
3
|
-
def visit_Arel_Nodes_Casted o
|
4
|
-
# collector << quoted(o.val, o.attribute).to_s
|
5
|
-
visit_String o.val
|
6
|
-
end
|
7
|
-
end
|
8
2
|
|
9
3
|
module Arel
|
10
4
|
module Visitors
|
11
5
|
class Sunstone < Arel::Visitors::Visitor
|
12
6
|
|
13
|
-
def compile
|
14
|
-
accept(node,
|
7
|
+
def compile(node, collector = Arel::Collectors::Sunstone.new)
|
8
|
+
accept(node, collector).value
|
15
9
|
end
|
16
|
-
|
10
|
+
|
17
11
|
def preparable
|
18
12
|
false
|
19
13
|
end
|
@@ -233,7 +227,7 @@ module Arel
|
|
233
227
|
#
|
234
228
|
def visit_Arel_Nodes_Casted o, collector
|
235
229
|
# collector << quoted(o.val, o.attribute).to_s
|
236
|
-
o.
|
230
|
+
o.value
|
237
231
|
end
|
238
232
|
|
239
233
|
def visit_Arel_Nodes_Quoted o, collector
|
@@ -709,6 +703,7 @@ module Arel
|
|
709
703
|
{key => value}
|
710
704
|
end
|
711
705
|
end
|
706
|
+
alias_method :visit_Arel_Nodes_HomogeneousIn, :visit_Arel_Nodes_In
|
712
707
|
|
713
708
|
def visit_Arel_Nodes_NotIn o, collector
|
714
709
|
key = visit(o.left, collector)
|
@@ -925,9 +920,12 @@ module Arel
|
|
925
920
|
value = if o.relation.is_a?(Arel::Attributes::Relation)
|
926
921
|
{ o.name => visit_Arel_Attributes_Relation(o.relation, collector, false) }
|
927
922
|
else
|
928
|
-
|
923
|
+
if o.relation.is_a?(Arel::Attributes::Attribute)
|
924
|
+
{ o.name => o.relation.name }
|
925
|
+
else
|
926
|
+
visit(o.relation, collector)
|
927
|
+
end
|
929
928
|
end
|
930
|
-
# value = value.to_s.split('.').last if !value.is_a?(Hash)
|
931
929
|
|
932
930
|
if o.collection
|
933
931
|
ary = []
|
@@ -950,9 +948,9 @@ module Arel
|
|
950
948
|
end
|
951
949
|
end
|
952
950
|
|
953
|
-
def visit_Arel_Attributes_EmptyRelation o, collector, top=true
|
954
|
-
|
955
|
-
end
|
951
|
+
# def visit_Arel_Attributes_EmptyRelation o, collector, top=true
|
952
|
+
# o.for_write ? "#{o.name}_attributes" : o.name
|
953
|
+
# end
|
956
954
|
|
957
955
|
def visit_Arel_Attributes_Attribute o, collector
|
958
956
|
join_name = o.relation.table_alias || o.relation.name
|
data/lib/sunstone.rb
CHANGED
@@ -35,7 +35,21 @@ require File.expand_path(File.join(__FILE__, '../../ext/active_support/core_ext/
|
|
35
35
|
|
36
36
|
require File.expand_path(File.join(__FILE__, '../../ext/arel/select_manager'))
|
37
37
|
require File.expand_path(File.join(__FILE__, '../../ext/arel/nodes/eager_load'))
|
38
|
-
require File.expand_path(File.join(__FILE__, '../../ext/arel/attributes/relation'))
|
39
38
|
require File.expand_path(File.join(__FILE__, '../../ext/arel/attributes/empty_relation'))
|
40
39
|
require File.expand_path(File.join(__FILE__, '../../ext/arel/nodes/select_statement'))
|
41
|
-
require File.expand_path(File.join(__FILE__, '../../ext/active_record/finder_methods'))
|
40
|
+
require File.expand_path(File.join(__FILE__, '../../ext/active_record/finder_methods'))
|
41
|
+
|
42
|
+
if ActiveRecord::VERSION::MAJOR == 6 && ActiveRecord::VERSION::MINOR == 1
|
43
|
+
# Patch to allow Rails 6.1 pass url to adapter, all other versions work
|
44
|
+
require 'active_record/database_configurations'
|
45
|
+
class ActiveRecord::DatabaseConfigurations::UrlConfig
|
46
|
+
private
|
47
|
+
def build_url_hash
|
48
|
+
if url.nil? || %w(jdbc: http: https:).any? { |protocol| url.start_with?(protocol) }
|
49
|
+
{ url: url }
|
50
|
+
else
|
51
|
+
ConnectionUrlResolver.new(url).to_hash
|
52
|
+
end
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
data/lib/sunstone/connection.rb
CHANGED
@@ -348,7 +348,7 @@ module Sunstone
|
|
348
348
|
headers = Thread.current[:sunstone_headers]&.clone || {}
|
349
349
|
headers['Accept'] = 'application/json'
|
350
350
|
headers['User-Agent'] = user_agent
|
351
|
-
headers['Api-Version'] = '0.
|
351
|
+
headers['Api-Version'] = '0.2.0'
|
352
352
|
headers['Connection'] = 'keep-alive'
|
353
353
|
|
354
354
|
request_api_key = Thread.current[:sunstone_api_key] || api_key
|
data/lib/sunstone/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sunstone
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 6.
|
4
|
+
version: 6.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jon Bracy
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-05-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rake
|
@@ -184,14 +184,14 @@ dependencies:
|
|
184
184
|
requirements:
|
185
185
|
- - ">="
|
186
186
|
- !ruby/object:Gem::Version
|
187
|
-
version: 6.
|
187
|
+
version: 6.1.0
|
188
188
|
type: :development
|
189
189
|
prerelease: false
|
190
190
|
version_requirements: !ruby/object:Gem::Requirement
|
191
191
|
requirements:
|
192
192
|
- - ">="
|
193
193
|
- !ruby/object:Gem::Version
|
194
|
-
version: 6.
|
194
|
+
version: 6.1.0
|
195
195
|
- !ruby/object:Gem::Dependency
|
196
196
|
name: msgpack
|
197
197
|
requirement: !ruby/object:Gem::Requirement
|
@@ -226,14 +226,42 @@ dependencies:
|
|
226
226
|
requirements:
|
227
227
|
- - ">="
|
228
228
|
- !ruby/object:Gem::Version
|
229
|
-
version: 6.
|
229
|
+
version: 6.1.3
|
230
230
|
type: :runtime
|
231
231
|
prerelease: false
|
232
232
|
version_requirements: !ruby/object:Gem::Requirement
|
233
233
|
requirements:
|
234
234
|
- - ">="
|
235
235
|
- !ruby/object:Gem::Version
|
236
|
-
version: 6.
|
236
|
+
version: 6.1.3
|
237
|
+
- !ruby/object:Gem::Dependency
|
238
|
+
name: arel-extensions
|
239
|
+
requirement: !ruby/object:Gem::Requirement
|
240
|
+
requirements:
|
241
|
+
- - ">="
|
242
|
+
- !ruby/object:Gem::Version
|
243
|
+
version: 6.1.0
|
244
|
+
type: :runtime
|
245
|
+
prerelease: false
|
246
|
+
version_requirements: !ruby/object:Gem::Requirement
|
247
|
+
requirements:
|
248
|
+
- - ">="
|
249
|
+
- !ruby/object:Gem::Version
|
250
|
+
version: 6.1.0
|
251
|
+
- !ruby/object:Gem::Dependency
|
252
|
+
name: activerecord-filter
|
253
|
+
requirement: !ruby/object:Gem::Requirement
|
254
|
+
requirements:
|
255
|
+
- - ">="
|
256
|
+
- !ruby/object:Gem::Version
|
257
|
+
version: 6.1.0
|
258
|
+
type: :runtime
|
259
|
+
prerelease: false
|
260
|
+
version_requirements: !ruby/object:Gem::Requirement
|
261
|
+
requirements:
|
262
|
+
- - ">="
|
263
|
+
- !ruby/object:Gem::Version
|
264
|
+
version: 6.1.0
|
237
265
|
description: A library for interacting with REST APIs. Similar to ActiveResource
|
238
266
|
email:
|
239
267
|
- jonbracy@gmail.com
|
@@ -241,14 +269,7 @@ executables: []
|
|
241
269
|
extensions: []
|
242
270
|
extra_rdoc_files: []
|
243
271
|
files:
|
244
|
-
- ".gitignore"
|
245
|
-
- ".tm_properties"
|
246
|
-
- ".travis.yml"
|
247
|
-
- Gemfile
|
248
272
|
- LICENSE
|
249
|
-
- README.md
|
250
|
-
- Rakefile
|
251
|
-
- TODO.md
|
252
273
|
- ext/active_record/associations.rb
|
253
274
|
- ext/active_record/associations/collection_association.rb
|
254
275
|
- ext/active_record/attribute_methods.rb
|
@@ -262,7 +283,6 @@ files:
|
|
262
283
|
- ext/active_record/transactions.rb
|
263
284
|
- ext/active_support/core_ext/object/to_query.rb
|
264
285
|
- ext/arel/attributes/empty_relation.rb
|
265
|
-
- ext/arel/attributes/relation.rb
|
266
286
|
- ext/arel/nodes/eager_load.rb
|
267
287
|
- ext/arel/nodes/select_statement.rb
|
268
288
|
- ext/arel/select_manager.rb
|
@@ -271,6 +291,7 @@ files:
|
|
271
291
|
- lib/active_record/connection_adapters/sunstone/schema_dumper.rb
|
272
292
|
- lib/active_record/connection_adapters/sunstone/schema_statements.rb
|
273
293
|
- lib/active_record/connection_adapters/sunstone/type/array.rb
|
294
|
+
- lib/active_record/connection_adapters/sunstone/type/binary.rb
|
274
295
|
- lib/active_record/connection_adapters/sunstone/type/date_time.rb
|
275
296
|
- lib/active_record/connection_adapters/sunstone/type/ewkb.rb
|
276
297
|
- lib/active_record/connection_adapters/sunstone/type/json.rb
|
@@ -284,33 +305,10 @@ files:
|
|
284
305
|
- lib/sunstone/exception.rb
|
285
306
|
- lib/sunstone/gis.rb
|
286
307
|
- lib/sunstone/version.rb
|
287
|
-
- sunstone.gemspec
|
288
|
-
- test/active_record/associations/belongs_to_test.rb
|
289
|
-
- test/active_record/associations/has_and_belongs_to_many_test.rb
|
290
|
-
- test/active_record/associations/has_many_test.rb
|
291
|
-
- test/active_record/eager_loading_test.rb
|
292
|
-
- test/active_record/persistance_test.rb
|
293
|
-
- test/active_record/preload_test.rb
|
294
|
-
- test/active_record/query/all_test.rb
|
295
|
-
- test/active_record/query/count_test.rb
|
296
|
-
- test/active_record/query/distinct_test.rb
|
297
|
-
- test/active_record/query/find_test.rb
|
298
|
-
- test/active_record/query/limit_test.rb
|
299
|
-
- test/active_record/query/order_test.rb
|
300
|
-
- test/active_record/query/where_test.rb
|
301
|
-
- test/active_record/query_test.rb
|
302
|
-
- test/active_record/rpc_test.rb
|
303
|
-
- test/schema_mock.rb
|
304
|
-
- test/sunstone/connection/configuration_test.rb
|
305
|
-
- test/sunstone/connection/cookie_store_test.rb
|
306
|
-
- test/sunstone/connection/request_helper_test.rb
|
307
|
-
- test/sunstone/connection/send_request_test.rb
|
308
|
-
- test/sunstone/connection_test.rb
|
309
|
-
- test/test_helper.rb
|
310
308
|
homepage: http://sunstonerb.com
|
311
309
|
licenses: []
|
312
310
|
metadata: {}
|
313
|
-
post_install_message:
|
311
|
+
post_install_message:
|
314
312
|
rdoc_options: []
|
315
313
|
require_paths:
|
316
314
|
- lib
|
@@ -325,30 +323,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
325
323
|
- !ruby/object:Gem::Version
|
326
324
|
version: '0'
|
327
325
|
requirements: []
|
328
|
-
rubygems_version: 3.
|
329
|
-
signing_key:
|
326
|
+
rubygems_version: 3.2.3
|
327
|
+
signing_key:
|
330
328
|
specification_version: 4
|
331
329
|
summary: A library for interacting with REST APIs
|
332
|
-
test_files:
|
333
|
-
- test/active_record/associations/belongs_to_test.rb
|
334
|
-
- test/active_record/associations/has_and_belongs_to_many_test.rb
|
335
|
-
- test/active_record/associations/has_many_test.rb
|
336
|
-
- test/active_record/eager_loading_test.rb
|
337
|
-
- test/active_record/persistance_test.rb
|
338
|
-
- test/active_record/preload_test.rb
|
339
|
-
- test/active_record/query/all_test.rb
|
340
|
-
- test/active_record/query/count_test.rb
|
341
|
-
- test/active_record/query/distinct_test.rb
|
342
|
-
- test/active_record/query/find_test.rb
|
343
|
-
- test/active_record/query/limit_test.rb
|
344
|
-
- test/active_record/query/order_test.rb
|
345
|
-
- test/active_record/query/where_test.rb
|
346
|
-
- test/active_record/query_test.rb
|
347
|
-
- test/active_record/rpc_test.rb
|
348
|
-
- test/schema_mock.rb
|
349
|
-
- test/sunstone/connection/configuration_test.rb
|
350
|
-
- test/sunstone/connection/cookie_store_test.rb
|
351
|
-
- test/sunstone/connection/request_helper_test.rb
|
352
|
-
- test/sunstone/connection/send_request_test.rb
|
353
|
-
- test/sunstone/connection_test.rb
|
354
|
-
- test/test_helper.rb
|
330
|
+
test_files: []
|