sbf-dm-do-adapter 1.3.0 → 1.4.0.beta.1

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
  SHA256:
3
- metadata.gz: b00a164845f1483c759666af17a58bbd0b3accadbf2b489bd536d4a8e2bffbb5
4
- data.tar.gz: 6b4f843918c243a8c95c59a1f0e381c7bdac8c83abb57b9d333b33e6c7cb719c
3
+ metadata.gz: 2dd3e74ec3df7300824ef62244a7ddb5cdef5f81666ada57c9e87c73a2ff1b56
4
+ data.tar.gz: c20298b288433ca4d2f8ba217c8aa7174a8360f051ae3e3a5d48b228712bec50
5
5
  SHA512:
6
- metadata.gz: dece5c20ad81c2db608818470febd1f04fc0c637cc466385508bd69f90a73ed87134419da7257395e2d7d05c69b1e34d639b359946ec3913b2bbe36f44229df8
7
- data.tar.gz: 16bdaf105814b09eb3fc995ea0068d8e9fd03dc4175e90816f51ba7484b1ccb529540c130b04ccc0707779fd90c65943dfa6bed870a2d7ac35ec090b4dec0fe7
6
+ metadata.gz: 91aa518b9e8a8f8e674352e65e8d84f6252df5aca63deefa5bfaf40757e4c580670f7d76d4fc54c2400df99781b24a19b1e14cf1dc1c17f5e17b5c4f955c4801
7
+ data.tar.gz: 65653f2dd72e5980c693906057c0db540d9b760ad430f0173701f86cb31e33abb65712c47da39c425fb567e67ef64e17d8694b3e2656fd934483f38ddccdb116
data/Gemfile CHANGED
@@ -7,8 +7,8 @@ gemspec
7
7
  SOURCE = ENV.fetch('SOURCE', :git).to_sym
8
8
  REPO_POSTFIX = (SOURCE == :path) ? '' : '.git'
9
9
  DATAMAPPER = (SOURCE == :path) ? Pathname(__FILE__).dirname.parent : 'https://github.com/firespring'
10
- DM_VERSION = '~> 1.3.0.beta'.freeze
11
- DO_VERSION = '~> 0.10.17'.freeze
10
+ DM_VERSION = '~> 1.3.0'.freeze
11
+ DO_VERSION = '~> 0.11.0'.freeze
12
12
  CURRENT_BRANCH = ENV.fetch('GIT_BRANCH', 'master')
13
13
 
14
14
  options = {}
@@ -14,6 +14,7 @@ module DataMapper
14
14
  class DataObjectsAdapter < AbstractAdapter
15
15
  extend Chainable
16
16
  extend Deprecate
17
+ include SQL
17
18
 
18
19
  SQL_FALSE = '1 = 0'.freeze
19
20
 
@@ -314,7 +315,7 @@ module DataMapper
314
315
  IDENTIFIER_MAX_LENGTH = 128
315
316
 
316
317
  # @api semipublic
317
- def property_to_column_name(property, qualify)
318
+ def self.property_to_column_name(property, qualify)
318
319
  column_name = ''
319
320
 
320
321
  case qualify
@@ -333,7 +334,7 @@ module DataMapper
333
334
  # should overwrite this to return true.
334
335
  #
335
336
  # @api private
336
- def supports_returning?
337
+ def self.supports_returning?
337
338
  false
338
339
  end
339
340
 
@@ -341,7 +342,7 @@ module DataMapper
341
342
  # INSERT statements should overwrite this to return false.
342
343
  #
343
344
  # @api private
344
- def supports_default_values?
345
+ def self.supports_default_values?
345
346
  true
346
347
  end
347
348
 
@@ -350,7 +351,7 @@ module DataMapper
350
351
  # @return [String] SELECT statement as a string
351
352
  #
352
353
  # @api private
353
- def select_statement(query)
354
+ def self.select_statement(query)
354
355
  qualify = query.links.any?
355
356
  fields = query.fields
356
357
  order_by = query.order
@@ -374,7 +375,7 @@ module DataMapper
374
375
 
375
376
  # default construction of LIMIT and OFFSET
376
377
  # overriden by some adapters (currently Oracle and SQL Server)
377
- def add_limit_offset!(statement, limit, offset, bind_values)
378
+ def self.add_limit_offset!(statement, limit, offset, bind_values)
378
379
  if limit
379
380
  statement << ' LIMIT ?'
380
381
  bind_values << limit
@@ -391,7 +392,7 @@ module DataMapper
391
392
  # @return [String] INSERT statement as a string
392
393
  #
393
394
  # @api private
394
- def insert_statement(model, properties, serial)
395
+ def self.insert_statement(model, properties, serial)
395
396
  statement = "INSERT INTO #{quote_name(model.storage_name(name))} "
396
397
 
397
398
  if supports_default_values? && properties.empty?
@@ -413,13 +414,13 @@ module DataMapper
413
414
 
414
415
  # by default PostgreSQL syntax
415
416
  # overrided in Oracle adapter
416
- def default_values_clause
417
+ def self.default_values_clause
417
418
  'DEFAULT VALUES'
418
419
  end
419
420
 
420
421
  # by default PostgreSQL syntax
421
422
  # overrided in Oracle adapter
422
- def returning_clause(serial)
423
+ def self.returning_clause(serial)
423
424
  " RETURNING #{quote_name(serial.field)}"
424
425
  end
425
426
 
@@ -428,7 +429,7 @@ module DataMapper
428
429
  # @return [String] UPDATE statement as a string
429
430
  #
430
431
  # @api private
431
- def update_statement(properties, query)
432
+ def self.update_statement(properties, query)
432
433
  model = query.model
433
434
  name = self.name
434
435
 
@@ -451,7 +452,7 @@ module DataMapper
451
452
  # @return [String] DELETE statement as a string
452
453
  #
453
454
  # @api private
454
- def delete_statement(query)
455
+ def self.delete_statement(query)
455
456
  model = query.model
456
457
  name = self.name
457
458
 
@@ -474,7 +475,7 @@ module DataMapper
474
475
  # list of fields as a string
475
476
  #
476
477
  # @api private
477
- def columns_statement(properties, qualify)
478
+ def self.columns_statement(properties, qualify)
478
479
  properties.map { |property| property_to_column_name(property, qualify) }.join(', ')
479
480
  end
480
481
 
@@ -484,7 +485,7 @@ module DataMapper
484
485
  # joins clause
485
486
  #
486
487
  # @api private
487
- def join_statement(query, bind_values, qualify)
488
+ def self.join_statement(query, bind_values, qualify)
488
489
  statements = []
489
490
  join_bind_values = []
490
491
 
@@ -518,13 +519,13 @@ module DataMapper
518
519
  statements.join(' ')
519
520
  end
520
521
 
521
- def add_join_conditions(relationship, target_alias, source_alias, statements)
522
+ def self.add_join_conditions(relationship, target_alias, source_alias, statements)
522
523
  statements << relationship.target_key.zip(relationship.source_key).map do |target_property, source_property|
523
524
  "#{property_to_column_name(target_property, target_alias)} = #{property_to_column_name(source_property, source_alias)}"
524
525
  end.join(' AND ')
525
526
  end
526
527
 
527
- def add_extra_join_conditions(relationship, target_alias, statements, bind_values)
528
+ def self.add_extra_join_conditions(relationship, target_alias, statements, bind_values)
528
529
  conditions = DataMapper.repository(name).scope do
529
530
  relationship.target_model.all(relationship.query).query.conditions
530
531
  end
@@ -542,7 +543,7 @@ module DataMapper
542
543
  # where clause
543
544
  #
544
545
  # @api private
545
- def conditions_statement(conditions, qualify = false)
546
+ def self.conditions_statement(conditions, qualify = false)
546
547
  case conditions
547
548
  when Query::Conditions::NotOperation then negate_operation(conditions.operand, qualify)
548
549
  when Query::Conditions::AbstractOperation then operation_statement(conditions, qualify)
@@ -554,12 +555,12 @@ module DataMapper
554
555
  end
555
556
 
556
557
  # @api private
557
- def supports_subquery?(*)
558
+ def self.supports_subquery?(*)
558
559
  true
559
560
  end
560
561
 
561
562
  # @api private
562
- def subquery(query, subject, qualify)
563
+ def self.subquery(query, subject, qualify)
563
564
  source_key, target_key = subquery_keys(subject)
564
565
 
565
566
  if query.repository.name == name && supports_subquery?(query, source_key, target_key, qualify)
@@ -570,7 +571,7 @@ module DataMapper
570
571
  end
571
572
 
572
573
  # @api private
573
- def subquery_statement(query, source_key, target_key, qualify)
574
+ def self.subquery_statement(query, source_key, target_key, qualify)
574
575
  query = subquery_query(query, source_key)
575
576
  select_statement, bind_values = select_statement(query)
576
577
 
@@ -586,7 +587,7 @@ module DataMapper
586
587
  end
587
588
 
588
589
  # @api private
589
- def subquery_execute(query, source_key, target_key, qualify)
590
+ def self.subquery_execute(query, source_key, target_key, qualify)
590
591
  query = subquery_query(query, source_key)
591
592
  sources = query.model.all(query)
592
593
  conditions = Query.target_conditions(sources, source_key, target_key)
@@ -599,7 +600,7 @@ module DataMapper
599
600
  end
600
601
 
601
602
  # @api private
602
- def subquery_keys(subject)
603
+ def self.subquery_keys(subject)
603
604
  case subject
604
605
  when Associations::Relationship
605
606
  relationship = subject.inverse
@@ -610,7 +611,7 @@ module DataMapper
610
611
  end
611
612
 
612
613
  # @api private
613
- def subquery_query(query, source_key)
614
+ def self.subquery_query(query, source_key)
614
615
  # force unique to be false because PostgreSQL has a problem with
615
616
  # subselects that contain a GROUP BY with different columns
616
617
  # than the outer-most query
@@ -625,7 +626,7 @@ module DataMapper
625
626
  # order clause
626
627
  #
627
628
  # @api private
628
- def order_statement(order, qualify)
629
+ def self.order_statement(order, qualify)
629
630
  statements = order.map do |direction|
630
631
  statement = property_to_column_name(direction.target, qualify)
631
632
  statement << ' DESC' if direction.operator == :desc
@@ -636,14 +637,14 @@ module DataMapper
636
637
  end
637
638
 
638
639
  # @api private
639
- def negate_operation(operand, qualify)
640
+ def self.negate_operation(operand, qualify)
640
641
  statement, bind_values = conditions_statement(operand, qualify)
641
642
  statement = "NOT(#{statement})" unless statement.nil?
642
643
  [ statement, bind_values ]
643
644
  end
644
645
 
645
646
  # @api private
646
- def operation_statement(operation, qualify)
647
+ def self.operation_statement(operation, qualify)
647
648
  statements = []
648
649
  bind_values = []
649
650
 
@@ -669,7 +670,7 @@ module DataMapper
669
670
  # comparison clause
670
671
  #
671
672
  # @api private
672
- def comparison_statement(comparison, qualify)
673
+ def self.comparison_statement(comparison, qualify)
673
674
  subject = comparison.subject
674
675
  value = comparison.value
675
676
 
@@ -742,7 +743,7 @@ module DataMapper
742
743
  end
743
744
  end
744
745
 
745
- def comparison_operator(comparison)
746
+ def self.comparison_operator(comparison)
746
747
  subject = comparison.subject
747
748
  value = comparison.value
748
749
 
@@ -759,12 +760,12 @@ module DataMapper
759
760
  end
760
761
 
761
762
  # @api private
762
- def equality_operator(property, operand)
763
+ def self.equality_operator(property, operand)
763
764
  operand.nil? ? 'IS' : '='
764
765
  end
765
766
 
766
767
  # @api private
767
- def include_operator(property, operand)
768
+ def self.include_operator(property, operand)
768
769
  case operand
769
770
  when Array then 'IN'
770
771
  when Range then 'BETWEEN'
@@ -772,24 +773,20 @@ module DataMapper
772
773
  end
773
774
 
774
775
  # @api private
775
- def regexp_operator(operand)
776
+ def self.regexp_operator(operand)
776
777
  '~'
777
778
  end
778
779
 
779
780
  # @api private
780
- def like_operator(operand)
781
+ def self.like_operator(operand)
781
782
  'LIKE'
782
783
  end
783
784
 
784
785
  # @api private
785
- def quote_name(name)
786
+ def self.quote_name(name)
786
787
  "\"#{name[0, self.class::IDENTIFIER_MAX_LENGTH].gsub('"', '""')}\""
787
788
  end
788
-
789
789
  end
790
-
791
- include SQL
792
-
793
790
  end
794
791
 
795
792
  const_added(:DataObjectsAdapter)
@@ -1,5 +1,5 @@
1
1
  module DataMapper
2
2
  module DoAdapter
3
- VERSION = '1.3.0'
3
+ VERSION = '1.4.0.beta.1'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sbf-dm-do-adapter
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.0
4
+ version: 1.4.0.beta.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - opensource_firespring
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-11-11 00:00:00.000000000 Z
11
+ date: 2024-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: sbf-data_objects
@@ -76,9 +76,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
76
76
  version: 2.7.8
77
77
  required_rubygems_version: !ruby/object:Gem::Requirement
78
78
  requirements:
79
- - - ">="
79
+ - - ">"
80
80
  - !ruby/object:Gem::Version
81
- version: '0'
81
+ version: 1.3.1
82
82
  requirements: []
83
83
  rubygems_version: 3.4.10
84
84
  signing_key: