MonkeyEngine 2.0.2 → 2.0.4

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: e6999ecf2d6d8a4c2f0db40d32f38d619a40c55ce53e6616c381650f650500d3
4
- data.tar.gz: 21b27a1563e5c59d980c980e4e6c3a6d5bf2c79c0d6c607109a0f165566126dd
3
+ metadata.gz: b0ca0e2d0bd1bc980afad43250bd1e3f736ee8e1cafe442c25ba213c623b604b
4
+ data.tar.gz: dab1d3474a450607207ae25ea8f1c439da095e199b60108c91175a6671edb671
5
5
  SHA512:
6
- metadata.gz: 0c2f2e708dbc90200c22f3d54267724ccaa881d16a21f6628249b11c02a465ae3442b05d8d9a5161ea7b9b02ca66b386f1c4ce378ecd34020effd98795fd99fd
7
- data.tar.gz: 02fb5c756fd169cd9c5f4c90d578c7fcac045a0a2406e4c4e202fe154ecf2270ebaab9103470269de1e861851da9ff53cf01e3b816a28154bcfa0c369dd0dc71
6
+ metadata.gz: 64277975b02e8b3b1919b65774d7f0656841b6fa91a4b23a890c4f3f074e1d1eda606451d951a2a510145d88b670040323f1f808fd4931160dbf24bb9707b8ca
7
+ data.tar.gz: 9180881257c44897367811b0c6b5de26e58c15a4c966d8fac01dd2dbac9e56df8757e317923cd59542dfde4cd7b3d87de48d77c98dcfcf3843fa68b75ef82835
@@ -0,0 +1,43 @@
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: ["main"]
13
+ pull_request:
14
+ branches: ["main"]
15
+
16
+ permissions:
17
+ contents: read
18
+
19
+ jobs:
20
+ test:
21
+ runs-on: ubuntu-latest
22
+ strategy:
23
+ matrix:
24
+ # Use `rbenv install -l` and only use the latest stable
25
+ # version of ruby.
26
+ ruby-version: ["3.0.1", "3.0.6", "3.1.4", "3.2.2"]
27
+
28
+ steps:
29
+ - uses: actions/checkout@v3
30
+ - name: Set timezone
31
+ run: sudo timedatectl set-timezone 'America/New_York'
32
+ - name: Run a command
33
+ run: date
34
+ - name: Set up Ruby
35
+ # To automatically get bug fixes and new Ruby versions for ruby/setup-ruby,
36
+ # change this to (see https://github.com/ruby/setup-ruby#versioning):
37
+ # uses: ruby/setup-ruby@v1
38
+ uses: ruby/setup-ruby@55283cc23133118229fd3f97f9336ee23a179fcf # v1.146.0
39
+ with:
40
+ ruby-version: ${{ matrix.ruby-version }}
41
+ bundler-cache: true # runs 'bundle install' and caches installed gems automatically
42
+ - name: Run tests
43
+ run: bundle exec rake
data/CHANGELOG.md CHANGED
@@ -1,3 +1,14 @@
1
+ ### Version 2.0.4 2023-12-28
2
+
3
+ Changes
4
+
5
+ - Update ruby gems.
6
+ - Add github actions to run specs.
7
+ - Change the time task engine:run takes to run from 120 seconds to 30 seconds.
8
+
9
+ ### Version 2.0.3 2023-12-02
10
+ - Update ruby gems.
11
+
1
12
  ### Version 2.0.2 2023-11-01
2
13
  - Update ruby gems.
3
14
 
data/Gemfile CHANGED
@@ -4,3 +4,11 @@ source 'https://rubygems.org'
4
4
 
5
5
  # Specify your gem's dependencies in monkeyengine.gemspec
6
6
  gemspec
7
+
8
+ gem 'bundler', '~> 2.5', '>= 2.5.3'
9
+ gem 'colorize', '>= 0.8.1', '< 1.0'
10
+ gem 'pry-byebug', '>= 3.9', '< 4.0'
11
+ gem 'rake', '>= 13.0', '< 14.0'
12
+ gem 'redcarpet', '>= 2.3', '< 3.0'
13
+ gem 'rspec', '>= 3.10', '< 4.0'
14
+ gem 'yard', '>= 0.9.28', '< 1.0'
data/Gemfile.lock CHANGED
@@ -1,30 +1,41 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- MonkeyEngine (2.0.2)
5
- LittleWeasel (~> 5.0, >= 5.0.3)
6
- ProtectedConstructor (~> 2.0, >= 2.0.3)
4
+ MonkeyEngine (2.0.4)
5
+ LittleWeasel (>= 5.0, < 6.0)
6
+ ProtectedConstructor (~> 3.0)
7
7
 
8
8
  GEM
9
9
  remote: https://rubygems.org/
10
10
  specs:
11
- LittleWeasel (5.0.7)
12
- activesupport (~> 7.0.8)
13
- ProtectedConstructor (2.1.5)
14
- activesupport (7.0.8)
11
+ LittleWeasel (5.0.9)
12
+ activesupport (>= 7.0.8, < 8.0)
13
+ ProtectedConstructor (3.0.0)
14
+ activesupport (7.1.2)
15
+ base64
16
+ bigdecimal
15
17
  concurrent-ruby (~> 1.0, >= 1.0.2)
18
+ connection_pool (>= 2.2.5)
19
+ drb
16
20
  i18n (>= 1.6, < 2)
17
21
  minitest (>= 5.1)
22
+ mutex_m
18
23
  tzinfo (~> 2.0)
24
+ base64 (0.2.0)
25
+ bigdecimal (3.1.5)
19
26
  byebug (11.1.3)
20
27
  coderay (1.1.3)
21
28
  colorize (0.8.1)
22
29
  concurrent-ruby (1.2.2)
30
+ connection_pool (2.4.1)
23
31
  diff-lcs (1.5.0)
32
+ drb (2.2.0)
33
+ ruby2_keywords
24
34
  i18n (1.14.1)
25
35
  concurrent-ruby (~> 1.0)
26
36
  method_source (1.0.0)
27
37
  minitest (5.20.0)
38
+ mutex_m (0.2.0)
28
39
  pry (0.14.2)
29
40
  coderay (~> 1.1)
30
41
  method_source (~> 1.0)
@@ -46,6 +57,7 @@ GEM
46
57
  diff-lcs (>= 1.2.0, < 2.0)
47
58
  rspec-support (~> 3.12.0)
48
59
  rspec-support (3.12.1)
60
+ ruby2_keywords (0.0.5)
49
61
  tzinfo (2.0.6)
50
62
  concurrent-ruby (~> 1.0)
51
63
  yard (0.9.34)
@@ -53,16 +65,17 @@ GEM
53
65
  PLATFORMS
54
66
  x86_64-darwin-19
55
67
  x86_64-darwin-21
68
+ x86_64-linux
56
69
 
57
70
  DEPENDENCIES
58
71
  MonkeyEngine!
59
- bundler (~> 2.4, >= 2.4.21)
60
- colorize (~> 0.8.1)
61
- pry-byebug (~> 3.9)
62
- rake (~> 13.0, >= 13.0.6)
63
- redcarpet (~> 2.3, >= 2.3.0)
64
- rspec (~> 3.10)
65
- yard (~> 0.9.28)
72
+ bundler (~> 2.5, >= 2.5.3)
73
+ colorize (>= 0.8.1, < 1.0)
74
+ pry-byebug (>= 3.9, < 4.0)
75
+ rake (>= 13.0, < 14.0)
76
+ redcarpet (>= 2.3, < 3.0)
77
+ rspec (>= 3.10, < 4.0)
78
+ yard (>= 0.9.28, < 1.0)
66
79
 
67
80
  BUNDLED WITH
68
- 2.4.21
81
+ 2.5.3
data/Rakefile CHANGED
@@ -1,4 +1,10 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- require 'bundler/gem_tasks'
3
+ require "bundler/gem_tasks"
4
+ require "rspec/core/rake_task"
5
+
4
6
  require File.expand_path('lib/tasks/engine.rb', __dir__)
7
+
8
+ RSpec::Core::RakeTask.new(:spec)
9
+
10
+ task default: :spec
data/lib/Monkey/monkey.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  require 'MonkeyActions'
4
4
  require 'MonkeyService'
5
- require 'ProtectedConstructor'
5
+ require 'protected_constructor'
6
6
 
7
7
  # Monkey class.
8
8
  #
@@ -7,7 +7,7 @@ class MonkeyAction < Action
7
7
  attr_reader :monkey
8
8
 
9
9
  def initialize(monkey, value, weight)
10
- super value, weight
10
+ super(value, weight)
11
11
 
12
12
  @monkey = monkey
13
13
  end
@@ -10,7 +10,7 @@ class MonkeyActionDead < MonkeyAction
10
10
  VALID_VALUES = [true].freeze
11
11
 
12
12
  def initialize(monkey)
13
- super monkey, true, WEIGHT
13
+ super(monkey, true, WEIGHT)
14
14
 
15
15
  validate
16
16
  end
@@ -13,7 +13,7 @@ class MonkeyActionEat < MonkeyTimedAction
13
13
  VALID_VALUES = (30..60) # 30 through 60 minutes
14
14
 
15
15
  def initialize(monkey, value)
16
- super monkey, value, WEIGHT
16
+ super(monkey, value, WEIGHT)
17
17
 
18
18
  @action_time_of_completion = @action_time + (value * 60)
19
19
 
@@ -13,7 +13,7 @@ class MonkeyActionPause < MonkeyTimedAction
13
13
  VALID_VALUES = (0..60) # Seconds (0 - 60 seconds)
14
14
 
15
15
  def initialize(monkey, value)
16
- super monkey, value, WEIGHT
16
+ super(monkey, value, WEIGHT)
17
17
 
18
18
  @action_time_of_completion = @action_time + value
19
19
 
@@ -13,7 +13,7 @@ class MonkeyActionSleep < MonkeyTimedAction
13
13
  VALID_VALUES = ((60 * 6)..(60 * 8)) # 6 through 8 hours
14
14
 
15
15
  def initialize(monkey, value)
16
- super monkey, value, WEIGHT
16
+ super(monkey, value, WEIGHT)
17
17
 
18
18
  @action_time_of_completion = @action_time + (value * (60 * 60))
19
19
 
@@ -21,7 +21,7 @@ class MonkeyActionType < MonkeyAction
21
21
 
22
22
  @keyboard_input = keyboard_input
23
23
 
24
- super monkey, @keyboard_input.input, WEIGHT
24
+ super(monkey, @keyboard_input.input, WEIGHT)
25
25
 
26
26
  validate
27
27
  end
@@ -10,7 +10,7 @@ class MonkeyActionWake < MonkeyAction
10
10
  VALID_VALUES = [true].freeze
11
11
 
12
12
  def initialize(monkey)
13
- super monkey, true, WEIGHT
13
+ super(monkey, true, WEIGHT)
14
14
 
15
15
  validate
16
16
  end
@@ -8,7 +8,7 @@ class MonkeyTimedAction < MonkeyAction
8
8
  attr_accessor :action_time_of_completion
9
9
 
10
10
  def initialize(monkey, value, weight)
11
- super monkey, value, weight
11
+ super(monkey, value, weight)
12
12
 
13
13
  @action_time_of_completion = nil
14
14
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module MonkeyEngine
4
- VERSION = '2.0.2'
4
+ VERSION = '2.0.4'
5
5
  end
data/lib/tasks/engine.rb CHANGED
@@ -63,7 +63,7 @@ end
63
63
  namespace :engine do
64
64
  desc 'Run the MonkeyEngine'
65
65
  task :run do
66
- runtime = 60 * 2
66
+ runtime = 30
67
67
 
68
68
  service = MonkeyEngine::MonkeyService.instance
69
69
 
data/monkeyengine.gemspec CHANGED
@@ -18,21 +18,22 @@ Gem::Specification.new do |spec|
18
18
  spec.summary = 'The engine that drives my monkeys!'
19
19
  spec.homepage = 'https://github.com/gangelo/monkeyengine'
20
20
  spec.license = 'MIT'
21
- spec.required_ruby_version = '>= 3.0.1'
21
+ spec.required_ruby_version = Gem::Requirement.new('~> 3.0')
22
22
 
23
23
  spec.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
24
24
  spec.executables = spec.files.grep(%r{^bin/}) { |f| File.basename(f) }
25
25
  spec.test_files = spec.files.grep(%r{^(test|spec|features)/})
26
26
  spec.require_paths = ['lib']
27
27
 
28
- spec.add_development_dependency 'bundler', '~> 2.4', '>= 2.4.21'
29
- spec.add_development_dependency 'colorize', '~> 0.8.1'
30
- spec.add_development_dependency 'pry-byebug', '~> 3.9'
31
- spec.add_development_dependency 'rake', '~> 13.0', '>= 13.0.6'
32
- spec.add_development_dependency 'redcarpet', '~> 2.3', '>= 2.3.0'
33
- spec.add_development_dependency 'rspec', '~> 3.10'
34
- spec.add_development_dependency 'yard', '~> 0.9.28'
28
+ spec.add_runtime_dependency 'LittleWeasel', '>= 5.0', '< 6.0'
29
+ spec.add_runtime_dependency 'ProtectedConstructor', '~> 3.0'
30
+ spec.post_install_message = <<~POST_INSTALL
31
+ Thank you for installing MonkeyEngine.
35
32
 
36
- spec.add_runtime_dependency 'LittleWeasel', '~> 5.0', '>= 5.0.3'
37
- spec.add_runtime_dependency 'ProtectedConstructor', '~> 2.0', '>= 2.0.3'
33
+ *** If you found this gem enjoyable, helpful or otherwise positive, please consider giving it a star on GitHub so I know this gem is worth maintaining ***
34
+
35
+ This is a gem created for fun and demonstrates a little about ruby threads.
36
+
37
+ Run `bundle exec rake engine:run` from your command line to see a sample.
38
+ POST_INSTALL
38
39
  end
metadata CHANGED
@@ -1,171 +1,49 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MonkeyEngine
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.2
4
+ version: 2.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Gene M. Angelo, Jr.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-11-01 00:00:00.000000000 Z
11
+ date: 2023-12-28 00:00:00.000000000 Z
12
12
  dependencies:
13
- - !ruby/object:Gem::Dependency
14
- name: bundler
15
- requirement: !ruby/object:Gem::Requirement
16
- requirements:
17
- - - "~>"
18
- - !ruby/object:Gem::Version
19
- version: '2.4'
20
- - - ">="
21
- - !ruby/object:Gem::Version
22
- version: 2.4.21
23
- type: :development
24
- prerelease: false
25
- version_requirements: !ruby/object:Gem::Requirement
26
- requirements:
27
- - - "~>"
28
- - !ruby/object:Gem::Version
29
- version: '2.4'
30
- - - ">="
31
- - !ruby/object:Gem::Version
32
- version: 2.4.21
33
- - !ruby/object:Gem::Dependency
34
- name: colorize
35
- requirement: !ruby/object:Gem::Requirement
36
- requirements:
37
- - - "~>"
38
- - !ruby/object:Gem::Version
39
- version: 0.8.1
40
- type: :development
41
- prerelease: false
42
- version_requirements: !ruby/object:Gem::Requirement
43
- requirements:
44
- - - "~>"
45
- - !ruby/object:Gem::Version
46
- version: 0.8.1
47
- - !ruby/object:Gem::Dependency
48
- name: pry-byebug
49
- requirement: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - "~>"
52
- - !ruby/object:Gem::Version
53
- version: '3.9'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
- requirements:
58
- - - "~>"
59
- - !ruby/object:Gem::Version
60
- version: '3.9'
61
- - !ruby/object:Gem::Dependency
62
- name: rake
63
- requirement: !ruby/object:Gem::Requirement
64
- requirements:
65
- - - "~>"
66
- - !ruby/object:Gem::Version
67
- version: '13.0'
68
- - - ">="
69
- - !ruby/object:Gem::Version
70
- version: 13.0.6
71
- type: :development
72
- prerelease: false
73
- version_requirements: !ruby/object:Gem::Requirement
74
- requirements:
75
- - - "~>"
76
- - !ruby/object:Gem::Version
77
- version: '13.0'
78
- - - ">="
79
- - !ruby/object:Gem::Version
80
- version: 13.0.6
81
- - !ruby/object:Gem::Dependency
82
- name: redcarpet
83
- requirement: !ruby/object:Gem::Requirement
84
- requirements:
85
- - - "~>"
86
- - !ruby/object:Gem::Version
87
- version: '2.3'
88
- - - ">="
89
- - !ruby/object:Gem::Version
90
- version: 2.3.0
91
- type: :development
92
- prerelease: false
93
- version_requirements: !ruby/object:Gem::Requirement
94
- requirements:
95
- - - "~>"
96
- - !ruby/object:Gem::Version
97
- version: '2.3'
98
- - - ">="
99
- - !ruby/object:Gem::Version
100
- version: 2.3.0
101
- - !ruby/object:Gem::Dependency
102
- name: rspec
103
- requirement: !ruby/object:Gem::Requirement
104
- requirements:
105
- - - "~>"
106
- - !ruby/object:Gem::Version
107
- version: '3.10'
108
- type: :development
109
- prerelease: false
110
- version_requirements: !ruby/object:Gem::Requirement
111
- requirements:
112
- - - "~>"
113
- - !ruby/object:Gem::Version
114
- version: '3.10'
115
- - !ruby/object:Gem::Dependency
116
- name: yard
117
- requirement: !ruby/object:Gem::Requirement
118
- requirements:
119
- - - "~>"
120
- - !ruby/object:Gem::Version
121
- version: 0.9.28
122
- type: :development
123
- prerelease: false
124
- version_requirements: !ruby/object:Gem::Requirement
125
- requirements:
126
- - - "~>"
127
- - !ruby/object:Gem::Version
128
- version: 0.9.28
129
13
  - !ruby/object:Gem::Dependency
130
14
  name: LittleWeasel
131
15
  requirement: !ruby/object:Gem::Requirement
132
16
  requirements:
133
- - - "~>"
17
+ - - ">="
134
18
  - !ruby/object:Gem::Version
135
19
  version: '5.0'
136
- - - ">="
20
+ - - "<"
137
21
  - !ruby/object:Gem::Version
138
- version: 5.0.3
22
+ version: '6.0'
139
23
  type: :runtime
140
24
  prerelease: false
141
25
  version_requirements: !ruby/object:Gem::Requirement
142
26
  requirements:
143
- - - "~>"
27
+ - - ">="
144
28
  - !ruby/object:Gem::Version
145
29
  version: '5.0'
146
- - - ">="
30
+ - - "<"
147
31
  - !ruby/object:Gem::Version
148
- version: 5.0.3
32
+ version: '6.0'
149
33
  - !ruby/object:Gem::Dependency
150
34
  name: ProtectedConstructor
151
35
  requirement: !ruby/object:Gem::Requirement
152
36
  requirements:
153
37
  - - "~>"
154
38
  - !ruby/object:Gem::Version
155
- version: '2.0'
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- version: 2.0.3
39
+ version: '3.0'
159
40
  type: :runtime
160
41
  prerelease: false
161
42
  version_requirements: !ruby/object:Gem::Requirement
162
43
  requirements:
163
44
  - - "~>"
164
45
  - !ruby/object:Gem::Version
165
- version: '2.0'
166
- - - ">="
167
- - !ruby/object:Gem::Version
168
- version: 2.0.3
46
+ version: '3.0'
169
47
  description: Have some fun! MonkeyEngine is a gem that allows virtual monkeys to tap
170
48
  away on a virtual keyboard! Can any of them complete a sentence? write a book? The
171
49
  sky is the limit! Add your own AI! Publish the results! Go...BANANAS!
@@ -175,6 +53,7 @@ executables: []
175
53
  extensions: []
176
54
  extra_rdoc_files: []
177
55
  files:
56
+ - ".github/workflows/ruby.yml"
178
57
  - ".gitignore"
179
58
  - ".rspec"
180
59
  - ".rubocop.yml"
@@ -237,15 +116,22 @@ homepage: https://github.com/gangelo/monkeyengine
237
116
  licenses:
238
117
  - MIT
239
118
  metadata: {}
240
- post_install_message:
119
+ post_install_message: |
120
+ Thank you for installing MonkeyEngine.
121
+
122
+ *** If you found this gem enjoyable, helpful or otherwise positive, please consider giving it a star on GitHub so I know this gem is worth maintaining ***
123
+
124
+ This is a gem created for fun and demonstrates a little about ruby threads.
125
+
126
+ Run `bundle exec rake engine:run` from your command line to see a sample.
241
127
  rdoc_options: []
242
128
  require_paths:
243
129
  - lib
244
130
  required_ruby_version: !ruby/object:Gem::Requirement
245
131
  requirements:
246
- - - ">="
132
+ - - "~>"
247
133
  - !ruby/object:Gem::Version
248
- version: 3.0.1
134
+ version: '3.0'
249
135
  required_rubygems_version: !ruby/object:Gem::Requirement
250
136
  requirements:
251
137
  - - ">="