magicka 1.1.0 → 1.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.
Files changed (40) hide show
  1. checksums.yaml +4 -4
  2. data/.circleci/config.yml +6 -9
  3. data/.github/copilot-instructions.md +229 -0
  4. data/.github/magicka-usage.md +394 -0
  5. data/.github/sinclair-usage.md +492 -0
  6. data/.gitignore +1 -1
  7. data/.rubocop.yml +12 -2
  8. data/.rubocop_todo.yml +12 -0
  9. data/Dockerfile +2 -2
  10. data/Gemfile +33 -0
  11. data/Makefile +21 -0
  12. data/README.md +6 -7
  13. data/Rakefile +3 -0
  14. data/lib/magicka/aggregator/class_methods.rb +3 -1
  15. data/lib/magicka/aggregator.rb +3 -1
  16. data/lib/magicka/element/class_methods.rb +3 -3
  17. data/lib/magicka/form_element.rb +1 -1
  18. data/lib/magicka/version.rb +1 -1
  19. data/magicka.gemspec +3 -31
  20. data/magicka.jpg +0 -0
  21. data/spec/dummy/app/models/document.rb +1 -1
  22. data/spec/dummy/bin/setup +0 -4
  23. data/spec/dummy/bin/update +0 -4
  24. data/spec/dummy/config/environments/development.rb +1 -1
  25. data/spec/dummy/config/environments/production.rb +2 -2
  26. data/spec/dummy/config/puma.rb +3 -3
  27. data/spec/integration/yard/magicka/helper_spec.rb +1 -1
  28. data/spec/lib/magicka/aggregator/class_methods_spec.rb +1 -1
  29. data/spec/lib/magicka/aggregator_spec.rb +1 -1
  30. data/spec/lib/magicka/button_spec.rb +1 -1
  31. data/spec/lib/magicka/display_spec.rb +1 -1
  32. data/spec/lib/magicka/element/class_methods_spec.rb +1 -1
  33. data/spec/lib/magicka/element_spec.rb +1 -1
  34. data/spec/lib/magicka/form_element_spec.rb +1 -1
  35. data/spec/lib/magicka/form_spec.rb +1 -1
  36. data/spec/lib/magicka/input_spec.rb +1 -1
  37. data/spec/lib/magicka/select_spec.rb +1 -1
  38. data/spec/lib/magicka/text_spec.rb +1 -1
  39. data/spec/spec_helper.rb +7 -1
  40. metadata +12 -372
@@ -23,7 +23,7 @@ module Magicka
23
23
  #
24
24
  # @return [String]
25
25
  def label
26
- @label ||= field.to_s.capitalize.gsub(/_/, ' ')
26
+ @label ||= field.to_s.capitalize.gsub('_', ' ')
27
27
  end
28
28
 
29
29
  # @api private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Magicka
4
- VERSION = '1.1.0'
4
+ VERSION = '1.2.0'
5
5
  end
data/magicka.gemspec CHANGED
@@ -12,40 +12,12 @@ Gem::Specification.new do |gem|
12
12
  gem.homepage = 'https://github.com/darthjee/magicka'
13
13
  gem.description = 'Gem for easy form templating'
14
14
  gem.summary = gem.description
15
- gem.required_ruby_version = '>= 2.7.0'
15
+ gem.required_ruby_version = '>= 3.3.1'
16
16
 
17
17
  gem.files = `git ls-files`.split($INPUT_RECORD_SEPARATOR)
18
18
  gem.executables = gem.files.grep(%r{^bin/}) { |f| File.basename(f) }
19
- gem.test_files = gem.files.grep(%r{^(test|gem|features)/})
20
19
  gem.require_paths = ['lib']
21
20
 
22
- gem.add_runtime_dependency 'activesupport', '~> 7.0.x'
23
- gem.add_runtime_dependency 'sinclair', '>= 2.0.1'
24
-
25
- gem.add_development_dependency 'actionpack', '7.0.4.3'
26
- gem.add_development_dependency 'activerecord', '7.0.4.3'
27
- gem.add_development_dependency 'bundler', '>= 2.3.25'
28
- gem.add_development_dependency 'factory_bot', '5.2.0'
29
- gem.add_development_dependency 'nokogiri', '1.12.5'
30
- gem.add_development_dependency 'pry', '0.12.2'
31
- gem.add_development_dependency 'pry-nav', '0.3.0'
32
- gem.add_development_dependency 'rails', '7.0.4.3'
33
- gem.add_development_dependency 'rails-controller-testing', '1.0.4'
34
- gem.add_development_dependency 'rake', '13.0.1'
35
- gem.add_development_dependency 'reek', '6.0.3'
36
- gem.add_development_dependency 'rspec', '3.9.0'
37
- gem.add_development_dependency 'rspec-core', '3.9.3'
38
- gem.add_development_dependency 'rspec-expectations', '3.9.4'
39
- gem.add_development_dependency 'rspec-mocks', '3.9.1'
40
- gem.add_development_dependency 'rspec-rails', '3.9.1'
41
- gem.add_development_dependency 'rspec-support', '3.9.4'
42
- gem.add_development_dependency 'rubocop', '0.80.1'
43
- gem.add_development_dependency 'rubocop-rspec', '1.38.1'
44
- gem.add_development_dependency 'rubycritic', '4.6.1'
45
- gem.add_development_dependency 'simplecov', '0.17.1'
46
- gem.add_development_dependency 'sprockets-rails', '3.4.2'
47
- gem.add_development_dependency 'sqlite3', '1.4.2'
48
- gem.add_development_dependency 'tzinfo-data', '~> 1.2022.1'
49
- gem.add_development_dependency 'yard', '0.9.26'
50
- gem.add_development_dependency 'yardstick', '0.9.9'
21
+ gem.add_dependency 'activesupport', '~> 7.2.x'
22
+ gem.add_dependency 'sinclair', '>= 3.1.0'
51
23
  end
data/magicka.jpg CHANGED
Binary file
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- class Document < ActiveRecord::Base
3
+ class Document < ApplicationRecord
4
4
  validates :name, presence: true
5
5
  end
data/spec/dummy/bin/setup CHANGED
@@ -17,7 +17,6 @@ chdir APP_ROOT do
17
17
  # This script is a starting point to setup your application.
18
18
  # Add necessary setup steps to this file.
19
19
 
20
- puts '== Installing dependencies =='
21
20
  system! 'gem install bundler --conservative'
22
21
  system('bundle check') || system!('bundle install')
23
22
 
@@ -29,12 +28,9 @@ chdir APP_ROOT do
29
28
  # cp 'config/database.yml.sample', 'config/database.yml'
30
29
  # end
31
30
 
32
- puts "\n== Preparing database =="
33
31
  system! 'bin/rails db:setup'
34
32
 
35
- puts "\n== Removing old logs and tempfiles =="
36
33
  system! 'bin/rails log:clear tmp:clear'
37
34
 
38
- puts "\n== Restarting application server =="
39
35
  system! 'bin/rails restart'
40
36
  end
@@ -17,19 +17,15 @@ chdir APP_ROOT do
17
17
  # This script is a way to update your development environment automatically.
18
18
  # Add necessary update steps to this file.
19
19
 
20
- puts '== Installing dependencies =='
21
20
  system! 'gem install bundler --conservative'
22
21
  system('bundle check') || system!('bundle install')
23
22
 
24
23
  # Install JavaScript dependencies if using Yarn
25
24
  # system('bin/yarn')
26
25
 
27
- puts "\n== Updating database =="
28
26
  system! 'bin/rails db:migrate'
29
27
 
30
- puts "\n== Removing old logs and tempfiles =="
31
28
  system! 'bin/rails log:clear tmp:clear'
32
29
 
33
- puts "\n== Restarting application server =="
34
30
  system! 'bin/rails restart'
35
31
  end
@@ -18,7 +18,7 @@ Rails.application.configure do
18
18
 
19
19
  # Enable/disable caching. By default caching is disabled.
20
20
  # Run rails dev:cache to toggle caching.
21
- if Rails.root.join('tmp', 'caching-dev.txt').exist?
21
+ if Rails.root.join('tmp/caching-dev.txt').exist?
22
22
  config.action_controller.perform_caching = true
23
23
 
24
24
  config.cache_store = :memory_store
@@ -89,7 +89,7 @@ Rails.application.configure do
89
89
  config.active_support.deprecation = :notify
90
90
 
91
91
  # Use default logging formatter so that PID and timestamp are not suppressed.
92
- config.log_formatter = ::Logger::Formatter.new
92
+ config.log_formatter = Logger::Formatter.new
93
93
 
94
94
  # Use a different logger for distributed setups.
95
95
  # require 'syslog/logger'
@@ -98,7 +98,7 @@ Rails.application.configure do
98
98
  # )
99
99
 
100
100
  if ENV['RAILS_LOG_TO_STDOUT'].present?
101
- logger = ActiveSupport::Logger.new(STDOUT)
101
+ logger = ActiveSupport::Logger.new($stdout)
102
102
  logger.formatter = config.log_formatter
103
103
  config.logger = ActiveSupport::TaggedLogging.new(logger)
104
104
  end
@@ -6,17 +6,17 @@
6
6
  # the maximum value specified for Puma. Default is set to 5 threads for minimum
7
7
  # and maximum; this matches the default thread size of Active Record.
8
8
  #
9
- threads_count = ENV.fetch('RAILS_MAX_THREADS') { 5 }
9
+ threads_count = ENV.fetch('RAILS_MAX_THREADS', 5)
10
10
  threads threads_count, threads_count
11
11
 
12
12
  # Specifies the `port` that Puma will listen on to receive requests;
13
13
  # default is 3000.
14
14
  #
15
- port ENV.fetch('PORT') { 3000 }
15
+ port ENV.fetch('PORT', 3000)
16
16
 
17
17
  # Specifies the `environment` that Puma will run in.
18
18
  #
19
- environment ENV.fetch('RAILS_ENV') { 'development' }
19
+ environment ENV.fetch('RAILS_ENV', 'development')
20
20
 
21
21
  # Specifies the number of `workers` to boot in clustered mode.
22
22
  # Workers are forked webserver processes. If using threads and workers together
@@ -20,7 +20,7 @@ describe 'yard for Magicka::Helper' do
20
20
  before { get "/documents/#{document.id}" }
21
21
 
22
22
  it do
23
- expect(response.status).to eq(200)
23
+ expect(response).to have_http_status(:ok)
24
24
  end
25
25
 
26
26
  it do
@@ -7,7 +7,7 @@ describe Magicka::Aggregator::ClassMethods do
7
7
 
8
8
  let(:aggregator_class) { Class.new(Magicka::Aggregator) }
9
9
  let(:model) { :my_model }
10
- let(:renderer) { instance_double('renderer') }
10
+ let(:renderer) { instance_double(ActionView::Base) }
11
11
  let(:template) { 'templates/forms/input' }
12
12
  let(:locals) { {} }
13
13
 
@@ -7,7 +7,7 @@ describe Magicka::Aggregator do
7
7
 
8
8
  let(:aggregator_class) { Class.new(described_class) }
9
9
  let(:model) { :my_model }
10
- let(:renderer) { instance_double('renderer') }
10
+ let(:renderer) { instance_double(ActionView::Base) }
11
11
  let(:template) { 'templates/forms/input' }
12
12
  let(:locals) { {} }
13
13
 
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Magicka::Button do
6
- let(:renderer) { instance_double('renderer') }
6
+ let(:renderer) { instance_double(ActionView::Base) }
7
7
  let(:template) { 'templates/forms/button' }
8
8
 
9
9
  let(:ng_click) { 'controler.click()' }
@@ -6,7 +6,7 @@ describe Magicka::Display do
6
6
  subject(:form) { described_class.new(renderer, model) }
7
7
 
8
8
  let(:model) { :my_model }
9
- let(:renderer) { instance_double('renderer') }
9
+ let(:renderer) { instance_double(ActionView::Base) }
10
10
  let(:template) { 'templates/display/text' }
11
11
  let(:locals) { {} }
12
12
 
@@ -9,7 +9,7 @@ describe Magicka::Element::ClassMethods do
9
9
  Class.new(Magicka::Element)
10
10
  end
11
11
 
12
- let(:renderer) { instance_double('renderer') }
12
+ let(:renderer) { instance_double(ActionView::Base) }
13
13
  let(:template) { 'templates/forms/element' }
14
14
  let(:locals) { {} }
15
15
 
@@ -9,7 +9,7 @@ describe Magicka::Element do
9
9
  Class.new(described_class)
10
10
  end
11
11
 
12
- let(:renderer) { instance_double('renderer') }
12
+ let(:renderer) { instance_double(ActionView::Base) }
13
13
  let(:template) { 'templates/forms/element' }
14
14
  let(:folder) { 'templates/forms' }
15
15
  let(:locals) { {} }
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Magicka::FormElement do
6
- let(:renderer) { instance_double('renderer') }
6
+ let(:renderer) { instance_double(ActionView::Base) }
7
7
  let(:template) { 'templates/forms/custom_template' }
8
8
 
9
9
  let(:expected_template) { template }
@@ -6,7 +6,7 @@ describe Magicka::Form do
6
6
  subject(:form) { described_class.new(renderer, model) }
7
7
 
8
8
  let(:model) { :my_model }
9
- let(:renderer) { instance_double('renderer') }
9
+ let(:renderer) { instance_double(ActionView::Base) }
10
10
  let(:template) { 'templates/forms/input' }
11
11
  let(:locals) { {} }
12
12
 
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Magicka::Input do
6
- let(:renderer) { instance_double('renderer') }
6
+ let(:renderer) { instance_double(ActionView::Base) }
7
7
  let(:template) { 'templates/forms/input' }
8
8
 
9
9
  let(:model) { :my_model }
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Magicka::Select do
6
- let(:renderer) { instance_double('renderer') }
6
+ let(:renderer) { instance_double(ActionView::Base) }
7
7
  let(:template) { 'templates/forms/select' }
8
8
 
9
9
  let(:model) { :my_model }
@@ -3,7 +3,7 @@
3
3
  require 'spec_helper'
4
4
 
5
5
  describe Magicka::Text do
6
- let(:renderer) { instance_double('renderer') }
6
+ let(:renderer) { instance_double(ActionView::Base) }
7
7
  let(:template) { 'templates/display/text' }
8
8
 
9
9
  let(:model) { :my_model }
data/spec/spec_helper.rb CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  require 'simplecov'
4
4
 
5
+ if ENV['CI']
6
+ require 'simplecov-lcov'
7
+ SimpleCov::Formatter::LcovFormatter.config.report_with_single_file = true
8
+ SimpleCov.formatter = SimpleCov::Formatter::LcovFormatter
9
+ end
10
+
5
11
  SimpleCov.start do
6
12
  add_filter '/spec/'
7
13
  end
@@ -21,7 +27,7 @@ require 'active_support/railtie'
21
27
  require 'sinclair/matchers'
22
28
 
23
29
  support_files = File.expand_path('spec/support/**/*.rb')
24
- Dir[support_files].sort.each { |file| require file }
30
+ Dir[support_files].each { |file| require file }
25
31
 
26
32
  RSpec::Matchers.define_negated_matcher :not_change, :change
27
33
  RSpec::Matchers.define_negated_matcher :not_add_method, :add_method