hellobase-formtastic 0.1.1 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44fcf21ebe10316f38050a217d9613675cab15ab73197b565afffbd23635fcf2
4
- data.tar.gz: 457b4210ebe50d229c39f4714b86d18838969c223fcfa57593d1f3802edba613
3
+ metadata.gz: 9a6709435108ea76c05c1a914d7de6130d8b2fa24d86df30332ec4c485e92a1e
4
+ data.tar.gz: 9d85ba91be22e249e95810d78ba805cd7caf84de03e64bc1fff6d47d8375e4ca
5
5
  SHA512:
6
- metadata.gz: 69f3e8a4c91d6c178e61d04058879d3e1bb72bc02abd90ad7021bc5334382f565a96be6fdf8bc863dd82a3503877e3bc0abfd0ca47b328db1980a17a370fa29c
7
- data.tar.gz: 94cacf30adba374c67dc978939f6edcdca494dbd273ebc894a2c04bf3c82a1efa752831694ba7fbc8cace4a3b11ae79d74743dafb231f2073b17d80f137d779e
6
+ metadata.gz: 0db3da06a01a65b1a8a91ba4e628b3fbd9fa5925bf4cd01d37fba417a0f52059407314c50af31b59ca6e90b49412ac6b5d9580396bfe2a75ba2aa7552971ead2
7
+ data.tar.gz: de834bfc586a0300774efd8f2ed1f394fb983b8b06ae8ebb195a208e16a5484b8d2507120e624e298abdf116aea4531ec39761c9b196a18bc80965b12b26b10a
@@ -0,0 +1,45 @@
1
+ require 'active_admin/inputs'
2
+
3
+ module Hellobase
4
+ module Formtastic
5
+ module Inputs
6
+ class ArrayTextInput < ::Formtastic::Inputs::TextInput
7
+ def self.virtual_attributes(base)
8
+ [:"_stra_#{base}_text"]
9
+ end
10
+
11
+ def self.define_virtual_attributes(klass, base)
12
+ vattr = virtual_attributes(base).first
13
+ ivar = :"@#{vattr}"
14
+ method = :"_stra_set_#{base}"
15
+
16
+ klass.class_eval do
17
+ define_method vattr do
18
+ send(base)&.join("\n")
19
+ end
20
+
21
+ define_method :"#{vattr}=" do |val|
22
+ instance_variable_set ivar, val
23
+ send(method)
24
+
25
+ val
26
+ end
27
+
28
+ define_method method do
29
+ send :"#{base}=", instance_variable_get(ivar)&.split(/[\r\n]+/)
30
+ end
31
+
32
+ private method
33
+ end
34
+ end
35
+
36
+ def to_html
37
+ input_wrapping do
38
+ label_html <<
39
+ builder.text_area(:"_stra_#{method}_text", input_html_options)
40
+ end
41
+ end
42
+ end
43
+ end
44
+ end
45
+ end
@@ -1,3 +1,4 @@
1
+ require 'hellobase/formtastic/inputs/array_text_input'
1
2
  require 'hellobase/formtastic/inputs/content_input'
2
3
  require 'hellobase/formtastic/inputs/datepicker_with_time_input'
3
4
  require 'hellobase/formtastic/inputs/inline_checkbox_input'
@@ -1,5 +1,5 @@
1
1
  module Hellobase
2
2
  module Formtastic
3
- VERSION = '0.1.1'
3
+ VERSION = '0.2.0'
4
4
  end
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hellobase-formtastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anthony Wang
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2021-12-10 00:00:00.000000000 Z
11
+ date: 2023-08-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activeadmin
@@ -133,6 +133,7 @@ files:
133
133
  - lib/hellobase.rb
134
134
  - lib/hellobase/formtastic.rb
135
135
  - lib/hellobase/formtastic/inputs.rb
136
+ - lib/hellobase/formtastic/inputs/array_text_input.rb
136
137
  - lib/hellobase/formtastic/inputs/content_input.rb
137
138
  - lib/hellobase/formtastic/inputs/datepicker_with_time_input.rb
138
139
  - lib/hellobase/formtastic/inputs/inline_checkbox_input.rb