cureutils 1.7.0 → 1.7.1

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: e5325c86401682376270285954d1e3052a558d55fd7156dc0d6fac636a08704c
4
- data.tar.gz: fcd6ebd3ba614472f1055714518938a25977ace6d43a08eda1a731766150401d
3
+ metadata.gz: 1b0468e9cf1e31278ced6428c14273c605295b3e19d0cabf56ca4a8d56c312eb
4
+ data.tar.gz: 2e213fce61c0a5a935217c2463e3cf10dee74fc86c8f21988c72859c01192b77
5
5
  SHA512:
6
- metadata.gz: ebcc1c4edf0b4d6052ce97a5853e4dc070cb1ee9bd002d5c10eb04f0d04da455dd85cd87b9b1502d4b5281ce06c4bb9ce48bf6546f563a2756a769aedff847ec
7
- data.tar.gz: ece94ad9561a046a5e6ce94e4e42da826ae517ab307d92b23a966fd8f4ef16f7b49139ba13be74c3fed534273b300c82dadc74963c86d831b7c33677fd28ad6a
6
+ metadata.gz: 11552917bbd9a076b975379d891fd68ca9a7135310773851565a5f2507a48af2f075875a80fef69598e9db842c1e455ae9847dce8d68ff487c9f20ade600609b
7
+ data.tar.gz: db1c6bec7399a44308cd8d0241e6a9fa49effa9623adc5232219565732a1b2c65277f0ae255fc12a3400d150155a5fb3c4f8db73e1e25842f9176ab729dbbf44
data/cureutils.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_development_dependency 'rake', '>= 12.3.3'
22
22
  spec.add_development_dependency 'rspec', '~> 3.0'
23
23
  spec.add_dependency 'thor', ['>= 0.19.1', '< 2']
24
- spec.add_dependency 'rubicure', '~> 3.2.0'
24
+ spec.add_dependency 'rubicure', ['>= 3.2.0', '< 5.0']
25
25
  spec.add_dependency 'colorize', '~> 0.7.7'
26
26
  spec.add_dependency 'activesupport', '>= 5.0.0'
27
27
  end
@@ -21,21 +21,41 @@ class JankenLogic < BaseLogic
21
21
  @buf = []
22
22
  end
23
23
 
24
- attr_writer :io
25
-
26
24
  def puts(input)
27
25
  @buf << input
28
26
  end
29
27
 
28
+ # Ruby requires the object assigned to $stdout to respond to #write.
29
+ # Rubicure prints with Kernel#puts, so #puts is what collects the message,
30
+ # but #write has to exist for the assignment to be accepted.
31
+ def write(*args)
32
+ args.each { |arg| @buf << arg.to_s }
33
+ args.sum { |arg| arg.to_s.length }
34
+ end
35
+
30
36
  def janken
31
- Cure.peace.io = self
32
- Cure.peace.janken
37
+ capture_message { Cure.peace.janken }
33
38
  @buf[0..1].each do |msg|
34
39
  @out.puts msg
35
40
  end
36
41
  judge
37
42
  end
38
43
 
44
+ # Rubicure::Girl#print_by_line writes the message with Kernel#puts, which
45
+ # always goes to $stdout. Rubicure::Girl is a Hash with MethodAccess, so
46
+ # `Cure.peace.io = self` just stored a Hash key and never redirected the
47
+ # output. As a result @buf stayed empty, the hand was printed before the
48
+ # player's input and #generated_te always fell back to 0 (グー).
49
+ # Swapping $stdout keeps the message in @buf without depending on
50
+ # Rubicure's internals.
51
+ def capture_message
52
+ original_stdout = $stdout
53
+ $stdout = self
54
+ yield
55
+ ensure
56
+ $stdout = original_stdout
57
+ end
58
+
39
59
  def generated_te
40
60
  @buf.last =~ /(#{@te_idx.join('|')})/
41
61
  @te_hash[Regexp.last_match(1)].to_i
@@ -3,7 +3,7 @@ module Cureutils
3
3
  class Version
4
4
  MAJOR = 1
5
5
  MINOR = 7
6
- PATCH = 0
6
+ PATCH = 1
7
7
  PRE = nil
8
8
 
9
9
  class << self
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cureutils
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yamada, Yasuhiro
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-01-05 00:00:00.000000000 Z
10
+ date: 2026-09-06 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -76,16 +75,22 @@ dependencies:
76
75
  name: rubicure
77
76
  requirement: !ruby/object:Gem::Requirement
78
77
  requirements:
79
- - - "~>"
78
+ - - ">="
80
79
  - !ruby/object:Gem::Version
81
80
  version: 3.2.0
81
+ - - "<"
82
+ - !ruby/object:Gem::Version
83
+ version: '5.0'
82
84
  type: :runtime
83
85
  prerelease: false
84
86
  version_requirements: !ruby/object:Gem::Requirement
85
87
  requirements:
86
- - - "~>"
88
+ - - ">="
87
89
  - !ruby/object:Gem::Version
88
90
  version: 3.2.0
91
+ - - "<"
92
+ - !ruby/object:Gem::Version
93
+ version: '5.0'
89
94
  - !ruby/object:Gem::Dependency
90
95
  name: colorize
91
96
  requirement: !ruby/object:Gem::Requirement
@@ -151,7 +156,6 @@ homepage: https://github.com/greymd/cureutils
151
156
  licenses:
152
157
  - MIT
153
158
  metadata: {}
154
- post_install_message:
155
159
  rdoc_options: []
156
160
  require_paths:
157
161
  - lib
@@ -166,8 +170,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
166
170
  - !ruby/object:Gem::Version
167
171
  version: '0'
168
172
  requirements: []
169
- rubygems_version: 3.5.3
170
- signing_key:
173
+ rubygems_version: 3.6.2
171
174
  specification_version: 4
172
175
  summary: Useful commands for battle heroine Pretty Cure (Precure).
173
176
  test_files: []