sequencescape-client-api 0.3.10 → 0.4.0.pre.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.rubocop.yml +44 -0
- data/.rubocop_todo.yml +338 -0
- data/.ruby-version +1 -0
- data/Gemfile +1 -1
- data/README.markdown +13 -0
- data/lib/sequencescape-api.rb +1 -1
- data/lib/sequencescape-api/actions.rb +9 -8
- data/lib/sequencescape-api/associations.rb +8 -6
- data/lib/sequencescape-api/associations/base.rb +1 -1
- data/lib/sequencescape-api/associations/base/instance_methods.rb +10 -8
- data/lib/sequencescape-api/associations/belongs_to.rb +4 -4
- data/lib/sequencescape-api/associations/has_many.rb +14 -13
- data/lib/sequencescape-api/associations/has_many/json.rb +1 -1
- data/lib/sequencescape-api/associations/has_many/validation.rb +1 -1
- data/lib/sequencescape-api/composition.rb +11 -7
- data/lib/sequencescape-api/connection_factory.rb +6 -5
- data/lib/sequencescape-api/connection_factory/actions.rb +17 -12
- data/lib/sequencescape-api/core.rb +12 -7
- data/lib/sequencescape-api/core_ext/array.rb +1 -1
- data/lib/sequencescape-api/core_ext/hash.rb +3 -3
- data/lib/sequencescape-api/errors.rb +2 -2
- data/lib/sequencescape-api/finder_methods.rb +16 -11
- data/lib/sequencescape-api/rails.rb +8 -7
- data/lib/sequencescape-api/resource/active_model.rb +1 -1
- data/lib/sequencescape-api/resource/attribute_groups.rb +11 -7
- data/lib/sequencescape-api/resource/attributes.rb +8 -8
- data/lib/sequencescape-api/resource/instance_methods.rb +17 -9
- data/lib/sequencescape-api/resource/json.rb +18 -15
- data/lib/sequencescape-api/resource/modifications.rb +20 -11
- data/lib/sequencescape-api/resource_model_proxy.rb +7 -5
- data/lib/sequencescape-api/version.rb +1 -1
- data/lib/sequencescape.rb +1 -2
- data/lib/sequencescape/bait_library.rb +1 -1
- data/lib/sequencescape/bait_library_layout.rb +2 -2
- data/lib/sequencescape/barcoded_asset.rb +1 -1
- data/lib/sequencescape/batch.rb +6 -6
- data/lib/sequencescape/behaviour/qced.rb +3 -4
- data/lib/sequencescape/behaviour/receptacle.rb +3 -3
- data/lib/sequencescape/behaviour/state_driven.rb +4 -4
- data/lib/sequencescape/bulk_transfer.rb +1 -1
- data/lib/sequencescape/comment.rb +0 -2
- data/lib/sequencescape/extraction_attribute.rb +1 -1
- data/lib/sequencescape/library_event.rb +1 -1
- data/lib/sequencescape/library_tube.rb +1 -1
- data/lib/sequencescape/lot.rb +0 -1
- data/lib/sequencescape/lot_type.rb +1 -2
- data/lib/sequencescape/order_template.rb +1 -2
- data/lib/sequencescape/pipeline.rb +1 -1
- data/lib/sequencescape/plate.rb +19 -15
- data/lib/sequencescape/plate/pooling.rb +9 -3
- data/lib/sequencescape/plate/well_structure.rb +6 -6
- data/lib/sequencescape/plate_conversion.rb +3 -3
- data/lib/sequencescape/plate_creation.rb +3 -3
- data/lib/sequencescape/plate_purpose.rb +3 -3
- data/lib/sequencescape/plate_template.rb +0 -2
- data/lib/sequencescape/pooled_plate_creation.rb +3 -3
- data/lib/sequencescape/project.rb +2 -1
- data/lib/sequencescape/qc_decision.rb +0 -1
- data/lib/sequencescape/qc_file.rb +0 -3
- data/lib/sequencescape/qcable.rb +0 -3
- data/lib/sequencescape/qcable_creator.rb +0 -3
- data/lib/sequencescape/request.rb +3 -3
- data/lib/sequencescape/search.rb +10 -8
- data/lib/sequencescape/specific_tube_creation.rb +2 -2
- data/lib/sequencescape/stamp.rb +0 -1
- data/lib/sequencescape/state_change.rb +2 -2
- data/lib/sequencescape/study.rb +1 -1
- data/lib/sequencescape/submission.rb +1 -2
- data/lib/sequencescape/tag2_layout.rb +3 -3
- data/lib/sequencescape/tag2_layout_template.rb +2 -2
- data/lib/sequencescape/tag_group.rb +0 -1
- data/lib/sequencescape/tag_layout.rb +3 -3
- data/lib/sequencescape/tag_layout_template.rb +4 -4
- data/lib/sequencescape/transfer.rb +2 -2
- data/lib/sequencescape/transfer_request.rb +4 -5
- data/lib/sequencescape/transfer_template.rb +2 -2
- data/lib/sequencescape/tube.rb +3 -3
- data/lib/sequencescape/tube_creation.rb +3 -3
- data/lib/sequencescape/tube_from_tube_creation.rb +3 -3
- data/lib/sequencescape/tube_purpose.rb +3 -3
- data/lib/sequencescape/user.rb +2 -2
- data/lib/sequencescape/volume_update.rb +1 -1
- data/lib/sequencescape/well.rb +0 -2
- data/lib/sequencescape/work_completion.rb +1 -1
- data/sequencescape-api.gemspec +18 -17
- data/spec/sequencescape-api/associations_spec.rb +4 -2
- data/spec/sequencescape-api/finding_methods_spec.rb +3 -1
- data/spec/sequencescape-api/modifications_spec.rb +17 -16
- data/spec/sequencescape-api/root_spec.rb +11 -6
- data/spec/spec_helper.rb +3 -1
- data/spec/support/contract_helper.rb +18 -10
- data/spec/support/namespaces.rb +9 -9
- data/spec/support/shared_examples.rb +2 -0
- metadata +53 -35
- data/.rvmrc +0 -52
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 648af911561c256762dc5f7c32baf400e3808bff97bc47ae0e8a307fe405b2d4
|
4
|
+
data.tar.gz: b1ee71add210dafcee368802dfa40a9e49aab63a45451529fd7fb7fc76a6148e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c55c3a95aa82cc231244bd10e6153a020dbcb7ddd6fc749729e5184dc794ef0e056523f9dc5675edc8bc9e68bcf1292cd47c7017c2808eb579e70acd774fd3d3
|
7
|
+
data.tar.gz: 5d7ac6fee834eb3018ea23371a8f40fc18797651af2f70e5033e9fb19a0b7aab86904bb8732fc29f02d8108b2a4e4a696910af565913ac2f2f9c6e97c867a62d
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,44 @@
|
|
1
|
+
inherit_from: .rubocop_todo.yml
|
2
|
+
|
3
|
+
# The behaviour of RuboCop can be controlled via the .rubocop.yml
|
4
|
+
# configuration file. It makes it possible to enable/disable
|
5
|
+
# certain cops (checks) and to alter their behaviour if they accept
|
6
|
+
# any parameters. The file can be placed either in your home
|
7
|
+
# directory or in some project directory.
|
8
|
+
#
|
9
|
+
# RuboCop will start looking for the configuration file in the directory
|
10
|
+
# where the inspected file is and continue its way up to the root directory.
|
11
|
+
#
|
12
|
+
# See https://github.com/rubocop-hq/rubocop/blob/master/manual/configuration.md
|
13
|
+
AllCops:
|
14
|
+
TargetRubyVersion: 2.4
|
15
|
+
Style/ClassAndModuleChildren:
|
16
|
+
Enabled: false
|
17
|
+
Layout/LineLength:
|
18
|
+
Max: 120
|
19
|
+
AutoCorrect: true
|
20
|
+
Naming/FileName:
|
21
|
+
Exclude:
|
22
|
+
- 'lib/sequencescape-api.rb'
|
23
|
+
|
24
|
+
# Pending Cops
|
25
|
+
Layout/EmptyLinesAroundAttributeAccessor:
|
26
|
+
Enabled: true
|
27
|
+
Layout/SpaceAroundMethodCallOperator:
|
28
|
+
Enabled: true
|
29
|
+
Lint/DeprecatedOpenSSLConstant:
|
30
|
+
Enabled: true
|
31
|
+
Lint/RaiseException:
|
32
|
+
Enabled: true
|
33
|
+
Lint/StructNewOverride:
|
34
|
+
Enabled: true
|
35
|
+
Style/ExponentialNotation:
|
36
|
+
Enabled: true
|
37
|
+
Style/HashEachMethods:
|
38
|
+
Enabled: true
|
39
|
+
Style/HashTransformKeys:
|
40
|
+
Enabled: true
|
41
|
+
Style/HashTransformValues:
|
42
|
+
Enabled: true
|
43
|
+
Style/SlicingWithRange:
|
44
|
+
Enabled: true
|
data/.rubocop_todo.yml
ADDED
@@ -0,0 +1,338 @@
|
|
1
|
+
# This configuration was generated by
|
2
|
+
# `rubocop --auto-gen-config --exclude-limit 15000`
|
3
|
+
# on 2020-05-28 09:58:56 +0100 using RuboCop version 0.84.0.
|
4
|
+
# The point is for the user to remove these configuration records
|
5
|
+
# one by one as the offenses are removed from the code base.
|
6
|
+
# Note that changes in the inspected code, or installation of new
|
7
|
+
# versions of RuboCop, may require this file to be generated again.
|
8
|
+
|
9
|
+
# Offense count: 2
|
10
|
+
Lint/ShadowingOuterLocalVariable:
|
11
|
+
Exclude:
|
12
|
+
- 'lib/sequencescape-api/associations/has_many.rb'
|
13
|
+
- 'lib/sequencescape-api/core_ext/hash.rb'
|
14
|
+
|
15
|
+
# Offense count: 7
|
16
|
+
Lint/UselessAssignment:
|
17
|
+
Exclude:
|
18
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
19
|
+
- 'lib/sequencescape-api/connection_factory/actions.rb'
|
20
|
+
- 'lib/sequencescape-api/core.rb'
|
21
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
22
|
+
- 'lib/sequencescape/behaviour/qced.rb'
|
23
|
+
- 'lib/sequencescape/plate/pooling.rb'
|
24
|
+
|
25
|
+
# Offense count: 1
|
26
|
+
# Configuration parameters: CheckForMethodsWithNoSideEffects.
|
27
|
+
Lint/Void:
|
28
|
+
Exclude:
|
29
|
+
- 'spec/sequencescape-api/associations_spec.rb'
|
30
|
+
|
31
|
+
# Offense count: 10
|
32
|
+
# Configuration parameters: IgnoredMethods.
|
33
|
+
Metrics/AbcSize:
|
34
|
+
Max: 25
|
35
|
+
|
36
|
+
# Offense count: 8
|
37
|
+
# Configuration parameters: CountComments, ExcludedMethods.
|
38
|
+
# ExcludedMethods: refine
|
39
|
+
Metrics/BlockLength:
|
40
|
+
Max: 65
|
41
|
+
|
42
|
+
# Offense count: 1
|
43
|
+
# Configuration parameters: CountComments.
|
44
|
+
Metrics/ModuleLength:
|
45
|
+
Max: 120
|
46
|
+
|
47
|
+
# Offense count: 1
|
48
|
+
# Configuration parameters: IgnoredMethods.
|
49
|
+
Metrics/PerceivedComplexity:
|
50
|
+
Max: 9
|
51
|
+
|
52
|
+
# Offense count: 1
|
53
|
+
Naming/BinaryOperatorParameterName:
|
54
|
+
Exclude:
|
55
|
+
- 'lib/sequencescape-api/resource/instance_methods.rb'
|
56
|
+
|
57
|
+
# Offense count: 9
|
58
|
+
# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros.
|
59
|
+
# NamePrefix: is_, has_, have_
|
60
|
+
# ForbiddenPrefixes: is_, has_, have_
|
61
|
+
# AllowedMethods: is_a?
|
62
|
+
# MethodDefinitionMacros: define_method, define_singleton_method
|
63
|
+
Naming/PredicateName:
|
64
|
+
Exclude:
|
65
|
+
- 'spec/**/*'
|
66
|
+
- 'lib/sequencescape-api/actions.rb'
|
67
|
+
- 'lib/sequencescape-api/associations.rb'
|
68
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
69
|
+
- 'lib/sequencescape-api/associations/has_many.rb'
|
70
|
+
- 'lib/sequencescape-api/resource.rb'
|
71
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
72
|
+
- 'lib/sequencescape-api/resource_model_proxy.rb'
|
73
|
+
|
74
|
+
# Offense count: 1
|
75
|
+
# Configuration parameters: EnforcedStyle, AllowModifiersOnSymbols.
|
76
|
+
# SupportedStyles: inline, group
|
77
|
+
Style/AccessModifierDeclarations:
|
78
|
+
Exclude:
|
79
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
80
|
+
|
81
|
+
# Offense count: 1
|
82
|
+
Style/BeginBlock:
|
83
|
+
Exclude:
|
84
|
+
- 'lib/sequencescape-api/connection_factory/actions.rb'
|
85
|
+
|
86
|
+
# Offense count: 138
|
87
|
+
Style/Documentation:
|
88
|
+
Exclude:
|
89
|
+
- 'spec/**/*'
|
90
|
+
- 'test/**/*'
|
91
|
+
- 'lib/sequencescape-api/actions.rb'
|
92
|
+
- 'lib/sequencescape-api/associations.rb'
|
93
|
+
- 'lib/sequencescape-api/associations/base.rb'
|
94
|
+
- 'lib/sequencescape-api/associations/base/instance_methods.rb'
|
95
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
96
|
+
- 'lib/sequencescape-api/associations/has_many.rb'
|
97
|
+
- 'lib/sequencescape-api/associations/has_many/json.rb'
|
98
|
+
- 'lib/sequencescape-api/associations/has_many/validation.rb'
|
99
|
+
- 'lib/sequencescape-api/capabilities.rb'
|
100
|
+
- 'lib/sequencescape-api/composition.rb'
|
101
|
+
- 'lib/sequencescape-api/connection_factory.rb'
|
102
|
+
- 'lib/sequencescape-api/connection_factory/actions.rb'
|
103
|
+
- 'lib/sequencescape-api/connection_factory/helpers.rb'
|
104
|
+
- 'lib/sequencescape-api/core.rb'
|
105
|
+
- 'lib/sequencescape-api/core_ext/array.rb'
|
106
|
+
- 'lib/sequencescape-api/core_ext/hash.rb'
|
107
|
+
- 'lib/sequencescape-api/error_handling.rb'
|
108
|
+
- 'lib/sequencescape-api/errors.rb'
|
109
|
+
- 'lib/sequencescape-api/finder_methods.rb'
|
110
|
+
- 'lib/sequencescape-api/resource.rb'
|
111
|
+
- 'lib/sequencescape-api/resource/attribute_groups.rb'
|
112
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
113
|
+
- 'lib/sequencescape-api/resource/instance_methods.rb'
|
114
|
+
- 'lib/sequencescape-api/resource/json.rb'
|
115
|
+
- 'lib/sequencescape-api/resource/modifications.rb'
|
116
|
+
- 'lib/sequencescape.rb'
|
117
|
+
- 'lib/sequencescape/asset.rb'
|
118
|
+
- 'lib/sequencescape/asset_audit.rb'
|
119
|
+
- 'lib/sequencescape/asset_group.rb'
|
120
|
+
- 'lib/sequencescape/bait_library.rb'
|
121
|
+
- 'lib/sequencescape/bait_library_layout.rb'
|
122
|
+
- 'lib/sequencescape/barcode_printer.rb'
|
123
|
+
- 'lib/sequencescape/barcoded_asset.rb'
|
124
|
+
- 'lib/sequencescape/batch.rb'
|
125
|
+
- 'lib/sequencescape/behaviour/barcoded.rb'
|
126
|
+
- 'lib/sequencescape/behaviour/labeled.rb'
|
127
|
+
- 'lib/sequencescape/behaviour/qced.rb'
|
128
|
+
- 'lib/sequencescape/behaviour/receptacle.rb'
|
129
|
+
- 'lib/sequencescape/behaviour/state_driven.rb'
|
130
|
+
- 'lib/sequencescape/bulk_transfer.rb'
|
131
|
+
- 'lib/sequencescape/comment.rb'
|
132
|
+
- 'lib/sequencescape/custom_metadatum_collection.rb'
|
133
|
+
- 'lib/sequencescape/extraction_attribute.rb'
|
134
|
+
- 'lib/sequencescape/lane.rb'
|
135
|
+
- 'lib/sequencescape/library_event.rb'
|
136
|
+
- 'lib/sequencescape/library_tube.rb'
|
137
|
+
- 'lib/sequencescape/lot.rb'
|
138
|
+
- 'lib/sequencescape/lot_type.rb'
|
139
|
+
- 'lib/sequencescape/multiplexed_library_tube.rb'
|
140
|
+
- 'lib/sequencescape/order.rb'
|
141
|
+
- 'lib/sequencescape/order_template.rb'
|
142
|
+
- 'lib/sequencescape/pipeline.rb'
|
143
|
+
- 'lib/sequencescape/plate.rb'
|
144
|
+
- 'lib/sequencescape/plate/pooling.rb'
|
145
|
+
- 'lib/sequencescape/plate/well_structure.rb'
|
146
|
+
- 'lib/sequencescape/plate_conversion.rb'
|
147
|
+
- 'lib/sequencescape/plate_creation.rb'
|
148
|
+
- 'lib/sequencescape/plate_purpose.rb'
|
149
|
+
- 'lib/sequencescape/plate_template.rb'
|
150
|
+
- 'lib/sequencescape/pooled_plate_creation.rb'
|
151
|
+
- 'lib/sequencescape/project.rb'
|
152
|
+
- 'lib/sequencescape/qc_decision.rb'
|
153
|
+
- 'lib/sequencescape/qc_file.rb'
|
154
|
+
- 'lib/sequencescape/qcable.rb'
|
155
|
+
- 'lib/sequencescape/qcable_creator.rb'
|
156
|
+
- 'lib/sequencescape/request.rb'
|
157
|
+
- 'lib/sequencescape/robot.rb'
|
158
|
+
- 'lib/sequencescape/sample.rb'
|
159
|
+
- 'lib/sequencescape/sample_tube.rb'
|
160
|
+
- 'lib/sequencescape/search.rb'
|
161
|
+
- 'lib/sequencescape/specific_tube_creation.rb'
|
162
|
+
- 'lib/sequencescape/stamp.rb'
|
163
|
+
- 'lib/sequencescape/state_change.rb'
|
164
|
+
- 'lib/sequencescape/study.rb'
|
165
|
+
- 'lib/sequencescape/submission.rb'
|
166
|
+
- 'lib/sequencescape/submission_pool.rb'
|
167
|
+
- 'lib/sequencescape/tag.rb'
|
168
|
+
- 'lib/sequencescape/tag2_layout.rb'
|
169
|
+
- 'lib/sequencescape/tag2_layout_template.rb'
|
170
|
+
- 'lib/sequencescape/tag_group.rb'
|
171
|
+
- 'lib/sequencescape/tag_layout.rb'
|
172
|
+
- 'lib/sequencescape/tag_layout_template.rb'
|
173
|
+
- 'lib/sequencescape/template.rb'
|
174
|
+
- 'lib/sequencescape/transfer.rb'
|
175
|
+
- 'lib/sequencescape/transfer_request.rb'
|
176
|
+
- 'lib/sequencescape/transfer_request_collection.rb'
|
177
|
+
- 'lib/sequencescape/transfer_template.rb'
|
178
|
+
- 'lib/sequencescape/tube.rb'
|
179
|
+
- 'lib/sequencescape/tube_creation.rb'
|
180
|
+
- 'lib/sequencescape/tube_from_tube_creation.rb'
|
181
|
+
- 'lib/sequencescape/tube_purpose.rb'
|
182
|
+
- 'lib/sequencescape/user.rb'
|
183
|
+
- 'lib/sequencescape/volume_update.rb'
|
184
|
+
- 'lib/sequencescape/well.rb'
|
185
|
+
- 'lib/sequencescape/work_completion.rb'
|
186
|
+
|
187
|
+
# Offense count: 6
|
188
|
+
# Cop supports --auto-correct.
|
189
|
+
Style/EmptyCaseCondition:
|
190
|
+
Exclude:
|
191
|
+
- 'lib/sequencescape-api/associations/base/instance_methods.rb'
|
192
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
193
|
+
- 'lib/sequencescape-api/associations/has_many.rb'
|
194
|
+
- 'lib/sequencescape-api/connection_factory/actions.rb'
|
195
|
+
- 'lib/sequencescape-api/resource/modifications.rb'
|
196
|
+
|
197
|
+
# Offense count: 1
|
198
|
+
# Cop supports --auto-correct.
|
199
|
+
# Configuration parameters: EnforcedStyle.
|
200
|
+
# SupportedStyles: empty, nil, both
|
201
|
+
Style/EmptyElse:
|
202
|
+
Exclude:
|
203
|
+
- 'lib/sequencescape-api/resource/json.rb'
|
204
|
+
|
205
|
+
# Offense count: 11
|
206
|
+
Style/EvalWithLocation:
|
207
|
+
Exclude:
|
208
|
+
- 'lib/sequencescape-api/actions.rb'
|
209
|
+
- 'lib/sequencescape-api/associations.rb'
|
210
|
+
- 'lib/sequencescape-api/composition.rb'
|
211
|
+
- 'lib/sequencescape-api/finder_methods.rb'
|
212
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
213
|
+
- 'lib/sequencescape/batch.rb'
|
214
|
+
- 'lib/sequencescape/behaviour/state_driven.rb'
|
215
|
+
- 'lib/sequencescape/search.rb'
|
216
|
+
|
217
|
+
# Offense count: 104
|
218
|
+
# Cop supports --auto-correct.
|
219
|
+
# Configuration parameters: EnforcedStyle.
|
220
|
+
# SupportedStyles: always, always_true, never
|
221
|
+
Style/FrozenStringLiteralComment:
|
222
|
+
Exclude:
|
223
|
+
- 'Gemfile'
|
224
|
+
- 'Rakefile'
|
225
|
+
- 'lib/sequencescape-api.rb'
|
226
|
+
- 'lib/sequencescape-api/actions.rb'
|
227
|
+
- 'lib/sequencescape-api/associations.rb'
|
228
|
+
- 'lib/sequencescape-api/associations/base.rb'
|
229
|
+
- 'lib/sequencescape-api/associations/base/instance_methods.rb'
|
230
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
231
|
+
- 'lib/sequencescape-api/associations/has_many.rb'
|
232
|
+
- 'lib/sequencescape-api/associations/has_many/json.rb'
|
233
|
+
- 'lib/sequencescape-api/associations/has_many/validation.rb'
|
234
|
+
- 'lib/sequencescape-api/capabilities.rb'
|
235
|
+
- 'lib/sequencescape-api/composition.rb'
|
236
|
+
- 'lib/sequencescape-api/connection_factory.rb'
|
237
|
+
- 'lib/sequencescape-api/connection_factory/actions.rb'
|
238
|
+
- 'lib/sequencescape-api/connection_factory/helpers.rb'
|
239
|
+
- 'lib/sequencescape-api/core.rb'
|
240
|
+
- 'lib/sequencescape-api/core_ext.rb'
|
241
|
+
- 'lib/sequencescape-api/core_ext/array.rb'
|
242
|
+
- 'lib/sequencescape-api/core_ext/hash.rb'
|
243
|
+
- 'lib/sequencescape-api/error_handling.rb'
|
244
|
+
- 'lib/sequencescape-api/errors.rb'
|
245
|
+
- 'lib/sequencescape-api/finder_methods.rb'
|
246
|
+
- 'lib/sequencescape-api/rails.rb'
|
247
|
+
- 'lib/sequencescape-api/resource.rb'
|
248
|
+
- 'lib/sequencescape-api/resource/active_model.rb'
|
249
|
+
- 'lib/sequencescape-api/resource/attribute_groups.rb'
|
250
|
+
- 'lib/sequencescape-api/resource/attributes.rb'
|
251
|
+
- 'lib/sequencescape-api/resource/instance_methods.rb'
|
252
|
+
- 'lib/sequencescape-api/resource/json.rb'
|
253
|
+
- 'lib/sequencescape-api/resource/modifications.rb'
|
254
|
+
- 'lib/sequencescape-api/resource_model_proxy.rb'
|
255
|
+
- 'lib/sequencescape-api/version.rb'
|
256
|
+
- 'lib/sequencescape.rb'
|
257
|
+
- 'lib/sequencescape/asset.rb'
|
258
|
+
- 'lib/sequencescape/asset_audit.rb'
|
259
|
+
- 'lib/sequencescape/asset_group.rb'
|
260
|
+
- 'lib/sequencescape/bait_library.rb'
|
261
|
+
- 'lib/sequencescape/bait_library_layout.rb'
|
262
|
+
- 'lib/sequencescape/barcode_printer.rb'
|
263
|
+
- 'lib/sequencescape/barcoded_asset.rb'
|
264
|
+
- 'lib/sequencescape/batch.rb'
|
265
|
+
- 'lib/sequencescape/behaviour/barcoded.rb'
|
266
|
+
- 'lib/sequencescape/behaviour/labeled.rb'
|
267
|
+
- 'lib/sequencescape/behaviour/qced.rb'
|
268
|
+
- 'lib/sequencescape/behaviour/receptacle.rb'
|
269
|
+
- 'lib/sequencescape/behaviour/state_driven.rb'
|
270
|
+
- 'lib/sequencescape/bulk_transfer.rb'
|
271
|
+
- 'lib/sequencescape/comment.rb'
|
272
|
+
- 'lib/sequencescape/custom_metadatum_collection.rb'
|
273
|
+
- 'lib/sequencescape/extraction_attribute.rb'
|
274
|
+
- 'lib/sequencescape/lane.rb'
|
275
|
+
- 'lib/sequencescape/library_event.rb'
|
276
|
+
- 'lib/sequencescape/library_tube.rb'
|
277
|
+
- 'lib/sequencescape/lot.rb'
|
278
|
+
- 'lib/sequencescape/lot_type.rb'
|
279
|
+
- 'lib/sequencescape/multiplexed_library_tube.rb'
|
280
|
+
- 'lib/sequencescape/order.rb'
|
281
|
+
- 'lib/sequencescape/order_template.rb'
|
282
|
+
- 'lib/sequencescape/pipeline.rb'
|
283
|
+
- 'lib/sequencescape/plate.rb'
|
284
|
+
- 'lib/sequencescape/plate/pooling.rb'
|
285
|
+
- 'lib/sequencescape/plate/well_structure.rb'
|
286
|
+
- 'lib/sequencescape/plate_conversion.rb'
|
287
|
+
- 'lib/sequencescape/plate_creation.rb'
|
288
|
+
- 'lib/sequencescape/plate_purpose.rb'
|
289
|
+
- 'lib/sequencescape/plate_template.rb'
|
290
|
+
- 'lib/sequencescape/pooled_plate_creation.rb'
|
291
|
+
- 'lib/sequencescape/project.rb'
|
292
|
+
- 'lib/sequencescape/qc_decision.rb'
|
293
|
+
- 'lib/sequencescape/qc_file.rb'
|
294
|
+
- 'lib/sequencescape/qcable.rb'
|
295
|
+
- 'lib/sequencescape/qcable_creator.rb'
|
296
|
+
- 'lib/sequencescape/request.rb'
|
297
|
+
- 'lib/sequencescape/robot.rb'
|
298
|
+
- 'lib/sequencescape/sample.rb'
|
299
|
+
- 'lib/sequencescape/sample_tube.rb'
|
300
|
+
- 'lib/sequencescape/search.rb'
|
301
|
+
- 'lib/sequencescape/specific_tube_creation.rb'
|
302
|
+
- 'lib/sequencescape/stamp.rb'
|
303
|
+
- 'lib/sequencescape/state_change.rb'
|
304
|
+
- 'lib/sequencescape/study.rb'
|
305
|
+
- 'lib/sequencescape/submission.rb'
|
306
|
+
- 'lib/sequencescape/submission_pool.rb'
|
307
|
+
- 'lib/sequencescape/tag.rb'
|
308
|
+
- 'lib/sequencescape/tag2_layout.rb'
|
309
|
+
- 'lib/sequencescape/tag2_layout_template.rb'
|
310
|
+
- 'lib/sequencescape/tag_group.rb'
|
311
|
+
- 'lib/sequencescape/tag_layout.rb'
|
312
|
+
- 'lib/sequencescape/tag_layout_template.rb'
|
313
|
+
- 'lib/sequencescape/template.rb'
|
314
|
+
- 'lib/sequencescape/transfer.rb'
|
315
|
+
- 'lib/sequencescape/transfer_request.rb'
|
316
|
+
- 'lib/sequencescape/transfer_request_collection.rb'
|
317
|
+
- 'lib/sequencescape/transfer_template.rb'
|
318
|
+
- 'lib/sequencescape/tube.rb'
|
319
|
+
- 'lib/sequencescape/tube_creation.rb'
|
320
|
+
- 'lib/sequencescape/tube_from_tube_creation.rb'
|
321
|
+
- 'lib/sequencescape/tube_purpose.rb'
|
322
|
+
- 'lib/sequencescape/user.rb'
|
323
|
+
- 'lib/sequencescape/volume_update.rb'
|
324
|
+
- 'lib/sequencescape/well.rb'
|
325
|
+
- 'lib/sequencescape/work_completion.rb'
|
326
|
+
- 'sequencescape-api.gemspec'
|
327
|
+
|
328
|
+
# Offense count: 2
|
329
|
+
Style/MethodMissingSuper:
|
330
|
+
Exclude:
|
331
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
332
|
+
- 'lib/sequencescape-api/resource_model_proxy.rb'
|
333
|
+
|
334
|
+
# Offense count: 2
|
335
|
+
Style/MissingRespondToMissing:
|
336
|
+
Exclude:
|
337
|
+
- 'lib/sequencescape-api/associations/belongs_to.rb'
|
338
|
+
- 'lib/sequencescape-api/core.rb'
|
data/.ruby-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
ruby-2.5.8
|
data/Gemfile
CHANGED
data/README.markdown
CHANGED
@@ -1,4 +1,17 @@
|
|
1
1
|
Sequencescape Client API
|
2
2
|
========================
|
3
|
+
|
3
4
|
This is the Ruby client library for the Sequencescape API.
|
4
5
|
Documentation can be found [on the wiki](https://github.com/sanger/sequencescape-client-api/wiki).
|
6
|
+
|
7
|
+
Version Guides
|
8
|
+
--------------
|
9
|
+
|
10
|
+
- 0.2.x Supports older versions of Rails.
|
11
|
+
- 0.3.x Supports Rails 3.2.x to 5.1.x
|
12
|
+
- 0.4.x Supports Rails 5.0 and up
|
13
|
+
|
14
|
+
- master currently corresponds to 0.4.x
|
15
|
+
|
16
|
+
Rails 6 appears to be supported judging by Specs, but haven't used it in anger
|
17
|
+
yet.
|
data/lib/sequencescape-api.rb
CHANGED
@@ -13,4 +13,4 @@ require 'sequencescape-api/resource'
|
|
13
13
|
require 'sequencescape-api/rails'
|
14
14
|
|
15
15
|
# Ensure that the I18n stuff has been properly configured
|
16
|
-
I18n.config.load_path << File.expand_path(File.join(File.dirname(__FILE__), %w
|
16
|
+
I18n.config.load_path << File.expand_path(File.join(File.dirname(__FILE__), %w[sequencescape-api locale en.yml]))
|
@@ -9,9 +9,10 @@ module Sequencescape::Api::Actions
|
|
9
9
|
module ClassActionHelpers
|
10
10
|
# Defines a method that is available on the resource model itself, rather than on an instance of
|
11
11
|
# the resource model.
|
12
|
-
def has_class_create_action(*args)
|
13
|
-
action_module
|
14
|
-
|
12
|
+
def has_class_create_action(*args) # rubocop:todo Metrics/MethodLength
|
13
|
+
action_module = Module.new
|
14
|
+
line = __LINE__ + 1
|
15
|
+
action_module.module_eval(%{
|
15
16
|
def initialize_class_actions(proxy)
|
16
17
|
super
|
17
18
|
|
@@ -31,7 +32,7 @@ module Sequencescape::Api::Actions
|
|
31
32
|
end
|
32
33
|
|
33
34
|
module InstanceActionHelpers
|
34
|
-
def has_create_action(*args)
|
35
|
+
def has_create_action(*args) # rubocop:todo Metrics/MethodLength
|
35
36
|
options = args.extract_options!
|
36
37
|
name = args.first || :create!
|
37
38
|
|
@@ -40,7 +41,7 @@ module Sequencescape::Api::Actions
|
|
40
41
|
result_class = "api.#{options[:resource]}" if options[:resource]
|
41
42
|
|
42
43
|
line = __LINE__ + 1
|
43
|
-
class_eval(%
|
44
|
+
class_eval(%{
|
44
45
|
def #{name}(attributes = nil)
|
45
46
|
url = actions.try(#{action.to_sym.inspect}) or
|
46
47
|
raise Sequencescape::Api::Error, "Cannot perform #{action} without an URL"
|
@@ -54,14 +55,14 @@ module Sequencescape::Api::Actions
|
|
54
55
|
|
55
56
|
def has_update_action(name, options = {})
|
56
57
|
api_method = options[:verb] == :create ? :create : :update
|
57
|
-
skip_json = options[:skip_json]||false
|
58
|
+
skip_json = options[:skip_json] || false
|
58
59
|
action = options[:action] || :update
|
59
60
|
|
60
61
|
line = __LINE__ + 1
|
61
|
-
class_eval(%
|
62
|
+
class_eval(%{
|
62
63
|
def #{name}(body = nil)
|
63
64
|
update_from_json(body || {}, false)
|
64
|
-
modify!(:
|
65
|
+
modify!(action: #{action.to_sym.inspect}, http_verb: #{api_method.to_sym.inspect}, skip_json: #{skip_json})
|
65
66
|
end
|
66
67
|
}, __FILE__, line)
|
67
68
|
end
|