sbf-dm-transactions 1.3.0.beta

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: fa6f9dea658f71e4e2dd2ab152ef34cb9015a92c35d01c2c79016b473bcb1961
4
+ data.tar.gz: 17a42cc7879d4af1f370ea3c406a573a1a71ff8c2cb139186014dfa6cae72587
5
+ SHA512:
6
+ metadata.gz: 733242827d7cd1bb273261a78b380fbcf66a5db857ae924b7206f063ad083b7a4f227f1c33d01ee2cfbcb84d00425ba687a52da1034acbe494c05ec588265576
7
+ data.tar.gz: 9649b017d513e7983cc7468ed3d7f3040cbcb4fc0af1b8d7752ad0509bda41e3df36ae7932eb3b6b133a51f5178faf7725bbee688e125bfa8309c000ca9e6e60
data/.document ADDED
@@ -0,0 +1,5 @@
1
+ README.rdoc
2
+ lib/**/*.rb
3
+ bin/*
4
+ features/**/*.feature
5
+ LICENSE
data/.gitignore ADDED
@@ -0,0 +1,39 @@
1
+ ## MAC OS
2
+ .DS_Store
3
+
4
+ ## TEXTMATE
5
+ *.tmproj
6
+ tmtags
7
+
8
+ ## EMACS
9
+ *~
10
+ \#*
11
+ .\#*
12
+
13
+ ## VIM
14
+ *.swp
15
+
16
+ ## Rubinius
17
+ *.rbc
18
+
19
+ ## RubyMine
20
+ .idea
21
+
22
+ ## PROJECT::GENERAL
23
+ *.gem
24
+ coverage
25
+ rdoc
26
+ pkg
27
+ tmp
28
+ doc
29
+ log
30
+ .yardoc
31
+ measurements
32
+
33
+ ## BUNDLER
34
+ .bundle
35
+ Gemfile.*
36
+
37
+ ## PROJECT::SPECIFIC
38
+ spec/db/
39
+ spec/log/
data/.rspec ADDED
@@ -0,0 +1 @@
1
+ --color
data/.rubocop.yml ADDED
@@ -0,0 +1,468 @@
1
+ #require: rubocop-performance
2
+
3
+ AllCops:
4
+ TargetRubyVersion: 2.7
5
+
6
+ Gemspec/DeprecatedAttributeAssignment:
7
+ Enabled: true
8
+
9
+ Gemspec/DevelopmentDependencies: # new in 1.44
10
+ Enabled: true
11
+
12
+ Gemspec/RequireMFA:
13
+ Enabled: false
14
+
15
+ Layout/LineContinuationLeadingSpace: # new in 1.31
16
+ Enabled: true
17
+
18
+ Layout/LineContinuationSpacing: # new in 1.31
19
+ Enabled: true
20
+
21
+ Layout/LineEndStringConcatenationIndentation:
22
+ Enabled: true
23
+
24
+ Layout/LineLength:
25
+ Max: 150
26
+
27
+ Layout/MultilineOperationIndentation:
28
+ EnforcedStyle: aligned
29
+
30
+ Layout/SpaceAfterSemicolon:
31
+ Enabled: true
32
+
33
+ Layout/SpaceBeforeBrackets: # new in 1.7
34
+ Enabled: true
35
+
36
+ Layout/SpaceInsideHashLiteralBraces:
37
+ EnforcedStyle: no_space
38
+
39
+ Lint/AmbiguousAssignment: # new in 1.7
40
+ Enabled: true
41
+
42
+ Lint/AmbiguousBlockAssociation:
43
+ Enabled: true
44
+ Exclude:
45
+ - 'spec/**/*'
46
+
47
+ Lint/AmbiguousOperatorPrecedence: # new in 1.21
48
+ Enabled: true
49
+
50
+ Lint/AmbiguousRange: # new in 1.19
51
+ Enabled: true
52
+
53
+ Lint/ConstantDefinitionInBlock:
54
+ Enabled: true
55
+
56
+ Lint/ConstantOverwrittenInRescue: # new in 1.31
57
+ Enabled: true
58
+
59
+ Lint/DeprecatedConstants: # new in 1.8
60
+ Enabled: true
61
+
62
+ Lint/DuplicateBranch: # new in 1.3
63
+ Enabled: true
64
+
65
+ Lint/DuplicateMagicComment: # new in 1.37
66
+ Enabled: true
67
+
68
+ Lint/DuplicateMatchPattern: # new in 1.50
69
+ Enabled: true
70
+
71
+ Lint/DuplicateMethods:
72
+ Enabled: false
73
+
74
+ Lint/DuplicateRegexpCharacterClassElement: # new in 1.1
75
+ Enabled: true
76
+
77
+ Lint/EmptyBlock:
78
+ Enabled: true
79
+
80
+ Lint/EmptyClass: # new in 1.3
81
+ Enabled: true
82
+
83
+ Lint/EmptyFile:
84
+ Enabled: true
85
+
86
+ Lint/EmptyInPattern: # new in 1.16
87
+ Enabled: true
88
+
89
+ Lint/FloatComparison:
90
+ Enabled: true
91
+
92
+ Lint/IncompatibleIoSelectWithFiberScheduler: # new in 1.21
93
+ Enabled: true
94
+
95
+ Lint/ItWithoutArgumentsInBlock: # new in 1.59
96
+ Enabled: true
97
+
98
+ Lint/LambdaWithoutLiteralBlock: # new in 1.8
99
+ Enabled: true
100
+
101
+ Lint/LiteralAssignmentInCondition: # new in 1.58
102
+ Enabled: true
103
+
104
+ Lint/MissingSuper:
105
+ Enabled: true
106
+
107
+ Lint/MixedCaseRange: # new in 1.53
108
+ Enabled: true
109
+
110
+ Lint/NoReturnInBeginEndBlocks: # new in 1.2
111
+ Enabled: true
112
+
113
+ Lint/NonAtomicFileOperation: # new in 1.31
114
+ Enabled: true
115
+
116
+ Lint/NumberedParameterAssignment: # new in 1.9
117
+ Enabled: true
118
+
119
+ Lint/OrAssignmentToConstant: # new in 1.9
120
+ Enabled: true
121
+
122
+ Lint/RaiseException:
123
+ Enabled: false
124
+
125
+ Lint/RedundantDirGlobSort: # new in 1.8
126
+ Enabled: true
127
+
128
+ Lint/RedundantRegexpQuantifiers: # new in 1.53
129
+ Enabled: true
130
+
131
+ Lint/RefinementImportMethods: # new in 1.27
132
+ Enabled: true
133
+
134
+ Lint/RequireRangeParentheses: # new in 1.32
135
+ Enabled: true
136
+
137
+ Lint/RequireRelativeSelfPath: # new in 1.22
138
+ Enabled: true
139
+
140
+ Lint/SafeNavigationChain:
141
+ Enabled: true
142
+ AllowedMethods:
143
+ - present?
144
+ - blank?
145
+ - presence
146
+ - try
147
+ - try!
148
+ - empty?
149
+ - nil?
150
+ - blank?
151
+
152
+ Lint/SymbolConversion:
153
+ Enabled: false
154
+
155
+ Lint/ToEnumArguments: # new in 1.1
156
+ Enabled: true
157
+
158
+ Lint/TripleQuotes: # new in 1.9
159
+ Enabled: true
160
+
161
+ Lint/UnexpectedBlockArity: # new in 1.5
162
+ Enabled: true
163
+
164
+ Lint/UnmodifiedReduceAccumulator: # new in 1.1
165
+ Enabled: true
166
+
167
+ Lint/UnreachableLoop:
168
+ Enabled: true
169
+
170
+ Lint/UselessRescue: # new in 1.43
171
+ Enabled: true
172
+
173
+ Lint/UselessRuby2Keywords: # new in 1.23
174
+ Enabled: true
175
+
176
+ Metrics/AbcSize:
177
+ Enabled: false
178
+
179
+ Metrics/BlockLength:
180
+ Enabled: false
181
+
182
+ Metrics/BlockNesting:
183
+ Max: 4
184
+
185
+ Metrics/ClassLength:
186
+ Enabled: false
187
+
188
+ Metrics/CollectionLiteralLength: # new in 1.47
189
+ Enabled: true
190
+
191
+ Metrics/CyclomaticComplexity:
192
+ Max: 15
193
+
194
+ Metrics/MethodLength:
195
+ Max: 30
196
+
197
+ Metrics/ModuleLength:
198
+ Enabled: false
199
+
200
+ Metrics/ParameterLists:
201
+ Max: 5
202
+ CountKeywordArgs: false
203
+
204
+ Metrics/PerceivedComplexity:
205
+ Max: 20
206
+
207
+ Naming/BlockForwarding: # new in 1.24
208
+ Enabled: true
209
+
210
+ Naming/HeredocDelimiterNaming:
211
+ Enabled: false
212
+
213
+ Naming/MethodParameterName:
214
+ AllowedNames: [a, _, id]
215
+
216
+ Naming/VariableNumber:
217
+ Enabled: true
218
+ # EnforcedStyle: snake_case
219
+
220
+ #Performance/CollectionLiteralInLoop:
221
+ # Enabled: true
222
+ #
223
+ #Performance/RangeInclude:
224
+ # Enabled: false
225
+ #
226
+ #Performance/RedundantEqualityComparisonBlock:
227
+ # Enabled: true
228
+
229
+ Security/CompoundHash: # new in 1.28
230
+ Enabled: true
231
+
232
+ Security/IoMethods: # new in 1.22
233
+ Enabled: true
234
+
235
+ Style/AccessModifierDeclarations:
236
+ EnforcedStyle: inline
237
+
238
+ Style/Alias:
239
+ Enabled: false
240
+ EnforcedStyle: prefer_alias_method
241
+
242
+ Style/ArgumentsForwarding: # new in 1.1
243
+ Enabled: true
244
+
245
+ Style/ArrayIntersect: # new in 1.40
246
+ Enabled: true
247
+
248
+ Style/CaseLikeIf:
249
+ Enabled: true
250
+
251
+ Style/CollectionCompact: # new in 1.2
252
+ Enabled: true
253
+
254
+ Style/CombinableLoops:
255
+ Enabled: true
256
+
257
+ Style/ComparableClamp: # new in 1.44
258
+ Enabled: true
259
+
260
+ Style/ConcatArrayLiterals: # new in 1.41
261
+ Enabled: true
262
+
263
+ Style/DataInheritance: # new in 1.49
264
+ Enabled: true
265
+
266
+ Style/DirEmpty: # new in 1.48
267
+ Enabled: true
268
+
269
+ Style/Documentation:
270
+ Enabled: false
271
+
272
+ Style/DocumentDynamicEvalDefinition: # new in 1.1
273
+ Enabled: true
274
+
275
+ Style/EmptyHeredoc: # new in 1.32
276
+ Enabled: true
277
+
278
+ Style/EndlessMethod: # new in 1.8
279
+ Enabled: true
280
+
281
+ Style/EnvHome: # new in 1.29
282
+ Enabled: true
283
+
284
+ Style/ExactRegexpMatch: # new in 1.51
285
+ Enabled: true
286
+
287
+ Style/FetchEnvVar:
288
+ Enabled: true
289
+
290
+ Style/FileEmpty: # new in 1.48
291
+ Enabled: true
292
+
293
+ Style/FileRead: # new in 1.24
294
+ Enabled: true
295
+
296
+ Style/FileWrite: # new in 1.24
297
+ Enabled: true
298
+
299
+ Style/FormatStringToken:
300
+ Enabled: false
301
+
302
+ Style/FrozenStringLiteralComment:
303
+ Enabled: false
304
+
305
+ Style/HashConversion: # new in 1.10
306
+ Enabled: true
307
+
308
+ Style/HashExcept: # new in 1.7
309
+ Enabled: true
310
+
311
+ Style/HashLikeCase:
312
+ Enabled: true
313
+
314
+ Style/HashSyntax:
315
+ Enabled: true
316
+ EnforcedShorthandSyntax: consistent
317
+
318
+ Style/IfWithBooleanLiteralBranches: # new in 1.9
319
+ Enabled: true
320
+
321
+ Style/InPatternThen: # new in 1.16
322
+ Enabled: true
323
+
324
+ Style/MagicCommentFormat: # new in 1.35
325
+ Enabled: true
326
+
327
+ Style/MapCompactWithConditionalBlock: # new in 1.30
328
+ Enabled: true
329
+
330
+ Style/MapToHash: # new in 1.24
331
+ Enabled: true
332
+
333
+ Style/MapToSet: # new in 1.42
334
+ Enabled: true
335
+
336
+ Style/MinMaxComparison: # new in 1.42
337
+ Enabled: true
338
+
339
+ Style/MixinGrouping:
340
+ Enabled: true
341
+ EnforcedStyle: grouped
342
+
343
+ Style/MultilineInPatternThen: # new in 1.16
344
+ Enabled: true
345
+
346
+ Style/NegatedIfElseCondition: # new in 1.2
347
+ Enabled: true
348
+
349
+ Style/NestedFileDirname: # new in 1.26
350
+ Enabled: true
351
+
352
+ Style/NilLambda: # new in 1.3
353
+ Enabled: true
354
+
355
+ Style/NumberedParameters: # new in 1.22
356
+ Enabled: true
357
+
358
+ Style/NumberedParametersLimit: # new in 1.22
359
+ Enabled: true
360
+
361
+ Style/NumericPredicate:
362
+ Enabled: false
363
+
364
+ Style/ObjectThen: # new in 1.28
365
+ Enabled: true
366
+
367
+ Style/OpenStructUse:
368
+ Enabled: false
369
+
370
+ Style/OperatorMethodCall: # new in 1.37
371
+ Enabled: true
372
+
373
+ Style/OptionalBooleanParameter:
374
+ Enabled: true
375
+
376
+ Style/PercentLiteralDelimiters:
377
+ PreferredDelimiters:
378
+ default: ()
379
+ '%i': '()'
380
+ '%I': '()'
381
+ '%r': '{}'
382
+ '%w': '()'
383
+ '%W': '()'
384
+
385
+ Style/QuotedSymbols: # new in 1.16
386
+ Enabled: true
387
+
388
+ Style/RedundantArgument: # new in 1.4
389
+ Enabled: true
390
+
391
+ Style/RedundantArrayConstructor: # new in 1.52
392
+ Enabled: true
393
+
394
+ Style/RedundantConstantBase: # new in 1.40
395
+ Enabled: true
396
+
397
+ Style/RedundantCurrentDirectoryInPath: # new in 1.53
398
+ Enabled: true
399
+
400
+ Style/RedundantDoubleSplatHashBraces: # new in 1.41
401
+ Enabled: true
402
+
403
+ Style/RedundantEach: # new in 1.38
404
+ Enabled: true
405
+
406
+ Style/RedundantFilterChain: # new in 1.52
407
+ Enabled: true
408
+
409
+ Style/RedundantHeredocDelimiterQuotes: # new in 1.45
410
+ Enabled: true
411
+
412
+ Style/RedundantInitialize: # new in 1.27
413
+ Enabled: true
414
+
415
+ Style/RedundantLineContinuation: # new in 1.49
416
+ Enabled: true
417
+
418
+ Style/RedundantParentheses:
419
+ Enabled: true
420
+
421
+ Style/RedundantRegexpArgument: # new in 1.53
422
+ Enabled: true
423
+
424
+ Style/RedundantRegexpConstructor: # new in 1.52
425
+ Enabled: true
426
+
427
+ Style/RedundantSelfAssignmentBranch: # new in 1.19
428
+ Enabled: true
429
+
430
+ Style/RedundantStringEscape: # new in 1.37
431
+ Enabled: true
432
+
433
+ Style/RegexpLiteral:
434
+ Enabled: true
435
+ EnforcedStyle: mixed
436
+
437
+ Style/RescueStandardError:
438
+ EnforcedStyle: implicit
439
+
440
+ Style/ReturnNilInPredicateMethodDefinition: # new in 1.53
441
+ Enabled: true
442
+
443
+ Style/SelectByRegexp: # new in 1.22
444
+ Enabled: true
445
+
446
+ Style/SingleArgumentDig:
447
+ Enabled: true
448
+
449
+ Style/SignalException:
450
+ EnforcedStyle: only_raise
451
+
452
+ Style/SingleLineDoEndBlock: # new in 1.57
453
+ Enabled: true
454
+
455
+ Style/StringChars: # new in 1.12
456
+ Enabled: true
457
+
458
+ Style/SuperWithArgsParentheses: # new in 1.58
459
+ Enabled: true
460
+
461
+ Style/SwapValues: # new in 1.1
462
+ Enabled: true
463
+
464
+ Style/TernaryParentheses:
465
+ EnforcedStyle: require_parentheses_when_complex
466
+
467
+ Style/YAMLFileRead: # new in 1.53
468
+ Enabled: true
data/Gemfile ADDED
@@ -0,0 +1,68 @@
1
+ require 'pathname'
2
+
3
+ source 'https://rubygems.org'
4
+
5
+ gemspec
6
+
7
+ SOURCE = ENV.fetch('SOURCE', :git).to_sym
8
+ REPO_POSTFIX = (SOURCE == :path) ? '' : '.git'
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
12
+ DM_DO_ADAPTERS = %w(sqlite postgres mysql oracle sqlserver).freeze
13
+ CURRENT_BRANCH = ENV.fetch('GIT_BRANCH', 'master')
14
+
15
+ options = {}
16
+ options[SOURCE] = "#{DATAMAPPER}/dm-core#{REPO_POSTFIX}"
17
+ options[:branch] = CURRENT_BRANCH unless SOURCE == :path
18
+ gem 'sbf-dm-core', DM_VERSION, options.dup
19
+
20
+ platforms :mri_18 do
21
+ group :quality do
22
+ gem 'yard'
23
+ gem 'yardstick'
24
+ end
25
+ end
26
+
27
+ group :development do
28
+ gem 'pry'
29
+ gem 'pry-byebug'
30
+ gem 'rake'
31
+ gem 'rspec'
32
+ gem 'simplecov'
33
+ end
34
+
35
+ group :datamapper do
36
+ adapters = ENV['ADAPTER'] || ENV.fetch('ADAPTERS', nil)
37
+ adapters = adapters.to_s.tr(',', ' ').split.uniq - %w(in_memory)
38
+
39
+ if (do_adapters = DM_DO_ADAPTERS & adapters).any?
40
+ do_options = {}
41
+ if ENV['DO_GIT'] == 'true'
42
+ do_options = options.dup
43
+ do_options[SOURCE] = "#{DATAMAPPER}/datamapper-do#{REPO_POSTFIX}"
44
+ end
45
+ gem 'sbf-data_objects', DO_VERSION, do_options.dup
46
+
47
+ do_adapters.each do |adapter|
48
+ adapter = 'sqlite3' if adapter == 'sqlite'
49
+ gem "sbf-do_#{adapter}", DO_VERSION, do_options.dup
50
+ end
51
+
52
+ options[SOURCE] = "#{DATAMAPPER}/dm-do-adapter#{REPO_POSTFIX}"
53
+ gem 'sbf-dm-do-adapter', DM_VERSION, options.dup
54
+ end
55
+
56
+ adapters.each do |adapter|
57
+ options[SOURCE] = "#{DATAMAPPER}/dm-#{adapter}-adapter#{REPO_POSTFIX}"
58
+ gem "sbf-dm-#{adapter}-adapter", DM_VERSION, options.dup
59
+ end
60
+
61
+ plugins = ENV['PLUGINS'] || ENV.fetch('PLUGIN', nil)
62
+ plugins = plugins.to_s.tr(',', ' ').split.push('dm-migrations').uniq
63
+
64
+ plugins.each do |plugin|
65
+ options[SOURCE] = "#{DATAMAPPER}/#{plugin}#{REPO_POSTFIX}"
66
+ gem "sbf-#{plugin}", DM_VERSION, options.dup
67
+ end
68
+ end
data/LICENSE ADDED
@@ -0,0 +1,20 @@
1
+ Copyright (c) 2011 snusnu
2
+
3
+ Permission is hereby granted, free of charge, to any person obtaining
4
+ a copy of this software and associated documentation files (the
5
+ "Software"), to deal in the Software without restriction, including
6
+ without limitation the rights to use, copy, modify, merge, publish,
7
+ distribute, sublicense, and/or sell copies of the Software, and to
8
+ permit persons to whom the Software is furnished to do so, subject to
9
+ the following conditions:
10
+
11
+ The above copyright notice and this permission notice shall be
12
+ included in all copies or substantial portions of the Software.
13
+
14
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.rdoc ADDED
@@ -0,0 +1,23 @@
1
+ = dm-transactions
2
+
3
+ This gem adds transaction support for datamapper. The currently supported adapters are
4
+
5
+ * postgres
6
+ * mysql
7
+ * sqlite3
8
+ * oracle
9
+ * sqlserver
10
+
11
+ == Note on Patches/Pull Requests
12
+
13
+ * Fork the project.
14
+ * Make your feature addition or bug fix.
15
+ * Add tests for it. This is important so I don't break it in a
16
+ future version unintentionally.
17
+ * Commit, do not mess with rakefile, version, or history.
18
+ (if you want to have your own version, that is fine but bump version in a commit by itself I can ignore when I pull)
19
+ * Send me a pull request. Bonus points for topic branches.
20
+
21
+ == Copyright
22
+
23
+ Copyright (c) 2011 snusnu. See LICENSE for details.
data/Rakefile ADDED
@@ -0,0 +1,4 @@
1
+ require 'rubygems'
2
+ require 'rake'
3
+
4
+ FileList['tasks/**/*.rake'].each { |task| import task }
@@ -0,0 +1,19 @@
1
+ require File.expand_path('../lib/dm-transactions/version', __FILE__)
2
+
3
+ Gem::Specification.new do |gem|
4
+ gem.authors = ['Dirkjan Bussink (dbussink)', 'Dan Kubb (dkubb)']
5
+ gem.email = ['gamsnjaga@gmail.com']
6
+ gem.summary = 'Adds transaction support to DataMapper'
7
+ gem.description = 'Makes transaction support available for adapters that support them'
8
+ gem.license = 'Nonstandard'
9
+ gem.homepage = 'https://datamapper.org'
10
+
11
+ gem.files = `git ls-files`.split("\n")
12
+ gem.extra_rdoc_files = %w(LICENSE README.rdoc)
13
+
14
+ gem.name = 'sbf-dm-transactions'
15
+ gem.require_paths = ['lib']
16
+ gem.version = DataMapper::Transactions::VERSION
17
+
18
+ gem.add_runtime_dependency('sbf-dm-core', '~> 1.3.0.beta')
19
+ end