magicka 0.2.1 → 0.3.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 +4 -4
- data/README.md +1 -1
- data/lib/magicka.rb +2 -1
- data/lib/magicka/{input_element.rb → form_element.rb} +1 -1
- data/lib/magicka/input.rb +1 -1
- data/lib/magicka/select.rb +8 -0
- data/lib/magicka/version.rb +1 -1
- data/spec/lib/magicka/element_spec.rb +2 -2
- data/spec/lib/magicka/form_element_spec.rb +87 -0
- data/spec/lib/magicka/{input_element_spec.rb → select_spec.rb} +7 -8
- metadata +6 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 36b0fd245209516aea68b26b93305a7bb3bd2c25a37bab33a1642f61c3ddaf8a
|
4
|
+
data.tar.gz: 69c0fb47a36f70010329381bdded763d45269a0b51b9984d83af78d34b56dcf7
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e59e3a6feef27c1d2dca549497db8704a15ef8f3fe103ae4ebaa8a7c6b04ac7dfd918c5a097c0395043b00981368e2bd7614e94eacc6d47b69ddb6f6892a6a3d
|
7
|
+
data.tar.gz: dfa188ef2f10ffbff7e3e2f8fa43495e28bfffd6d84f573ba695bc9d4c2e25a6b454a5f39bfa1e195c74636e33378d194bc43d32594a021c78f0443996afe412
|
data/README.md
CHANGED
@@ -11,7 +11,7 @@ Magicka
|
|
11
11
|
|
12
12
|
Yard Documentation
|
13
13
|
-------------------
|
14
|
-
[https://www.rubydoc.info/gems/magicka/0.
|
14
|
+
[https://www.rubydoc.info/gems/magicka/0.3.0](https://www.rubydoc.info/gems/magicka/0.3.0)
|
15
15
|
|
16
16
|
Installation
|
17
17
|
---------------
|
data/lib/magicka.rb
CHANGED
@@ -12,7 +12,8 @@ require 'sinclair'
|
|
12
12
|
module Magicka
|
13
13
|
autoload :VERSION, 'magicka/version'
|
14
14
|
autoload :Element, 'magicka/element'
|
15
|
+
autoload :FormElement, 'magicka/form_element'
|
15
16
|
autoload :Input, 'magicka/input'
|
16
|
-
autoload :InputElement, 'magicka/input_element'
|
17
17
|
autoload :MethodBuilder, 'magicka/method_builder'
|
18
|
+
autoload :Select, 'magicka/select'
|
18
19
|
end
|
data/lib/magicka/input.rb
CHANGED
data/lib/magicka/version.rb
CHANGED
@@ -67,12 +67,12 @@ describe Magicka::Element do
|
|
67
67
|
end
|
68
68
|
|
69
69
|
context 'when class has only folder defined' do
|
70
|
-
let(:expected_template) { 'templates/forms/
|
70
|
+
let(:expected_template) { 'templates/forms/my_element' }
|
71
71
|
|
72
72
|
before do
|
73
73
|
klass.template_folder(folder)
|
74
74
|
|
75
|
-
method_builder.add_class_method(:name) { 'Magicka::
|
75
|
+
method_builder.add_class_method(:name) { 'Magicka::MyElement' }
|
76
76
|
method_builder.build
|
77
77
|
end
|
78
78
|
|
@@ -0,0 +1,87 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'spec_helper'
|
4
|
+
|
5
|
+
describe Magicka::FormElement do
|
6
|
+
let(:renderer) { instance_double('renderer') }
|
7
|
+
let(:template) { 'templates/forms/custom_template' }
|
8
|
+
|
9
|
+
let(:expected_template) { template }
|
10
|
+
|
11
|
+
let(:model) { :my_model }
|
12
|
+
let(:field) { :field }
|
13
|
+
let(:label) { 'Label' }
|
14
|
+
let(:klass) { Class.new(described_class) }
|
15
|
+
|
16
|
+
let(:locals) do
|
17
|
+
{
|
18
|
+
field: field,
|
19
|
+
label: label,
|
20
|
+
ng_errors: 'my_model.errors.field',
|
21
|
+
ng_model: 'my_model.field'
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
describe '.render' do
|
26
|
+
let(:arguments) do
|
27
|
+
{
|
28
|
+
renderer: renderer,
|
29
|
+
field: field,
|
30
|
+
label: label,
|
31
|
+
model: model
|
32
|
+
}
|
33
|
+
end
|
34
|
+
|
35
|
+
before do
|
36
|
+
allow(renderer)
|
37
|
+
.to receive(:render)
|
38
|
+
.with(partial: expected_template, locals: locals)
|
39
|
+
end
|
40
|
+
|
41
|
+
context 'when defined template' do
|
42
|
+
before do
|
43
|
+
klass.template(template)
|
44
|
+
end
|
45
|
+
|
46
|
+
it do
|
47
|
+
klass.render(arguments)
|
48
|
+
|
49
|
+
expect(renderer).to have_received(:render)
|
50
|
+
end
|
51
|
+
|
52
|
+
context 'when called with extra params' do
|
53
|
+
it do
|
54
|
+
klass.render(name: 'Name', **arguments)
|
55
|
+
|
56
|
+
expect(renderer).to have_received(:render)
|
57
|
+
end
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
context 'when not defining a template' do
|
62
|
+
let(:method_builder) { Sinclair.new(klass) }
|
63
|
+
let(:expected_template) { 'templates/forms/my_custom_element' }
|
64
|
+
|
65
|
+
before do
|
66
|
+
method_builder.add_class_method(:name) do
|
67
|
+
'Magicka::MyCustomElement'
|
68
|
+
end
|
69
|
+
method_builder.build
|
70
|
+
end
|
71
|
+
|
72
|
+
it do
|
73
|
+
klass.render(arguments)
|
74
|
+
|
75
|
+
expect(renderer).to have_received(:render)
|
76
|
+
end
|
77
|
+
|
78
|
+
context 'when called with extra params' do
|
79
|
+
it do
|
80
|
+
klass.render(name: 'Name', **arguments)
|
81
|
+
|
82
|
+
expect(renderer).to have_received(:render)
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
@@ -2,34 +2,33 @@
|
|
2
2
|
|
3
3
|
require 'spec_helper'
|
4
4
|
|
5
|
-
describe Magicka::
|
5
|
+
describe Magicka::Select do
|
6
6
|
let(:renderer) { instance_double('renderer') }
|
7
|
-
let(:template) { 'templates/forms/
|
7
|
+
let(:template) { 'templates/forms/select' }
|
8
8
|
|
9
9
|
let(:model) { :my_model }
|
10
10
|
let(:field) { :field }
|
11
11
|
let(:label) { 'Label' }
|
12
|
+
let(:options) { %i[option_a option_b] }
|
12
13
|
|
13
14
|
let(:locals) do
|
14
15
|
{
|
15
16
|
field: field,
|
16
17
|
label: label,
|
17
18
|
ng_errors: 'my_model.errors.field',
|
18
|
-
ng_model: 'my_model.field'
|
19
|
+
ng_model: 'my_model.field',
|
20
|
+
options: options
|
19
21
|
}
|
20
22
|
end
|
21
23
|
|
22
|
-
before do
|
23
|
-
described_class.template(template)
|
24
|
-
end
|
25
|
-
|
26
24
|
describe '.render' do
|
27
25
|
let(:arguments) do
|
28
26
|
{
|
29
27
|
renderer: renderer,
|
30
28
|
field: field,
|
31
29
|
label: label,
|
32
|
-
model: model
|
30
|
+
model: model,
|
31
|
+
options: options
|
33
32
|
}
|
34
33
|
end
|
35
34
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: magicka
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- DarthJee
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-06-
|
11
|
+
date: 2020-06-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activesupport
|
@@ -399,9 +399,10 @@ files:
|
|
399
399
|
- lib/magicka.rb
|
400
400
|
- lib/magicka/element.rb
|
401
401
|
- lib/magicka/element/class_methods.rb
|
402
|
+
- lib/magicka/form_element.rb
|
402
403
|
- lib/magicka/input.rb
|
403
|
-
- lib/magicka/input_element.rb
|
404
404
|
- lib/magicka/method_builder.rb
|
405
|
+
- lib/magicka/select.rb
|
405
406
|
- lib/magicka/version.rb
|
406
407
|
- magicka.gemspec
|
407
408
|
- magicka.jpg
|
@@ -468,9 +469,10 @@ files:
|
|
468
469
|
- spec/integration/yard/.keep
|
469
470
|
- spec/lib/magicka/element/class_methods_spec.rb
|
470
471
|
- spec/lib/magicka/element_spec.rb
|
471
|
-
- spec/lib/magicka/
|
472
|
+
- spec/lib/magicka/form_element_spec.rb
|
472
473
|
- spec/lib/magicka/input_spec.rb
|
473
474
|
- spec/lib/magicka/method_builder_spec.rb
|
475
|
+
- spec/lib/magicka/select_spec.rb
|
474
476
|
- spec/spec_helper.rb
|
475
477
|
- spec/support/models/.keep
|
476
478
|
- spec/support/shared_examples/.keep
|