bamboolab_contact_form 0.0.12 → 0.0.13

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
  SHA1:
3
- metadata.gz: 449f1f9ba74032e51a8e5601647a165daea452b3
4
- data.tar.gz: 71052c15d601b739d363296b85215c3e25be7cab
3
+ metadata.gz: eeb215aabb8f78074ba12e75ac70789fb7fd8df5
4
+ data.tar.gz: 84d23dd4b1a88b2e6eb6c21bc090d5866fc2ae41
5
5
  SHA512:
6
- metadata.gz: 8255dd5e728b82ea851052f2923cf6c8671d77c09a5f25e47594015cdb260539f438c0102c41e8951a5e11f795cd9d8517a1caa8dd488b4fae8ecceb328afef0
7
- data.tar.gz: 1a2da9c237171a58b05822773c12a323e301a9ca6fa5041de8cd3687b0494db55ca4308ecb187894a668b3db20580b93f9a1fef25400a3b7a54682d9dfade5f6
6
+ metadata.gz: 602f09dbd826c7192b8f57434d46993731481a26c7ea70f4b7a31f2a620bdea9de5399e017fa6f866ad74d7eee9ab8da8cef69e5ec0837cd53a9b69943567c6e
7
+ data.tar.gz: 5c4cb172e57e2eddcd3a54be723293b29371d6c906392af40fa0400350d8c47c5b112bffbd96950403c6bf8e27ef8cb7e0385f71bc7117c78ac39f874beafcf2
@@ -14,7 +14,7 @@ end
14
14
 
15
15
  mailer_arg = arg[2] || "[kvesic.mislav@gmail.com, name]"
16
16
  mailer = mailer_arg.split(", ") unless mailer_arg == "nil"
17
- unless mailer == "nil"
17
+ unless mailer_arg == "nil"
18
18
  mailer.first.slice!(0)
19
19
  mailer.last.slice!(-1)
20
20
  end
@@ -0,0 +1,55 @@
1
+ def create_controller_save(name, fields, mailer)
2
+
3
+ fields_params = []
4
+ fields_new_params = "{"
5
+ email_names = []
6
+ fields.each do |field|
7
+ fields_params << "#{field.split(':')[0]}"
8
+ email_names << "#{field.split(':')[0]}" if field.split(":")[1] == "email_field"
9
+ fields_new_params << "'#{field.split(':')[0]}' => #{name}_params[:#{field.split(':')[0]}], "
10
+ end
11
+ fields_new_params.slice!(-2)
12
+ fields_new_params << "}"
13
+
14
+ remove_email_flash = []
15
+ email_names.each do |e|
16
+ remove_email_flash << "new_params['#{e}'] = '' if @#{name}.msg.include? '#{e}'"
17
+ end
18
+
19
+ mailer_line = ""
20
+ unless mailer == "nil"
21
+ mailer_line << "#{name.capitalize}sMailer.#{name}_contact(@#{name}).deliver_now"
22
+ end
23
+
24
+ write_controller = "class #{name.capitalize}sController < ApplicationController
25
+ def send_#{name}
26
+ @#{name} = #{name.capitalize}.new(#{name}_params)
27
+
28
+ flash[:notice] = @#{name}.msg
29
+
30
+ if @#{name}.save
31
+ #{mailer_line}
32
+ redirect_to :back
33
+ else
34
+ if @#{name}.msg.include? 'Format email-a ne valja!'
35
+ new_params = #{fields_new_params}
36
+ #{remove_email_flash.join("\n")}
37
+ flash[:val] = new_params
38
+ redirect_to :back
39
+ else
40
+ flash[:val] = #{name}_params
41
+ redirect_to :back
42
+ end
43
+ end
44
+
45
+ end
46
+
47
+ private
48
+
49
+ def message_params
50
+ params.require(:#{name}).permit(:#{fields_params.join(', :')})
51
+ end
52
+ end"
53
+
54
+ File.open("app/controllers/#{name}s_controller.rb", "w+") {|f| f.write(write_controller) }
55
+ end
@@ -0,0 +1,52 @@
1
+ def create_model_save(name, fields)
2
+
3
+ field_names = []
4
+ field_emails = []
5
+ field_names_validates = []
6
+ field_emails_validates = []
7
+ validate_email = []
8
+ fields.each do |field|
9
+ name_f = field.split(":")[0]
10
+ type_f = field.split(":")[1]
11
+ field_names << name_f
12
+ field_emails << name_f if type_f == "email_field"
13
+ field_names_validates << " validates :#{name_f}, presence: true"
14
+ field_emails_validates << " validates :#{name_f}, format: { with: /\\A[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+\\z/i } #0 if ok, nil if don't" if type_f == "email_field"
15
+ validate_email << " valid_#{name_f} = self.#{name_f} =~ /\\A[\\w+\\-.]+@[a-z\\d\\-]+(\\.[a-z\\d\\-]+)*\\.[a-z]+\\z/i #0 if ok, nil if don't" if type_f == "email_field"
16
+ end
17
+
18
+ success_case = "if"
19
+
20
+ field_names.each_with_index do |name, i|
21
+ success_case << " self.#{name}.present?"
22
+ success_case << " and" unless i == field_names.length - 1
23
+ end
24
+
25
+ wrong_email = []
26
+
27
+ field_emails.each do |email|
28
+ success_case << " and " unless success_case == "if"
29
+ success_case << " valid_#{email}"
30
+ wrong_email << " elsif self.#{email}.present? and !valid_#{email}"
31
+ wrong_email << " return 'Format email-a ne valja! Provjerite polje \"#{email}\".'"
32
+ end
33
+
34
+ write_model = "class #{name.capitalize} < ApplicationRecord
35
+ #{field_names_validates.join("\n")}
36
+ #{field_emails_validates.join("\n")}
37
+
38
+ validate :msg
39
+ def msg
40
+ #{validate_email.join("\n")}
41
+ #{success_case}
42
+ return 'Uspješno ste poslali poruku.'
43
+ #{wrong_email.join("\n")}
44
+ else
45
+ return 'Sva polja moraju biti popunjena!'
46
+ end
47
+ end
48
+ end
49
+ "
50
+
51
+ File.open("app/models/#{name}.rb", "w+") {|f| f.write(write_model) }
52
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bamboolab_contact_form
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.12
4
+ version: 0.0.13
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mislav Kvesić
@@ -20,9 +20,11 @@ files:
20
20
  - bin/bamboolab_contact_form
21
21
  - lib/bamboolab_contact_form.rb
22
22
  - lib/create_conroller.rb
23
+ - lib/create_conroller_save.rb
23
24
  - lib/create_helper.rb
24
25
  - lib/create_mailer.rb
25
26
  - lib/create_model.rb
27
+ - lib/create_model_save.rb
26
28
  - lib/create_notice.rb
27
29
  - lib/create_view.rb
28
30
  homepage: http://rubygems.org/gems/bamboolab_contact_form