cosmos 4.4.0 → 4.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (98) hide show
  1. checksums.yaml +5 -5
  2. data/.dockerignore +2 -0
  3. data/.gitignore +1 -0
  4. data/.travis.yml +6 -6
  5. data/Dockerfile +65 -0
  6. data/Manifest.txt +12 -2
  7. data/README.md +5 -0
  8. data/Rakefile +52 -0
  9. data/appveyor.yml +18 -8
  10. data/autohotkey/config/tools/cmd_sequence/cmd_sequence.txt +2 -0
  11. data/autohotkey/lib/cmd_sequence_exporter.rb +52 -0
  12. data/autohotkey/procedures/collect.rb +2 -2
  13. data/autohotkey/procedures/collect_util.rb +1 -1
  14. data/autohotkey/procedures/script_test.rb +1 -1
  15. data/autohotkey/tools/CmdSenderAHK2 +18 -0
  16. data/autohotkey/tools/cmd_sender.ahk +34 -6
  17. data/autohotkey/tools/cmd_sender2.ahk +4 -0
  18. data/autohotkey/tools/cmd_sequence.ahk +21 -8
  19. data/autohotkey/tools/config_editor.ahk +4 -4
  20. data/bin/cstol_converter +1 -1
  21. data/cosmos.gemspec +1 -1
  22. data/data/config/command_modifiers.yaml +16 -1
  23. data/data/config/param_item_modifiers.yaml +5 -0
  24. data/data/config/system.yaml +31 -1
  25. data/data/config/telemetry_modifiers.yaml +16 -1
  26. data/data/crc.txt +415 -410
  27. data/demo/config/dart/Gemfile +1 -6
  28. data/demo/config/data/crc.txt +244 -243
  29. data/demo/config/system/system.txt +3 -0
  30. data/demo/config/system/system2.txt +3 -0
  31. data/demo/config/system/system_alt_ports.txt +3 -0
  32. data/demo/config/targets/INST/cmd_tlm/inst_cmds.txt +3 -3
  33. data/demo/config/targets/INST/cmd_tlm/inst_tlm.txt +4 -0
  34. data/demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt +12 -0
  35. data/demo/config/targets/INST/lib/sim_inst.rb +2 -2
  36. data/demo/config/targets/INST/target.txt +1 -0
  37. data/demo/procedures/cosmos_api_test.rb +8 -8
  38. data/install/config/dart/Gemfile +2 -7
  39. data/install/config/data/crc.txt +143 -143
  40. data/install/config/system/system.txt +3 -0
  41. data/lib/cosmos/dart/config/boot.rb +1 -1
  42. data/lib/cosmos/dart/config/database.yml +2 -0
  43. data/lib/cosmos/dart/lib/dart_common.rb +11 -4
  44. data/lib/cosmos/dart/lib/dart_constants.rb +15 -0
  45. data/lib/cosmos/dart/lib/dart_decom_query.rb +5 -6
  46. data/lib/cosmos/dart/lib/dart_decommutator.rb +66 -56
  47. data/lib/cosmos/dart/lib/dart_master_query.rb +71 -0
  48. data/lib/cosmos/dart/lib/dart_reducer_worker_thread.rb +165 -134
  49. data/lib/cosmos/dart/processes/dart.rb +4 -2
  50. data/lib/cosmos/dart/processes/dart_decom_server.rb +2 -2
  51. data/lib/cosmos/dart/processes/dart_ingester.rb +38 -1
  52. data/lib/cosmos/dart/processes/dart_master.rb +44 -0
  53. data/lib/cosmos/dart/processes/dart_util.rb +115 -0
  54. data/lib/cosmos/gui/widgets/dart_meta_frame.rb +21 -2
  55. data/lib/cosmos/interfaces/protocols/length_protocol.rb +5 -0
  56. data/lib/cosmos/io/json_drb.rb +3 -3
  57. data/lib/cosmos/io/posix_serial_driver.rb +1 -1
  58. data/lib/cosmos/io/win32_serial_driver.rb +23 -2
  59. data/lib/cosmos/packet_logs/packet_log_reader.rb +2 -2
  60. data/lib/cosmos/packets/packet.rb +1 -1
  61. data/lib/cosmos/packets/packet_config.rb +26 -8
  62. data/lib/cosmos/packets/structure.rb +17 -0
  63. data/lib/cosmos/packets/structure_item.rb +5 -1
  64. data/lib/cosmos/packets/telemetry.rb +7 -1
  65. data/lib/cosmos/system/system.rb +115 -48
  66. data/lib/cosmos/tools/cmd_sender/cmd_params.rb +360 -0
  67. data/lib/cosmos/tools/cmd_sender/cmd_sender.rb +23 -319
  68. data/lib/cosmos/tools/cmd_sequence/cmd_sequence.rb +14 -17
  69. data/lib/cosmos/tools/cmd_sequence/sequence_item.rb +43 -331
  70. data/lib/cosmos/tools/cmd_sequence/sequence_list.rb +16 -11
  71. data/lib/cosmos/tools/cmd_tlm_server/cmd_tlm_server_gui.rb +1 -0
  72. data/lib/cosmos/tools/config_editor/config_editor.rb +33 -2
  73. data/lib/cosmos/tools/config_editor/config_editor_frame.rb +8 -9
  74. data/lib/cosmos/tools/config_editor/system_config_dialog.rb +158 -0
  75. data/lib/cosmos/tools/script_runner/script_runner_frame.rb +2 -2
  76. data/lib/cosmos/tools/test_runner/test.rb +5 -2
  77. data/lib/cosmos/tools/test_runner/test_runner.rb +2 -2
  78. data/lib/cosmos/tools/tlm_extractor/tlm_extractor_processor.rb +17 -13
  79. data/lib/cosmos/tools/tlm_grapher/tabbed_plots_tool/tabbed_plots_dart_thread.rb +20 -16
  80. data/lib/cosmos/tools/tlm_grapher/tlm_grapher.rb +18 -11
  81. data/lib/cosmos/tools/tlm_viewer/tlm_viewer.rb +16 -5
  82. data/lib/cosmos/utilities/ruby_lex_utils.rb +34 -30
  83. data/lib/cosmos/version.rb +4 -4
  84. data/lib/cosmos/win32/excel.rb +23 -17
  85. data/run_gui_tests.bat +1 -0
  86. data/spec/core_ext/socket_spec.rb +1 -1
  87. data/spec/install/yaml_docs_spec.rb +26 -6
  88. data/spec/interfaces/protocols/length_protocol_spec.rb +39 -0
  89. data/spec/io/json_drb_spec.rb +14 -0
  90. data/spec/io/win32_serial_driver_spec.rb +16 -2
  91. data/spec/packet_logs/packet_log_reader_spec.rb +2 -2
  92. data/spec/packets/structure_spec.rb +52 -2
  93. data/spec/packets/telemetry_spec.rb +29 -1
  94. data/spec/system/system_spec.rb +2 -2
  95. data/spec/utilities/message_log_spec.rb +6 -3
  96. data/tasks/gemfile_stats.rake +22 -13
  97. metadata +17 -7
  98. data/lib/cosmos/dart/Gemfile +0 -69
@@ -596,6 +596,34 @@ module Cosmos
596
596
  end
597
597
  end
598
598
 
599
+ describe "all_item_strings" do
600
+ it "returns hidden TGT,PKT,ITEMs in the system" do
601
+ @tlm.packet("TGT1","PKT1").hidden = true
602
+ @tlm.packet("TGT1","PKT2").disabled = true
603
+ default = @tlm.all_item_strings() # Return only those not hidden or disabled
604
+ strings = @tlm.all_item_strings(true) # Return everything, even hidden & disabled
605
+ expect(default).to_not eq strings
606
+ # Spot check the default
607
+ expect(default).to include("TGT2 PKT1 ITEM1")
608
+ expect(default).to include("TGT2 PKT1 ITEM2")
609
+ expect(default).to_not include("TGT1 PKT1 ITEM1") # hidden
610
+ expect(default).to_not include("TGT1 PKT2 ITEM1") # disabled
611
+
612
+ items = {}
613
+ # Built from the before(:each) section
614
+ items['TGT1 PKT1'] = %w(ITEM1 ITEM2 ITEM3 ITEM4)
615
+ items['TGT1 PKT2'] = %w(ITEM1 ITEM2)
616
+ items['TGT2 PKT1'] = %w(ITEM1 ITEM2)
617
+ items.each do |tgt_pkt, items|
618
+ Packet::RESERVED_ITEM_NAMES.each do |item|
619
+ expect(strings).to include("#{tgt_pkt} #{item}")
620
+ end
621
+ items.each do |item|
622
+ expect(strings).to include("#{tgt_pkt} #{item}")
623
+ end
624
+ end
625
+ end
626
+ end
627
+
599
628
  end
600
629
  end
601
-
@@ -45,7 +45,7 @@ module Cosmos
45
45
  describe "instance" do
46
46
  it "creates default ports" do
47
47
  # Don't check the actual port numbers but just that they exist
48
- expect(System.ports.keys).to eql %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER REPLAY_API REPLAY_PREIDENTIFIED REPLAY_CMD_ROUTER DART_DECOM DART_STREAM)
48
+ expect(System.ports.keys).to eql %w(CTS_API TLMVIEWER_API CTS_PREIDENTIFIED CTS_CMD_ROUTER REPLAY_API REPLAY_PREIDENTIFIED REPLAY_CMD_ROUTER DART_STREAM DART_DECOM DART_MASTER)
49
49
  end
50
50
 
51
51
  it "creates default paths" do
@@ -349,7 +349,7 @@ module Cosmos
349
349
  # Try loading something that doesn't exist
350
350
  # It should fail and reload the original configuration
351
351
  name, err = System.load_configuration("BLAH")
352
- expect(err).to eql nil
352
+ expect(err.message).to eql "Unable to find configuration: BLAH"
353
353
  expect(name).to eql original_config_name
354
354
 
355
355
  # Now load the second configuration. It shouldn't have the most
@@ -70,9 +70,12 @@ module Cosmos
70
70
  log = MessageLog.new('TEST')
71
71
  log.start
72
72
  log.stop
73
- Cosmos.set_working_dir do
74
- expect(File.stat(log.filename).writable?).to be false
75
- File.delete log.filename
73
+ if Kernel.is_windows? or Process.uid != 0
74
+ # writable? is always true for root, so skip this check
75
+ Cosmos.set_working_dir do
76
+ expect(File.stat(log.filename).writable?).to be false
77
+ File.delete log.filename
78
+ end
76
79
  end
77
80
  end
78
81
  end
@@ -15,18 +15,25 @@ task :gemfile_stats do
15
15
 
16
16
  def get_latest_gem_data
17
17
  gem_data = []
18
+ # This is the only API call to Rubygems
18
19
  versions = Gems.versions 'cosmos'
19
20
  versions.each do |version|
20
21
  version_no = version['number']
22
+ next if version_no.split('.')[0] < '3' # anything before 3 is another gem
21
23
  month = version['built_at'].split('-')[0..1].join('-')
22
- gem_data << [month, version_no, Gems.total_downloads("cosmos",version_no)[:version_downloads]] if version_no.split('.')[0] >= '3' # anything before 3 is another gem
24
+ downloads = version['downloads_count'].to_i
25
+ if gem_data.length > 0 && gem_data[-1][1] == version_no
26
+ gem_data[-1][2] += downloads
27
+ else
28
+ gem_data << [month, version_no, downloads]
29
+ end
23
30
  end
24
31
  gem_data
25
32
  end
26
33
 
27
34
  # This is useful for testing to prevent server round trips
28
35
  # Simply comment out this line when working on the formatting below (after first running once)
29
- File.open("gemdata.marshall", 'w') {|file| file.write(Marshal.dump(get_latest_gem_data)) }
36
+ File.open("gemdata.marshall", 'w') {|file| file.write(Marshal.dump(get_latest_gem_data())) }
30
37
  gem_data = Marshal.load(File.read("gemdata.marshall"))
31
38
 
32
39
  # Convert all the date text into Ruby Dates
@@ -68,26 +75,28 @@ task :gemfile_stats do
68
75
  end
69
76
  end
70
77
 
71
- # Force the date row to be text
72
- sheet.Rows(1).NumberFormat = "\@"
78
+ # Put dates in rows as there are more dates than there are releases
79
+ # Force the date column to be text
80
+ sheet.Columns(1).NumberFormat = "\@"
73
81
  labels.values.each_with_index do |val, x|
74
- sheet.Cells(1, (x+2)).Value = val
82
+ sheet.Cells((x+2), 1).Value = val
75
83
  end
76
84
 
77
- row = 2
85
+ col = 2
78
86
  dataset.each do |version, data|
79
- # Set the version (e.g. 3.0) in column 1
80
- sheet.Cells(row, 1).Value = version
87
+ # Set the version (e.g. 3.0) in the top row
88
+ sheet.Cells(1, col).Value = version
89
+ # The download values by date appear below the version in the same column
81
90
  data.each_with_index do |val, x|
82
- sheet.Cells(row, (x+2)).Value = val
91
+ sheet.Cells((x+2), col).Value = val
83
92
  end
84
- row += 1
93
+ col += 1
85
94
  end
86
- # Excel column name lookup
87
- letters = ('A'..'Z').to_a.concat(('AA'..'AZ').to_a)
95
+ # Excel column name lookup, 4 sets of alphabets gives us 104 versions to work with
96
+ letters = ('A'..'Z').to_a.concat(('AA'..'AZ').to_a).concat(('BA'..'BZ').to_a).concat(('CA'..'CZ').to_a)
88
97
  chart = book.Charts.Add
89
98
  chart.Name = "COSMOS Downloads"
90
- chart.SetSourceData(sheet.Range("A1:#{letters[labels.length]}#{dataset.length}"))
99
+ chart.SetSourceData(sheet.Range("A1:#{letters[dataset.length]}#{labels.length+1}"))
91
100
  chart.HasTitle = true
92
101
  chart.ChartTitle.Characters.Text = "COSMOS Downloads"
93
102
  chart.ChartType = 76 # AreaStacked
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cosmos
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.4.0
4
+ version: 4.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan Melton
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2019-06-28 00:00:00.000000000 Z
12
+ date: 2019-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -435,14 +435,14 @@ dependencies:
435
435
  requirements:
436
436
  - - "~>"
437
437
  - !ruby/object:Gem::Version
438
- version: '0.16'
438
+ version: '1.0'
439
439
  type: :development
440
440
  prerelease: false
441
441
  version_requirements: !ruby/object:Gem::Requirement
442
442
  requirements:
443
443
  - - "~>"
444
444
  - !ruby/object:Gem::Version
445
- version: '0.16'
445
+ version: '1.0'
446
446
  description: |2
447
447
  Ball Aerospace COSMOS provides all the functionality needed to send
448
448
  commands to and receive data from one or more embedded systems
@@ -477,6 +477,7 @@ extensions:
477
477
  extra_rdoc_files: []
478
478
  files:
479
479
  - ".coveralls.yml"
480
+ - ".dockerignore"
480
481
  - ".gitattributes"
481
482
  - ".github/ISSUE_TEMPLATE/bug_report.md"
482
483
  - ".github/ISSUE_TEMPLATE/feature_request.md"
@@ -486,6 +487,7 @@ files:
486
487
  - ".travis.yml"
487
488
  - ".yardopts"
488
489
  - CONTRIBUTING.txt
490
+ - Dockerfile
489
491
  - Gemfile
490
492
  - Guardfile
491
493
  - LICENSE.txt
@@ -537,6 +539,7 @@ files:
537
539
  - autohotkey/config/targets/SYSTEM/screens/meta.txt
538
540
  - autohotkey/config/targets/SYSTEM/target.txt
539
541
  - autohotkey/config/tools/cmd_sender/cmd_sender.txt
542
+ - autohotkey/config/tools/cmd_sequence/cmd_sequence.txt
540
543
  - autohotkey/config/tools/cmd_tlm_server/cmd_tlm_server.txt
541
544
  - autohotkey/config/tools/data_viewer/data_viewer.txt
542
545
  - autohotkey/config/tools/handbook_creator/assets/css/bootstrap-theme.css
@@ -588,6 +591,7 @@ files:
588
591
  - autohotkey/config/tools/tlm_viewer/tlm_viewer.txt
589
592
  - autohotkey/config/tools/tlm_viewer/tlm_viewer2.txt
590
593
  - autohotkey/config/tools/tlm_viewer/tlm_viewer3.txt
594
+ - autohotkey/lib/cmd_sequence_exporter.rb
591
595
  - autohotkey/lib/example_background_task.rb
592
596
  - autohotkey/lib/user_version.rb
593
597
  - autohotkey/outputs/handbooks/README.txt
@@ -610,6 +614,7 @@ files:
610
614
  - autohotkey/tools/CmdExtractorAHK
611
615
  - autohotkey/tools/CmdSender
612
616
  - autohotkey/tools/CmdSenderAHK
617
+ - autohotkey/tools/CmdSenderAHK2
613
618
  - autohotkey/tools/CmdSequence
614
619
  - autohotkey/tools/CmdSequenceAHK
615
620
  - autohotkey/tools/CmdSequenceAHK2
@@ -662,6 +667,7 @@ files:
662
667
  - autohotkey/tools/autohotkey.rb
663
668
  - autohotkey/tools/cmd_extractor.ahk
664
669
  - autohotkey/tools/cmd_sender.ahk
670
+ - autohotkey/tools/cmd_sender2.ahk
665
671
  - autohotkey/tools/cmd_sequence.ahk
666
672
  - autohotkey/tools/cmd_sequence2.ahk
667
673
  - autohotkey/tools/cmd_tlm_server.ahk
@@ -869,6 +875,7 @@ files:
869
875
  - demo/config/targets/INST/cmd_tlm/_ccsds_tlm.txt
870
876
  - demo/config/targets/INST/cmd_tlm/inst_cmds.txt
871
877
  - demo/config/targets/INST/cmd_tlm/inst_tlm.txt
878
+ - demo/config/targets/INST/cmd_tlm/inst_tlm_override.txt
872
879
  - demo/config/targets/INST/cmd_tlm_server.txt
873
880
  - demo/config/targets/INST/cmd_tlm_server2.txt
874
881
  - demo/config/targets/INST/doc/README.txt
@@ -989,7 +996,6 @@ files:
989
996
  - demo/lib/scpi_target.rb
990
997
  - demo/lib/user_version.rb
991
998
  - demo/outputs/dart/data/README.txt
992
- - demo/outputs/dart/logs/README.txt
993
999
  - demo/outputs/handbooks/README.txt
994
1000
  - demo/outputs/logs/README.txt
995
1001
  - demo/outputs/saved_config/README.txt
@@ -1395,7 +1401,6 @@ files:
1395
1401
  - lib/cosmos/core_ext/stringio.rb
1396
1402
  - lib/cosmos/core_ext/time.rb
1397
1403
  - lib/cosmos/dart/.rspec
1398
- - lib/cosmos/dart/Gemfile
1399
1404
  - lib/cosmos/dart/Rakefile
1400
1405
  - lib/cosmos/dart/app/assets/config/manifest.js
1401
1406
  - lib/cosmos/dart/app/assets/images/.keep
@@ -1482,11 +1487,13 @@ files:
1482
1487
  - lib/cosmos/dart/examples/dart_decom_client.rb
1483
1488
  - lib/cosmos/dart/examples/dart_stream_client.rb
1484
1489
  - lib/cosmos/dart/lib/dart_common.rb
1490
+ - lib/cosmos/dart/lib/dart_constants.rb
1485
1491
  - lib/cosmos/dart/lib/dart_database_cleaner.rb
1486
1492
  - lib/cosmos/dart/lib/dart_decom_query.rb
1487
1493
  - lib/cosmos/dart/lib/dart_decommutator.rb
1488
1494
  - lib/cosmos/dart/lib/dart_importer.rb
1489
1495
  - lib/cosmos/dart/lib/dart_logging.rb
1496
+ - lib/cosmos/dart/lib/dart_master_query.rb
1490
1497
  - lib/cosmos/dart/lib/dart_packet_log_writer.rb
1491
1498
  - lib/cosmos/dart/lib/dart_reducer_manager.rb
1492
1499
  - lib/cosmos/dart/lib/dart_reducer_worker_thread.rb
@@ -1495,6 +1502,7 @@ files:
1495
1502
  - lib/cosmos/dart/processes/dart_decom_server.rb
1496
1503
  - lib/cosmos/dart/processes/dart_import.rb
1497
1504
  - lib/cosmos/dart/processes/dart_ingester.rb
1505
+ - lib/cosmos/dart/processes/dart_master.rb
1498
1506
  - lib/cosmos/dart/processes/dart_reducer.rb
1499
1507
  - lib/cosmos/dart/processes/dart_stream_server.rb
1500
1508
  - lib/cosmos/dart/processes/dart_util.rb
@@ -1662,6 +1670,7 @@ files:
1662
1670
  - lib/cosmos/system/target.rb
1663
1671
  - lib/cosmos/tools/cmd_extractor/cmd_extractor.rb
1664
1672
  - lib/cosmos/tools/cmd_sender/cmd_param_table_item_delegate.rb
1673
+ - lib/cosmos/tools/cmd_sender/cmd_params.rb
1665
1674
  - lib/cosmos/tools/cmd_sender/cmd_sender.rb
1666
1675
  - lib/cosmos/tools/cmd_sender/cmd_sender_text_edit.rb
1667
1676
  - lib/cosmos/tools/cmd_sequence/cmd_sequence.rb
@@ -1690,6 +1699,7 @@ files:
1690
1699
  - lib/cosmos/tools/cmd_tlm_server/routers.rb
1691
1700
  - lib/cosmos/tools/config_editor/config_editor.rb
1692
1701
  - lib/cosmos/tools/config_editor/config_editor_frame.rb
1702
+ - lib/cosmos/tools/config_editor/system_config_dialog.rb
1693
1703
  - lib/cosmos/tools/data_viewer/data_viewer.rb
1694
1704
  - lib/cosmos/tools/data_viewer/data_viewer_component.rb
1695
1705
  - lib/cosmos/tools/data_viewer/dump_component.rb
@@ -2254,7 +2264,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
2254
2264
  version: '0'
2255
2265
  requirements: []
2256
2266
  rubyforge_project:
2257
- rubygems_version: 2.6.14.1
2267
+ rubygems_version: 2.7.6
2258
2268
  signing_key:
2259
2269
  specification_version: 4
2260
2270
  summary: Ball Aerospace COSMOS
@@ -1,69 +0,0 @@
1
- source 'https://rubygems.org'
2
-
3
- git_source(:github) do |repo_name|
4
- repo_name = "#{repo_name}/#{repo_name}" unless repo_name.include?("/")
5
- "https://github.com/#{repo_name}.git"
6
- end
7
-
8
-
9
- # Bundle edge Rails instead: gem 'rails', github: 'rails/rails'
10
- gem 'rails', '~> 5.1.4'
11
- # Use sqlite3 as the database for Active Record
12
- # gem 'sqlite3'
13
- # Use Puma as the app server
14
- gem 'puma', '~> 3.0'
15
- # Use SCSS for stylesheets
16
- gem 'sass-rails', '~> 5.0'
17
- # Use Uglifier as compressor for JavaScript assets
18
- gem 'uglifier', '>= 1.3.0'
19
- # Use CoffeeScript for .coffee assets and views
20
- gem 'coffee-rails', '~> 4.2'
21
- # See https://github.com/rails/execjs#readme for more supported runtimes
22
- # gem 'therubyracer', platforms: :ruby
23
-
24
- # Use jquery as the JavaScript library
25
- gem 'jquery-rails'
26
- # Turbolinks makes navigating your web application faster. Read more: https://github.com/turbolinks/turbolinks
27
- gem 'turbolinks', '~> 5'
28
- # Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
29
- gem 'jbuilder', '~> 2.5'
30
- # Use Redis adapter to run Action Cable in production
31
- # gem 'redis', '~> 3.0'
32
- # Use ActiveModel has_secure_password
33
- # gem 'bcrypt', '~> 3.1.7'
34
-
35
- # Use Capistrano for deployment
36
- # gem 'capistrano-rails', group: :development
37
-
38
- group :development, :test do
39
- # Call 'byebug' anywhere in the code to stop execution and get a debugger console
40
- gem 'byebug', platform: :mri
41
- gem 'rspec-rails', '~> 3.7'
42
- gem 'simplecov', '~> 0.15'
43
- gem 'codecov', '~> 0.1'
44
- gem 'database_cleaner', '1.6.1'
45
- end
46
-
47
- group :development do
48
- # Access an IRB console on exception pages or by using <%= console %> anywhere in the code.
49
- gem 'web-console', '>= 3.3.0'
50
- end
51
-
52
- # Windows does not include zoneinfo files, so bundle the tzinfo-data gem
53
- gem 'tzinfo-data', platforms: [:mingw, :mswin, :x64_mingw, :jruby]
54
-
55
- # Ryan added
56
- gem 'rest-client' # For examples
57
- gem 'childprocess'
58
-
59
- if RUBY_ENGINE == 'ruby'
60
- gem 'pg', '~> 0.21'
61
- else
62
- gem 'activerecord-jdbcpostgresql-adapter', '~> 51.1'
63
- end
64
-
65
- if ENV['COSMOS_DEVEL']
66
- gem 'cosmos', :path => ENV['COSMOS_DEVEL']
67
- else
68
- gem 'cosmos'
69
- end