action_widget 0.7.0 → 0.9.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
- SHA1:
3
- metadata.gz: 07808bff8dbfd4db751ce2a37bf217694fc86fc2
4
- data.tar.gz: 654676cf8cc26a82c4a0352ff2d64f19d0f866c5
2
+ SHA256:
3
+ metadata.gz: 1664be8c46748dec0e0b84edf45896f04450cdb71682dca02b403e8208995cdf
4
+ data.tar.gz: 25f3d481ff1e29b665572cfdcea8a834724c602235aac9344bffda55e616332f
5
5
  SHA512:
6
- metadata.gz: b7978810a990ed931e353c5558a1ed80ff7fc0ffb24c126f7284aa59c1c2f3130a3d756a6dd22316b295c666853ef8fd94cd9843a8a778a9a99a42c2e14b850e
7
- data.tar.gz: 5affa9d5a48b0d771d83c6e1643f3e96784c13bc188900023cdf0410d1537969caa820003600eb1521a86866d0780bcddc6646975cf0da81b74abb83e557067a
6
+ metadata.gz: a39e59538ecdfdc4d956713ed5dba9cebeaf61c7556793cf1705c6325e02bb374940e0be1b663e6e43841a0d6a5af66c48e6d7fc94378c62e98b3c11b0530c5a
7
+ data.tar.gz: cbb6e5e01d7b13fbce76c04cdc38bf26e4454707655b43272ff42f74c15cc652ea91c68b98deed4c5bee309de7c0705a53a8e3b699bb2c048783f971c75e5a61
@@ -0,0 +1,26 @@
1
+ name: Testing
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+ workflow_dispatch:
9
+
10
+ jobs:
11
+ test:
12
+ name: Ruby v${{ matrix.ruby_version}}
13
+ runs-on: ubuntu-latest
14
+ strategy:
15
+ matrix:
16
+ ruby_version: [3.4.1]
17
+ steps:
18
+ - uses: actions/checkout@v2
19
+ - name: Set up Ruby
20
+ uses: ruby/setup-ruby@v1
21
+ with:
22
+ ruby-version: ${{ matrix.ruby_version }}
23
+ - name: Install dependencies
24
+ run: bundle install
25
+ - name: Run tests
26
+ run: bundle exec rake spec
@@ -1,23 +1,31 @@
1
- # -*- encoding: utf-8 -*-
2
- require File.expand_path('../lib/action_widget/version.rb', __FILE__)
1
+ # frozen_string_literal: true
2
+
3
+ require File.expand_path('lib/action_widget/version.rb', __dir__)
3
4
 
4
5
  Gem::Specification.new do |gem|
5
- gem.authors = ["Konstantin Tennhard"]
6
- gem.email = ["me@t6d.de"]
7
- gem.summary = %q{Reusable view components for your Ruby web application}
8
- gem.homepage = "http://github.com/t6d/action_widget"
6
+ gem.authors = ['Konstantin Tennhard']
7
+ gem.email = ['me@t6d.de']
8
+ gem.summary = 'Reusable view components for your Ruby web application'
9
+ gem.homepage = 'http://github.com/t6d/action_widget'
9
10
 
10
- gem.files = `git ls-files`.split($\)
11
- gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
12
- gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
13
- gem.name = "action_widget"
14
- gem.require_paths = ["lib"]
15
- gem.version = ActionWidget::VERSION
11
+ gem.files = `git ls-files`.split($\)
12
+ gem.executables = gem.files.grep(%r{^bin/}).map { |f| File.basename(f) }
13
+ gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
14
+ gem.name = 'action_widget'
15
+ gem.require_paths = ['lib']
16
+ gem.version = ActionWidget::VERSION
17
+ gem.required_ruby_version = '>= 3.0.0'
16
18
 
19
+ gem.add_dependency 'activesupport', '> 6.0'
17
20
  gem.add_dependency 'smart_properties', '~> 1.10'
18
21
 
22
+ gem.add_development_dependency 'actionview', '>= 6.0'
19
23
  gem.add_development_dependency 'pry'
20
- gem.add_development_dependency 'rake', '~> 10.0'
21
- gem.add_development_dependency 'rspec', '~> 3.3'
22
- gem.add_development_dependency 'actionview', '~> 4.0'
24
+ gem.add_development_dependency 'rake'
25
+ gem.add_development_dependency 'rspec', '~> 3.13'
26
+ gem.add_development_dependency 'ruby-lsp'
27
+ gem.add_development_dependency 'ostruct'
28
+ gem.add_development_dependency 'mutex_m'
29
+ gem.add_development_dependency 'base64'
30
+ gem.add_development_dependency 'bigdecimal'
23
31
  end
@@ -4,7 +4,7 @@ module ActionWidget
4
4
  property :prefix
5
5
  property :suffix
6
6
  property :superclass, required: true, default: -> { ActionWidget::Base }
7
- property :directory, required: true, converts: :to_s, accepts: ->(string) { !string.empty? }, default: -> { [underscored_prefix, underscored_suffix].compact.join("_") }
7
+ property :directory, required: true, converts: :to_s, accepts: ->(string) { !string.empty? }, default: -> { [underscored_prefix, underscored_suffix].compact.join("_").pluralize }
8
8
  property :minitest_superclass
9
9
 
10
10
  attr_reader :pattern
@@ -1,22 +1,27 @@
1
+ require 'active_support/dependencies'
2
+
1
3
  module ActionWidget
2
- module Extensions
3
- module Middleman
4
-
5
- class << self
6
-
7
- def register!
8
- ::Middleman::Extensions.register(:action_widget, self)
9
- end
10
-
11
- def registered(app)
12
- app.send(:include, ::ActionWidget::ViewHelper)
13
- end
14
- alias included registered
15
-
4
+ module Extensions
5
+ class Middleman < Middleman::Extension
6
+ def self.register
7
+ ::Middleman::Extensions.register(:action_widget, self)
8
+ end
9
+
10
+ option :path
11
+
12
+ def initialize(app, *)
13
+ super
14
+ options.path ||= File.join(app.root, 'lib')
15
+ raise ArgumentError, "Expected path to point to a directory" unless File.directory?(options.path)
16
+ end
17
+
18
+ def after_configuration
19
+ ActiveSupport::Dependencies.autoload_paths |= [options.path]
20
+ ActiveSupport::Dependencies.clear
21
+ app.helpers(::ActionWidget::ViewHelper)
16
22
  end
17
-
18
23
  end
19
24
  end
20
25
  end
21
26
 
22
- ActionWidget::Extensions::Middleman.register!
27
+ ActionWidget::Extensions::Middleman.register
@@ -5,7 +5,9 @@ module ActionWidget
5
5
  module Rails
6
6
  class Railtie < ::Rails::Railtie
7
7
  initializer "action_widget.helper" do
8
- ActionView::Base.send(:include, ::ActionWidget::ViewHelper)
8
+ ActiveSupport.on_load(:action_view) do
9
+ include ActionWidget::ViewHelper
10
+ end
9
11
  end
10
12
  end
11
13
  end
@@ -1,3 +1,3 @@
1
1
  module ActionWidget
2
- VERSION = '0.7.0'
2
+ VERSION = '0.9.0'
3
3
  end
data/lib/action_widget.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'smart_properties'
2
+ require 'active_support/core_ext/string'
2
3
 
3
4
  module ActionWidget
4
5
  class << self
@@ -18,14 +18,14 @@ class ViewContext < ActionView::Base
18
18
  end
19
19
 
20
20
  RSpec.describe ViewContext do
21
- subject(:view_context) { described_class.new }
21
+ subject(:view_context) { described_class.empty }
22
22
  it 'should implement #respond_to_missing?' do
23
23
  expect(view_context.send(:respond_to_missing?, :dummy_widget)).to eq(true)
24
24
  end
25
25
  end
26
26
 
27
27
  RSpec.describe DummyWidget do
28
- let(:view) { ViewContext.new }
28
+ let(:view) { ViewContext.empty }
29
29
 
30
30
  it "should delegate unknown method calls to the view context" do
31
31
  expect(described_class.new(view).render).to eq("<p></p>")
metadata CHANGED
@@ -1,15 +1,28 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: action_widget
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.0
4
+ version: 0.9.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Konstantin Tennhard
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2015-11-05 00:00:00.000000000 Z
10
+ date: 2025-03-10 00:00:00.000000000 Z
12
11
  dependencies:
12
+ - !ruby/object:Gem::Dependency
13
+ name: activesupport
14
+ requirement: !ruby/object:Gem::Requirement
15
+ requirements:
16
+ - - ">"
17
+ - !ruby/object:Gem::Version
18
+ version: '6.0'
19
+ type: :runtime
20
+ prerelease: false
21
+ version_requirements: !ruby/object:Gem::Requirement
22
+ requirements:
23
+ - - ">"
24
+ - !ruby/object:Gem::Version
25
+ version: '6.0'
13
26
  - !ruby/object:Gem::Dependency
14
27
  name: smart_properties
15
28
  requirement: !ruby/object:Gem::Requirement
@@ -24,6 +37,20 @@ dependencies:
24
37
  - - "~>"
25
38
  - !ruby/object:Gem::Version
26
39
  version: '1.10'
40
+ - !ruby/object:Gem::Dependency
41
+ name: actionview
42
+ requirement: !ruby/object:Gem::Requirement
43
+ requirements:
44
+ - - ">="
45
+ - !ruby/object:Gem::Version
46
+ version: '6.0'
47
+ type: :development
48
+ prerelease: false
49
+ version_requirements: !ruby/object:Gem::Requirement
50
+ requirements:
51
+ - - ">="
52
+ - !ruby/object:Gem::Version
53
+ version: '6.0'
27
54
  - !ruby/object:Gem::Dependency
28
55
  name: pry
29
56
  requirement: !ruby/object:Gem::Requirement
@@ -42,51 +69,107 @@ dependencies:
42
69
  name: rake
43
70
  requirement: !ruby/object:Gem::Requirement
44
71
  requirements:
45
- - - "~>"
72
+ - - ">="
46
73
  - !ruby/object:Gem::Version
47
- version: '10.0'
74
+ version: '0'
48
75
  type: :development
49
76
  prerelease: false
50
77
  version_requirements: !ruby/object:Gem::Requirement
51
78
  requirements:
52
- - - "~>"
79
+ - - ">="
53
80
  - !ruby/object:Gem::Version
54
- version: '10.0'
81
+ version: '0'
55
82
  - !ruby/object:Gem::Dependency
56
83
  name: rspec
57
84
  requirement: !ruby/object:Gem::Requirement
58
85
  requirements:
59
86
  - - "~>"
60
87
  - !ruby/object:Gem::Version
61
- version: '3.3'
88
+ version: '3.13'
62
89
  type: :development
63
90
  prerelease: false
64
91
  version_requirements: !ruby/object:Gem::Requirement
65
92
  requirements:
66
93
  - - "~>"
67
94
  - !ruby/object:Gem::Version
68
- version: '3.3'
95
+ version: '3.13'
69
96
  - !ruby/object:Gem::Dependency
70
- name: actionview
97
+ name: ruby-lsp
71
98
  requirement: !ruby/object:Gem::Requirement
72
99
  requirements:
73
- - - "~>"
100
+ - - ">="
74
101
  - !ruby/object:Gem::Version
75
- version: '4.0'
102
+ version: '0'
76
103
  type: :development
77
104
  prerelease: false
78
105
  version_requirements: !ruby/object:Gem::Requirement
79
106
  requirements:
80
- - - "~>"
107
+ - - ">="
81
108
  - !ruby/object:Gem::Version
82
- version: '4.0'
83
- description:
109
+ version: '0'
110
+ - !ruby/object:Gem::Dependency
111
+ name: ostruct
112
+ requirement: !ruby/object:Gem::Requirement
113
+ requirements:
114
+ - - ">="
115
+ - !ruby/object:Gem::Version
116
+ version: '0'
117
+ type: :development
118
+ prerelease: false
119
+ version_requirements: !ruby/object:Gem::Requirement
120
+ requirements:
121
+ - - ">="
122
+ - !ruby/object:Gem::Version
123
+ version: '0'
124
+ - !ruby/object:Gem::Dependency
125
+ name: mutex_m
126
+ requirement: !ruby/object:Gem::Requirement
127
+ requirements:
128
+ - - ">="
129
+ - !ruby/object:Gem::Version
130
+ version: '0'
131
+ type: :development
132
+ prerelease: false
133
+ version_requirements: !ruby/object:Gem::Requirement
134
+ requirements:
135
+ - - ">="
136
+ - !ruby/object:Gem::Version
137
+ version: '0'
138
+ - !ruby/object:Gem::Dependency
139
+ name: base64
140
+ requirement: !ruby/object:Gem::Requirement
141
+ requirements:
142
+ - - ">="
143
+ - !ruby/object:Gem::Version
144
+ version: '0'
145
+ type: :development
146
+ prerelease: false
147
+ version_requirements: !ruby/object:Gem::Requirement
148
+ requirements:
149
+ - - ">="
150
+ - !ruby/object:Gem::Version
151
+ version: '0'
152
+ - !ruby/object:Gem::Dependency
153
+ name: bigdecimal
154
+ requirement: !ruby/object:Gem::Requirement
155
+ requirements:
156
+ - - ">="
157
+ - !ruby/object:Gem::Version
158
+ version: '0'
159
+ type: :development
160
+ prerelease: false
161
+ version_requirements: !ruby/object:Gem::Requirement
162
+ requirements:
163
+ - - ">="
164
+ - !ruby/object:Gem::Version
165
+ version: '0'
84
166
  email:
85
167
  - me@t6d.de
86
168
  executables: []
87
169
  extensions: []
88
170
  extra_rdoc_files: []
89
171
  files:
172
+ - ".github/workflows/testing.yml"
90
173
  - ".gitignore"
91
174
  - ".travis.yml"
92
175
  - Gemfile
@@ -112,7 +195,6 @@ files:
112
195
  homepage: http://github.com/t6d/action_widget
113
196
  licenses: []
114
197
  metadata: {}
115
- post_install_message:
116
198
  rdoc_options: []
117
199
  require_paths:
118
200
  - lib
@@ -120,19 +202,16 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
202
  requirements:
121
203
  - - ">="
122
204
  - !ruby/object:Gem::Version
123
- version: '0'
205
+ version: 3.0.0
124
206
  required_rubygems_version: !ruby/object:Gem::Requirement
125
207
  requirements:
126
208
  - - ">="
127
209
  - !ruby/object:Gem::Version
128
210
  version: '0'
129
211
  requirements: []
130
- rubyforge_project:
131
- rubygems_version: 2.4.5
132
- signing_key:
212
+ rubygems_version: 3.6.2
133
213
  specification_version: 4
134
214
  summary: Reusable view components for your Ruby web application
135
215
  test_files:
136
216
  - spec/action_widget_spec.rb
137
217
  - spec/spec_helper.rb
138
- has_rdoc: