flex-station-data 1.0.1 → 1.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (34) hide show
  1. checksums.yaml +4 -4
  2. data/.github/workflows/ruby.yml +33 -0
  3. data/.gitignore +1 -0
  4. data/.rubocop.yml +106 -0
  5. data/.ruby-version +1 -1
  6. data/CHANGELOG.md +6 -0
  7. data/Gemfile +2 -0
  8. data/Gemfile.lock +51 -28
  9. data/Rakefile +5 -1
  10. data/bin/flex-station +2 -1
  11. data/bin/flex-station-linear-regression +8 -3
  12. data/flex-station-data.gemspec +7 -4
  13. data/lib/flex_station_data.rb +2 -0
  14. data/lib/flex_station_data/concerns/callable.rb +18 -18
  15. data/lib/flex_station_data/concerns/presenter.rb +2 -0
  16. data/lib/flex_station_data/concerns/service.rb +2 -0
  17. data/lib/flex_station_data/default_sample_map.rb +3 -1
  18. data/lib/flex_station_data/linear_regression.rb +2 -0
  19. data/lib/flex_station_data/plate.rb +2 -0
  20. data/lib/flex_station_data/presenters/plate_hash.rb +2 -0
  21. data/lib/flex_station_data/presenters/plates_hash.rb +2 -0
  22. data/lib/flex_station_data/presenters/sample_hash.rb +2 -0
  23. data/lib/flex_station_data/presenters/sample_regression_hash.rb +2 -0
  24. data/lib/flex_station_data/sample.rb +2 -0
  25. data/lib/flex_station_data/services/compute_mean.rb +2 -0
  26. data/lib/flex_station_data/services/load_plates.rb +2 -0
  27. data/lib/flex_station_data/services/parse_plate.rb +2 -0
  28. data/lib/flex_station_data/services/parse_plate_readings.rb +6 -2
  29. data/lib/flex_station_data/services/parse_sample_map.rb +2 -0
  30. data/lib/flex_station_data/services/sample_quality.rb +2 -0
  31. data/lib/flex_station_data/services/value_quality.rb +2 -0
  32. data/lib/flex_station_data/version.rb +3 -1
  33. data/lib/flex_station_data/wells.rb +2 -0
  34. metadata +23 -8
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1763fb10b625dcca4d933df8282802bc385298724270981ce178cd8bc8ff61f5
4
- data.tar.gz: 27a12f5bbe2ecedc562b8c710b2211a74ab02c7b5fb4e02a9c7be3017df647bd
3
+ metadata.gz: 3ec58282e79f9a538c3ac94892a08381067b37c3a3c598cb96e5208cc9ce4480
4
+ data.tar.gz: 7080bda00a6d6b767829ab87459173d3b8544947d13e1c3cb287be0b85dfab92
5
5
  SHA512:
6
- metadata.gz: e4a73af64d380f23083a029a87592074f99fdc88b83235111815687915423fccd05949a8354d13ed6ad546f60f22aa96a1cd68771ab564e1930889c9cd0c0c9c
7
- data.tar.gz: c508621a8a1b89770dac4fdf2b5ab2bb897020f4c25128b3b721433a667a21acc24750627a5acefc48a09900ba13282808e396310e0dfb36c1a090e962ba500c
6
+ metadata.gz: f9373eb37df249a26f1d4b85232a82dd9ca5bea02082e59eab93a6522fd59d1d325fea5bdbd0d426036c435665b92f0d96b5cdd81bc068420a410e556b4c8943
7
+ data.tar.gz: cecae699c459a5c8b9709e4db78594e27d7e32c94e3763e939412b4505c780be217f6c8889af34f450641c6f00893370b781f2a2d792f78d1ed014f27ce654ca
@@ -0,0 +1,33 @@
1
+ # This workflow uses actions that are not certified by GitHub.
2
+ # They are provided by a third-party and are governed by
3
+ # separate terms of service, privacy policy, and support
4
+ # documentation.
5
+ # This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
6
+ # For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
7
+
8
+ name: Ruby
9
+
10
+ on:
11
+ push:
12
+ branches: [ master ]
13
+ pull_request:
14
+ branches: [ master ]
15
+
16
+ jobs:
17
+ test:
18
+
19
+ runs-on: ubuntu-latest
20
+
21
+ steps:
22
+ - uses: actions/checkout@v2
23
+ - name: Set up Ruby
24
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
25
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
26
+ # uses: ruby/setup-ruby@v1
27
+ uses: ruby/setup-ruby@ec106b438a1ff6ff109590de34ddc62c540232e0
28
+ with:
29
+ ruby-version: 2.7
30
+ - name: Install dependencies
31
+ run: bundle install
32
+ - name: Run tests
33
+ run: bundle exec rake
data/.gitignore CHANGED
@@ -10,3 +10,4 @@
10
10
  # rspec failure tracking
11
11
  .rspec_status
12
12
  .idea/
13
+ .rbenv-gemsets
@@ -0,0 +1,106 @@
1
+ Layout/EmptyLinesAroundAttributeAccessor:
2
+ Enabled: true
3
+
4
+ Layout/ExtraSpacing:
5
+ Exclude:
6
+ - spec/**/*_spec.rb
7
+
8
+ Layout/HashAlignment:
9
+ EnforcedHashRocketStyle: table
10
+ EnforcedColonStyle: table
11
+
12
+ Layout/LineLength:
13
+ Exclude:
14
+ - spec/**/*_spec.rb
15
+
16
+ Layout/MultilineMethodCallIndentation:
17
+ EnforcedStyle: indented
18
+
19
+ Layout/SpaceAroundMethodCallOperator:
20
+ Enabled: true
21
+
22
+ Layout/SpaceInsideArrayLiteralBrackets:
23
+ Enabled: false
24
+
25
+ Layout/SpaceInsidePercentLiteralDelimiters:
26
+ Enabled: false
27
+
28
+ Lint/DeprecatedOpenSSLConstant:
29
+ Enabled: true
30
+
31
+ Lint/MixedRegexpCaptureTypes:
32
+ Enabled: true
33
+
34
+ Lint/RaiseException:
35
+ Enabled: true
36
+
37
+ Lint/StructNewOverride:
38
+ Enabled: true
39
+
40
+ Metrics/BlockLength:
41
+ Exclude:
42
+ - spec/**/*_spec.rb
43
+
44
+ Metrics/MethodLength:
45
+ Max: 12
46
+
47
+ Naming/MethodParameterName:
48
+ Enabled: false
49
+
50
+ Naming/VariableNumber:
51
+ EnforcedStyle: snake_case
52
+
53
+ Style/AccessorGrouping:
54
+ Enabled: false
55
+
56
+ Style/BisectedAttrAccessor:
57
+ Enabled: true
58
+
59
+ Style/Documentation:
60
+ Enabled: false
61
+
62
+ Style/ExponentialNotation:
63
+ Enabled: false
64
+
65
+ Style/HashEachMethods:
66
+ Enabled: false
67
+
68
+ Style/HashTransformKeys:
69
+ Enabled: true
70
+
71
+ Style/HashTransformValues:
72
+ Enabled: true
73
+
74
+ Style/PercentLiteralDelimiters:
75
+ Exclude:
76
+ - flex-station-data.gemspec
77
+
78
+ Style/RedundantAssignment:
79
+ Enabled: true
80
+
81
+ Style/RedundantFetchBlock:
82
+ Enabled: true
83
+
84
+ Style/RedundantPercentQ:
85
+ Exclude:
86
+ - flex-station-data.gemspec
87
+
88
+ Style/RedundantRegexpCharacterClass:
89
+ Enabled: true
90
+
91
+ Style/RedundantRegexpEscape:
92
+ Enabled: true
93
+
94
+ Style/SlicingWithRange:
95
+ Enabled: true
96
+
97
+ Style/StringLiterals:
98
+ EnforcedStyle: double_quotes
99
+
100
+ Style/SymbolArray:
101
+ Exclude:
102
+ - spec/**/*_spec.rb
103
+
104
+ Style/WordArray:
105
+ Exclude:
106
+ - spec/**/*_spec.rb
@@ -1 +1 @@
1
- 2.5.6
1
+ 2.7.1
@@ -1,3 +1,9 @@
1
+ # 1.0.2
2
+
3
+ * Update to Ruby 2.7.1
4
+ * Introduce Rubocop
5
+ * Added "Ruby" GitHub workflow
6
+
1
7
  # 1.0.1
2
8
 
3
9
  * Miscellaneous refactoring.
data/Gemfile CHANGED
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  source "https://rubygems.org"
2
4
 
3
5
  # Specify your gem's dependencies in flex-station-data.gemspec
@@ -1,48 +1,70 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- flex-station-data (1.0.1)
4
+ flex-station-data (1.0.2)
5
5
  activesupport
6
6
  linefit
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- activesupport (6.0.0)
11
+ activesupport (6.0.3.2)
12
12
  concurrent-ruby (~> 1.0, >= 1.0.2)
13
13
  i18n (>= 0.7, < 2)
14
14
  minitest (~> 5.1)
15
15
  tzinfo (~> 1.1)
16
- zeitwerk (~> 2.1, >= 2.1.8)
17
- coderay (1.1.2)
18
- concurrent-ruby (1.1.5)
19
- diff-lcs (1.3)
20
- i18n (1.6.0)
16
+ zeitwerk (~> 2.2, >= 2.2.2)
17
+ ast (2.4.1)
18
+ coderay (1.1.3)
19
+ concurrent-ruby (1.1.6)
20
+ diff-lcs (1.4.4)
21
+ i18n (1.8.3)
21
22
  concurrent-ruby (~> 1.0)
22
23
  linefit (0.3.4)
23
- method_source (0.9.2)
24
- minitest (5.11.3)
25
- pry (0.12.2)
26
- coderay (~> 1.1.0)
27
- method_source (~> 0.9.0)
28
- rake (10.5.0)
29
- rspec (3.8.0)
30
- rspec-core (~> 3.8.0)
31
- rspec-expectations (~> 3.8.0)
32
- rspec-mocks (~> 3.8.0)
33
- rspec-core (3.8.2)
34
- rspec-support (~> 3.8.0)
35
- rspec-expectations (3.8.4)
24
+ method_source (1.0.0)
25
+ minitest (5.14.1)
26
+ parallel (1.19.2)
27
+ parser (2.7.1.4)
28
+ ast (~> 2.4.1)
29
+ pry (0.13.1)
30
+ coderay (~> 1.1)
31
+ method_source (~> 1.0)
32
+ rainbow (3.0.0)
33
+ rake (13.0.1)
34
+ regexp_parser (1.7.1)
35
+ rexml (3.2.4)
36
+ rspec (3.9.0)
37
+ rspec-core (~> 3.9.0)
38
+ rspec-expectations (~> 3.9.0)
39
+ rspec-mocks (~> 3.9.0)
40
+ rspec-core (3.9.2)
41
+ rspec-support (~> 3.9.3)
42
+ rspec-expectations (3.9.2)
36
43
  diff-lcs (>= 1.2.0, < 2.0)
37
- rspec-support (~> 3.8.0)
38
- rspec-mocks (3.8.1)
44
+ rspec-support (~> 3.9.0)
45
+ rspec-mocks (3.9.1)
39
46
  diff-lcs (>= 1.2.0, < 2.0)
40
- rspec-support (~> 3.8.0)
41
- rspec-support (3.8.2)
47
+ rspec-support (~> 3.9.0)
48
+ rspec-support (3.9.3)
49
+ rubocop (0.87.1)
50
+ parallel (~> 1.10)
51
+ parser (>= 2.7.1.1)
52
+ rainbow (>= 2.2.2, < 4.0)
53
+ regexp_parser (>= 1.7)
54
+ rexml
55
+ rubocop-ast (>= 0.1.0, < 1.0)
56
+ ruby-progressbar (~> 1.7)
57
+ unicode-display_width (>= 1.4.0, < 2.0)
58
+ rubocop-ast (0.1.0)
59
+ parser (>= 2.7.0.1)
60
+ rubocop-rspec (1.42.0)
61
+ rubocop (>= 0.87.0)
62
+ ruby-progressbar (1.10.1)
42
63
  thread_safe (0.3.6)
43
- tzinfo (1.2.5)
64
+ tzinfo (1.2.7)
44
65
  thread_safe (~> 0.1)
45
- zeitwerk (2.1.9)
66
+ unicode-display_width (1.7.0)
67
+ zeitwerk (2.3.1)
46
68
 
47
69
  PLATFORMS
48
70
  ruby
@@ -51,8 +73,9 @@ DEPENDENCIES
51
73
  bundler (~> 2.0)
52
74
  flex-station-data!
53
75
  pry
54
- rake (~> 10.0)
76
+ rake (~> 13.0)
55
77
  rspec (~> 3.8)
78
+ rubocop-rspec
56
79
 
57
80
  BUNDLED WITH
58
- 2.0.2
81
+ 2.1.4
data/Rakefile CHANGED
@@ -1,6 +1,10 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
4
  require "rspec/core/rake_task"
5
+ require "rubocop/rake_task"
3
6
 
4
7
  RSpec::Core::RakeTask.new(:spec)
8
+ RuboCop::RakeTask.new(:rubocop)
5
9
 
6
- task :default => :spec
10
+ task default: %i[ rubocop spec ]
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "pathname"
4
5
  require "flex_station_data/concerns/callable"
@@ -28,7 +29,7 @@ class App
28
29
  when "help", "--help"
29
30
  puts "USAGE: flex-station <command>"
30
31
  else
31
- $stderr.puts "Unrecognised command: #{command}"
32
+ warn "Unrecognised command: #{command}"
32
33
  exit(1)
33
34
  end
34
35
  end
@@ -1,4 +1,5 @@
1
1
  #!/usr/bin/env ruby
2
+ # frozen_string_literal: true
2
3
 
3
4
  require "flex_station_data/concerns/callable"
4
5
  require "flex_station_data/services/load_plates"
@@ -27,11 +28,15 @@ module FlexStationData
27
28
  end
28
29
 
29
30
  def threshold
30
- Float(option(:threshold)) rescue nil
31
+ Float(option(:threshold))
32
+ rescue ArgumentError, TypeError
33
+ nil
31
34
  end
32
35
 
33
36
  def min_r_squared
34
- Float(option("min-r-squared")) rescue 0.75
37
+ Float(option("min-r-squared"))
38
+ rescue ArgumentError, TypeError
39
+ 0.75
35
40
  end
36
41
 
37
42
  def files
@@ -57,7 +62,7 @@ module FlexStationData
57
62
 
58
63
  def clean_values(values)
59
64
  values.each_with_object([]) do |value, memo|
60
- memo << ((value != memo.compact.last) ? value : nil)
65
+ memo << (value != memo.compact.last ? value : nil)
61
66
  end
62
67
  end
63
68
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  lib = File.expand_path("lib", __dir__)
2
4
  $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
3
5
  require "flex_station_data/version"
@@ -21,19 +23,20 @@ Gem::Specification.new do |spec|
21
23
 
22
24
  # Specify which files should be added to the gem when it is released.
23
25
  # The `git ls-files -z` loads the files in the RubyGem that have been added into git.
24
- spec.files = Dir.chdir(File.expand_path('..', __FILE__)) do
26
+ spec.files = Dir.chdir(File.expand_path(__dir__)) do
25
27
  `git ls-files -z`.split("\x0").reject { |f| f.match(%r{^(test|spec|features)/}) }
26
28
  end
27
29
  spec.bindir = "bin"
28
30
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
29
31
  spec.require_paths = ["lib"]
30
32
 
31
- spec.required_ruby_version = ">= 2.5.6"
33
+ spec.required_ruby_version = ">= 2.7.1"
32
34
 
33
35
  spec.add_development_dependency "bundler", "~> 2.0"
34
- spec.add_development_dependency "rake", "~> 10.0"
35
- spec.add_development_dependency "rspec", "~> 3.8"
36
36
  spec.add_development_dependency "pry"
37
+ spec.add_development_dependency "rake", "~> 13.0"
38
+ spec.add_development_dependency "rspec", "~> 3.8"
39
+ spec.add_development_dependency "rubocop-rspec"
37
40
 
38
41
  spec.add_runtime_dependency "activesupport"
39
42
  spec.add_runtime_dependency "linefit"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/version"
2
4
 
3
5
  module FlexStationData
@@ -1,33 +1,33 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlexStationData
2
4
  module Concerns
3
5
  module Callable
4
6
  class << self
5
- def [](verb)
6
- @@__callable_modules[verb] ||= Module.new.tap { |mod| __make_callable(mod, verb) }
7
+ def included(base)
8
+ base.include with(:call)
7
9
  end
8
10
 
9
- private
10
-
11
- def __make_callable(mod, verb)
12
- class_methods = Module.new do
13
- define_method verb do |*args, &block|
14
- new(*args).send(verb, &block)
15
- end
11
+ def with(verb)
12
+ callable_modules[verb.to_sym] ||= Module.new do
13
+ define_singleton_method(:included) do |base|
14
+ base.define_singleton_method(verb) do |*args|
15
+ new(*args).public_send(verb)
16
+ end
16
17
 
17
- define_method :to_proc do
18
- Proc.new(&method(verb))
18
+ base.define_singleton_method(:to_proc) do
19
+ method(verb).to_proc
20
+ end
19
21
  end
20
22
  end
21
-
22
- mod.singleton_class.define_method :included do |base|
23
- base.extend class_methods
24
- end
25
23
  end
26
- end
27
24
 
28
- __make_callable(self, :call)
25
+ alias [] with
29
26
 
30
- @@__callable_modules = { call: self }
27
+ def callable_modules
28
+ @callable_modules ||= {}
29
+ end
30
+ end
31
31
  end
32
32
  end
33
33
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative "callable"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative "callable"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlexStationData
2
4
  class DefaultSampleMap
3
5
  attr_reader :rows, :columns, :wells_per_sample
@@ -20,7 +22,7 @@ module FlexStationData
20
22
  row_label = ("A".ord + row).chr
21
23
  base_column = (column * wells_per_sample) + 1
22
24
  (0...wells_per_sample).map do |column_offset|
23
- [ row_label, base_column +column_offset ].join("")
25
+ [ row_label, base_column + column_offset ].join("")
24
26
  end
25
27
  end
26
28
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext"
2
4
  require "linefit"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/sample"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/presenters/sample_hash"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/presenters/plate_hash"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/concerns/presenter"
2
4
  require "flex_station_data/services/sample_quality"
3
5
  require "flex_station_data/presenters/sample_regression_hash"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/concerns/presenter"
2
4
  require "flex_station_data/linear_regression"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "matrix"
2
4
 
3
5
  require "flex_station_data/services/compute_mean"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext"
2
4
 
3
5
  require "flex_station_data/concerns/service"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "csv"
2
4
  require "active_support/core_ext"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext"
2
4
 
3
5
  require "flex_station_data/services/parse_plate_readings"
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "active_support/core_ext"
2
4
  require "matrix"
3
5
 
@@ -51,7 +53,9 @@ module FlexStationData
51
53
  end
52
54
 
53
55
  def parse_value(v)
54
- return Float(v) rescue v.presence
56
+ Float(v)
57
+ rescue ArgumentError, TypeError
58
+ v.presence
55
59
  end
56
60
 
57
61
  def parse_row(row)
@@ -86,7 +90,7 @@ module FlexStationData
86
90
 
87
91
  def wells_matrix
88
92
  well_row_count = matrix.row_count / times.size
89
- Matrix[*well_values.column_vectors.map { |col| col.to_a.each_slice(well_row_count).to_a.transpose }.transpose ]
93
+ Matrix[*well_values.column_vectors.map { |col| col.to_a.each_slice(well_row_count).to_a.transpose }.transpose]
90
94
  end
91
95
 
92
96
  attr_reader :plate_data
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "matrix"
2
4
  require "active_support/core_ext"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "flex_station_data/services/value_quality"
2
4
 
3
5
  module FlexStationData
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "singleton"
2
4
  require "active_support/core_ext"
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module FlexStationData
2
- VERSION = "1.0.1"
4
+ VERSION = "1.0.2"
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "matrix"
2
4
 
3
5
  module FlexStationData
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: flex-station-data
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Carney
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-09-26 00:00:00.000000000 Z
11
+ date: 2020-07-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -24,20 +24,34 @@ dependencies:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
26
  version: '2.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: pry
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  - !ruby/object:Gem::Dependency
28
42
  name: rake
29
43
  requirement: !ruby/object:Gem::Requirement
30
44
  requirements:
31
45
  - - "~>"
32
46
  - !ruby/object:Gem::Version
33
- version: '10.0'
47
+ version: '13.0'
34
48
  type: :development
35
49
  prerelease: false
36
50
  version_requirements: !ruby/object:Gem::Requirement
37
51
  requirements:
38
52
  - - "~>"
39
53
  - !ruby/object:Gem::Version
40
- version: '10.0'
54
+ version: '13.0'
41
55
  - !ruby/object:Gem::Dependency
42
56
  name: rspec
43
57
  requirement: !ruby/object:Gem::Requirement
@@ -53,7 +67,7 @@ dependencies:
53
67
  - !ruby/object:Gem::Version
54
68
  version: '3.8'
55
69
  - !ruby/object:Gem::Dependency
56
- name: pry
70
+ name: rubocop-rspec
57
71
  requirement: !ruby/object:Gem::Requirement
58
72
  requirements:
59
73
  - - ">="
@@ -103,8 +117,10 @@ executables:
103
117
  extensions: []
104
118
  extra_rdoc_files: []
105
119
  files:
120
+ - ".github/workflows/ruby.yml"
106
121
  - ".gitignore"
107
122
  - ".rspec"
123
+ - ".rubocop.yml"
108
124
  - ".ruby-version"
109
125
  - CHANGELOG.md
110
126
  - CODE_OF_CONDUCT.md
@@ -151,15 +167,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
151
167
  requirements:
152
168
  - - ">="
153
169
  - !ruby/object:Gem::Version
154
- version: 2.5.6
170
+ version: 2.7.1
155
171
  required_rubygems_version: !ruby/object:Gem::Requirement
156
172
  requirements:
157
173
  - - ">="
158
174
  - !ruby/object:Gem::Version
159
175
  version: '0'
160
176
  requirements: []
161
- rubyforge_project:
162
- rubygems_version: 2.7.6.2
177
+ rubygems_version: 3.1.2
163
178
  signing_key:
164
179
  specification_version: 4
165
180
  summary: Data analysis tool for FlexStation microplate reader