gem_hadar 2.1.1 → 2.2.0

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: 6f80fd7e8e7fa6116e516cc1fc63041d19e4ef916205e9c8541117fce4078d73
4
- data.tar.gz: e8b2788af255219c8c1f3509533510e1fa9a414195f41a876be53d5a7822a031
3
+ metadata.gz: 62755aa1cbfb311e04bcc2ad17d5f22ef49199240365e9b11f3cc368248efc51
4
+ data.tar.gz: 8d0a742e9d69d7c3d5e097f840c27be4669f91503bbab30961f445b75585094a
5
5
  SHA512:
6
- metadata.gz: 7f94cd3bbd98c8cf88d5bbbec3a2d5a9ea7a0a2a11c7fe2f3972d5e90acd79539a8bcfaf77d0d4fd7ce4d3dcc4558b672c1de1db46da175dff277c7fd8f79fec
7
- data.tar.gz: 2e5946559f4915a95db70d4580e4befe682b247798216eb4e3926699a2eb35649a478037d38358c64511858aaf56895e32721b52b2501398b26ebaeab27a8650
6
+ metadata.gz: 13b7b4691b0522d9693a010a74faffdc94ce5ca89efd191216ea0443ec8b76a16d9d5c92b309f6a951e2bb00489e0b5daf327177fcd3d1cd38888b12e579d9ab
7
+ data.tar.gz: 1a9c039a323a87204f1a36db1fe7e38b980fec53d7712105c0e1505f01bdeaf3182627924b6cf4a1e9c2ccc695756138f09427ee7622b554784d7c2829933dde
data/Rakefile CHANGED
@@ -3,24 +3,27 @@
3
3
  require 'gem_hadar'
4
4
 
5
5
  GemHadar do
6
- name 'gem_hadar'
7
- module_type :class
8
- author 'Florian Frank'
9
- email 'flori@ping.de'
10
- homepage "https://github.com/flori/#{name}"
11
- summary 'Library for the development of Ruby Gems'
12
- description 'This library contains some useful functionality to support the development of Ruby Gems'
13
- ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.AppleDouble', '.bundle', '.yardoc', 'tags'
14
- readme 'README.md'
6
+ name 'gem_hadar'
7
+ module_type :class
8
+ author 'Florian Frank'
9
+ email 'flori@ping.de'
10
+ homepage "https://github.com/flori/#{name}"
11
+ summary 'Library for the development of Ruby Gems'
12
+ description 'This library contains some useful functionality to support the development of Ruby Gems'
13
+ test_dir 'spec'
14
+ ignore '.*.sw[pon]', 'pkg', 'Gemfile.lock', '.AppleDouble', '.bundle', '.yardoc', 'tags'
15
+ package_ignore '.gitignore', 'VERSION'
16
+ readme 'README.md'
15
17
 
16
18
  executables << 'gem_hadar'
17
19
 
18
- dependency 'tins', '~> 1.0'
19
- dependency 'term-ansicolor', '~> 1.0'
20
- dependency 'ollama-ruby', '~> 1.0'
21
- dependency 'mize'
22
- dependency 'rake'
23
- dependency 'yard'
20
+ dependency 'tins', '~> 1.0'
21
+ dependency 'term-ansicolor', '~> 1.0'
22
+ dependency 'ollama-ruby', '~> 1.0'
23
+ dependency 'mize'
24
+ dependency 'rake'
25
+ dependency 'yard'
26
+ development_dependency 'rspec', '~> 3.13'
24
27
 
25
28
  licenses << 'MIT'
26
29
  end
data/gem_hadar.gemspec CHANGED
@@ -1,9 +1,9 @@
1
1
  # -*- encoding: utf-8 -*-
2
- # stub: gem_hadar 2.1.1 ruby lib
2
+ # stub: gem_hadar 2.2.0 ruby lib
3
3
 
4
4
  Gem::Specification.new do |s|
5
5
  s.name = "gem_hadar".freeze
6
- s.version = "2.1.1".freeze
6
+ s.version = "2.2.0".freeze
7
7
 
8
8
  s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
9
9
  s.require_paths = ["lib".freeze]
@@ -13,16 +13,18 @@ Gem::Specification.new do |s|
13
13
  s.email = "flori@ping.de".freeze
14
14
  s.executables = ["gem_hadar".freeze]
15
15
  s.extra_rdoc_files = ["README.md".freeze, "lib/gem_hadar.rb".freeze, "lib/gem_hadar/github.rb".freeze, "lib/gem_hadar/prompt_template.rb".freeze, "lib/gem_hadar/setup.rb".freeze, "lib/gem_hadar/simplecov.rb".freeze, "lib/gem_hadar/template_compiler.rb".freeze, "lib/gem_hadar/utils.rb".freeze, "lib/gem_hadar/version.rb".freeze, "lib/gem_hadar/warn.rb".freeze]
16
- s.files = [".gitignore".freeze, "Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "VERSION".freeze, "bin/gem_hadar".freeze, "gem_hadar.gemspec".freeze, "lib/gem_hadar.rb".freeze, "lib/gem_hadar/github.rb".freeze, "lib/gem_hadar/prompt_template.rb".freeze, "lib/gem_hadar/setup.rb".freeze, "lib/gem_hadar/simplecov.rb".freeze, "lib/gem_hadar/template_compiler.rb".freeze, "lib/gem_hadar/utils.rb".freeze, "lib/gem_hadar/version.rb".freeze, "lib/gem_hadar/warn.rb".freeze]
16
+ s.files = ["Gemfile".freeze, "LICENSE".freeze, "README.md".freeze, "Rakefile".freeze, "bin/gem_hadar".freeze, "gem_hadar.gemspec".freeze, "lib/gem_hadar.rb".freeze, "lib/gem_hadar/github.rb".freeze, "lib/gem_hadar/prompt_template.rb".freeze, "lib/gem_hadar/setup.rb".freeze, "lib/gem_hadar/simplecov.rb".freeze, "lib/gem_hadar/template_compiler.rb".freeze, "lib/gem_hadar/utils.rb".freeze, "lib/gem_hadar/version.rb".freeze, "lib/gem_hadar/warn.rb".freeze, "spec/gem_hadar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
17
17
  s.homepage = "https://github.com/flori/gem_hadar".freeze
18
18
  s.licenses = ["MIT".freeze]
19
19
  s.rdoc_options = ["--title".freeze, "GemHadar - Library for the development of Ruby Gems".freeze, "--main".freeze, "README.md".freeze]
20
20
  s.rubygems_version = "3.6.9".freeze
21
21
  s.summary = "Library for the development of Ruby Gems".freeze
22
+ s.test_files = ["spec/gem_hadar_spec.rb".freeze, "spec/spec_helper.rb".freeze]
22
23
 
23
24
  s.specification_version = 4
24
25
 
25
26
  s.add_development_dependency(%q<gem_hadar>.freeze, ["~> 2.1".freeze])
27
+ s.add_development_dependency(%q<rspec>.freeze, ["~> 3.13".freeze])
26
28
  s.add_runtime_dependency(%q<tins>.freeze, ["~> 1.0".freeze])
27
29
  s.add_runtime_dependency(%q<term-ansicolor>.freeze, ["~> 1.0".freeze])
28
30
  s.add_runtime_dependency(%q<ollama-ruby>.freeze, ["~> 1.0".freeze])
@@ -149,17 +149,41 @@ module GemHadar::SimpleCov
149
149
  class << self
150
150
  include Term::ANSIColor
151
151
 
152
+ # The default_block method returns a lambda that configures SimpleCov with
153
+ # branch coverage and multiple formatters.
154
+ #
155
+ # This method constructs a default configuration block for SimpleCov that
156
+ # enables branch coverage, adds a filter based on the caller's directory,
157
+ # and sets up a multi-formatter including SimpleFormatter, HTMLFormatter,
158
+ # and a custom ContextFormatter.
159
+ #
160
+ # @return [ Proc ] a lambda configuring SimpleCov with coverage settings
161
+ # and formatters
162
+ def default_block
163
+ filter = "#{File.basename(File.dirname(caller.first))}/"
164
+ -> {
165
+ enable_coverage :branch
166
+ add_filter filter
167
+ formatter SimpleCov::Formatter::MultiFormatter.new([
168
+ SimpleCov::Formatter::SimpleFormatter,
169
+ SimpleCov::Formatter::HTMLFormatter,
170
+ GemHadar::SimpleCov::ContextFormatter,
171
+ ])
172
+ }
173
+ end
174
+
152
175
  # The start method initializes and configures SimpleCov for code coverage
153
176
  # analysis.
154
177
  #
155
- # This method checks if the START_SIMPLECOV environment variable is set to
156
- # 1 before proceeding with SimpleCov setup. If disabled, it outputs a
157
- # message indicating that SimpleCov startup is skipped. When enabled, it
158
- # requires the simplecov gem, configures coverage to include branch
159
- # coverage, adds a filter based on the caller's directory, and sets up
160
- # multiple formatters including SimpleFormatter, HTMLFormatter, and a
161
- # custom ContextFormatter.
162
- def start
178
+ # This method sets up SimpleCov with optional profile and block
179
+ # configuration, but only if the START_SIMPLECOV environment variable is
180
+ # set to 1. It handles the case where SimpleCov is not available by
181
+ # displaying a warning and installation instructions.
182
+ #
183
+ # @param profile [ String, nil ] the SimpleCov profile to use for
184
+ # configuration
185
+ # @param block [ Proc, nil ] optional block containing custom configuration
186
+ def start(profile = nil, &block)
163
187
  if ENV['START_SIMPLECOV'].to_i != 1
164
188
  STDERR.puts color(226) {
165
189
  "Skip starting Simplecov for code coverage, "\
@@ -169,16 +193,8 @@ module GemHadar::SimpleCov
169
193
  end
170
194
  require 'simplecov'
171
195
  STDERR.puts color(76) { "Configuring Simplecov for code coverage." }
172
- filter = "#{File.basename(File.dirname(caller.first))}/"
173
- SimpleCov.start do
174
- enable_coverage :branch
175
- add_filter filter
176
- formatter SimpleCov::Formatter::MultiFormatter.new([
177
- SimpleCov::Formatter::SimpleFormatter,
178
- SimpleCov::Formatter::HTMLFormatter,
179
- GemHadar::SimpleCov::ContextFormatter,
180
- ])
181
- end
196
+ block ||= default_block
197
+ SimpleCov.start(profile, &block)
182
198
  rescue LoadError => e
183
199
  warn "Caught #{e.class}: #{e}"
184
200
  STDERR.puts "Install with: gem install simplecov"
@@ -1,6 +1,6 @@
1
1
  class GemHadar
2
2
  # GemHadar version
3
- VERSION = '2.1.1'
3
+ VERSION = '2.2.0'
4
4
  VERSION_ARRAY = VERSION.split('.').map(&:to_i) # :nodoc:
5
5
  VERSION_MAJOR = VERSION_ARRAY[0] # :nodoc:
6
6
  VERSION_MINOR = VERSION_ARRAY[1] # :nodoc:
data/lib/gem_hadar.rb CHANGED
@@ -1713,7 +1713,7 @@ class GemHadar
1713
1713
  base_url = 'http://%s' % host
1714
1714
  end
1715
1715
  base_url.present? or return
1716
- ollama = Ollama::Client.new(base_url:, read_timeout: 600, connect_timeout: 60)
1716
+ Ollama::Client.new(base_url:, read_timeout: 600, connect_timeout: 60)
1717
1717
  end
1718
1718
 
1719
1719
  # Generates a response from an AI model using the Ollama::Client.
@@ -0,0 +1,5 @@
1
+ require 'spec_helper'
2
+
3
+ describe GemHadar do
4
+ it 'is fine'
5
+ end
@@ -0,0 +1,8 @@
1
+ require 'gem_hadar/simplecov'
2
+ GemHadar::SimpleCov.start
3
+ require 'rspec'
4
+ begin
5
+ require 'debug'
6
+ rescue LoadError
7
+ end
8
+ require 'gem_hadar'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gem_hadar
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.1.1
4
+ version: 2.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Florian Frank
@@ -23,6 +23,20 @@ dependencies:
23
23
  - - "~>"
24
24
  - !ruby/object:Gem::Version
25
25
  version: '2.1'
26
+ - !ruby/object:Gem::Dependency
27
+ name: rspec
28
+ requirement: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - "~>"
31
+ - !ruby/object:Gem::Version
32
+ version: '3.13'
33
+ type: :development
34
+ prerelease: false
35
+ version_requirements: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - "~>"
38
+ - !ruby/object:Gem::Version
39
+ version: '3.13'
26
40
  - !ruby/object:Gem::Dependency
27
41
  name: tins
28
42
  requirement: !ruby/object:Gem::Requirement
@@ -125,12 +139,10 @@ extra_rdoc_files:
125
139
  - lib/gem_hadar/version.rb
126
140
  - lib/gem_hadar/warn.rb
127
141
  files:
128
- - ".gitignore"
129
142
  - Gemfile
130
143
  - LICENSE
131
144
  - README.md
132
145
  - Rakefile
133
- - VERSION
134
146
  - bin/gem_hadar
135
147
  - gem_hadar.gemspec
136
148
  - lib/gem_hadar.rb
@@ -142,6 +154,8 @@ files:
142
154
  - lib/gem_hadar/utils.rb
143
155
  - lib/gem_hadar/version.rb
144
156
  - lib/gem_hadar/warn.rb
157
+ - spec/gem_hadar_spec.rb
158
+ - spec/spec_helper.rb
145
159
  homepage: https://github.com/flori/gem_hadar
146
160
  licenses:
147
161
  - MIT
@@ -167,4 +181,6 @@ requirements: []
167
181
  rubygems_version: 3.6.9
168
182
  specification_version: 4
169
183
  summary: Library for the development of Ruby Gems
170
- test_files: []
184
+ test_files:
185
+ - spec/gem_hadar_spec.rb
186
+ - spec/spec_helper.rb
data/.gitignore DELETED
@@ -1,7 +0,0 @@
1
- .*.sw[pon]
2
- .AppleDouble
3
- .bundle
4
- .yardoc
5
- Gemfile.lock
6
- pkg
7
- tags
data/VERSION DELETED
@@ -1 +0,0 @@
1
- 2.1.1