super_tools 0.0.14 → 0.0.25

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: 4629c593e7e200633427dd00312a6796f89214f0
4
- data.tar.gz: 44f7a6c84dec5dbcf3684063a822f3505dea8bc8
3
+ metadata.gz: af3ee2961bfd642dbdefa9f348ac6170641954b3
4
+ data.tar.gz: 4b4138e6842c4579768b7f2025989c07b1a6ab23
5
5
  SHA512:
6
- metadata.gz: 748d60139166797eeef6b99493e162d411eb27a8b0600d19cc0bece66024236e8f7f2f5b2086a91eba306fbb86ce9b0585dcc0cd62fbe74342d5ff7e3dfe2af8
7
- data.tar.gz: 4f07b57896dd2fc6a1c59554365dae3c33b7d1b9756622c4fa380ba75d84731a1f4f66a7b04fbe87afd04e3a43a18dee401837364919f4d03c28ffb4bb5c8d7d
6
+ metadata.gz: 3ce3520f560f7f10d557b2cd96cbcf3670b29149d806f810547bfcc496049adbf67f2b5c6f689bc4a67b44ac89a45d82f5ce749e1fa4278eeb7501e220a6781f
7
+ data.tar.gz: 797bf949ca35a2bf9d7aa63cfea0194ae7b22317f0791c535b22f057d5ec20162d7d03cfcfe31930f28a16e0f2c8ad5ab0086140b6db560be43da30a1ecf129c
@@ -144,7 +144,7 @@ GEM
144
144
  nio4r (2.3.1)
145
145
  nokogiri (1.9.1)
146
146
  mini_portile2 (~> 2.4.0)
147
- rack (2.0.7)
147
+ rack (2.0.8)
148
148
  rack-test (1.1.0)
149
149
  rack (>= 1.0, < 3)
150
150
  rails (5.2.3)
@@ -7,28 +7,39 @@ module SuperForm
7
7
 
8
8
  define_callbacks :transaction, :queries, :validations
9
9
 
10
- def self.before_transaction(method_name)
11
- set_callback :transaction, :before, method_name
10
+ def self.before_transaction(method_name=nil, &block)
11
+ set_defined_callback(:transaction, :before, method_name, &block)
12
12
  end
13
13
 
14
- def self.before_queries(method_name)
15
- set_callback :queries, :before, method_name
14
+ def self.before_queries(method_name=nil, &block)
15
+ set_defined_callback(:queries, :before, method_name, &block)
16
16
  end
17
17
 
18
- def self.before_commit(method_name)
19
- set_callback :queries, :after, method_name
18
+ def self.before_commit(method_name=nil, &block)
19
+ set_defined_callback(:queries, :after, method_name, &block)
20
20
  end
21
21
 
22
- def self.after_commit(method_name)
23
- set_callback :transaction, :after, method_name
22
+ def self.after_commit(method_name=nil, &block)
23
+ set_defined_callback(:transaction, :after, method_name, &block)
24
24
  end
25
25
 
26
- def self.before_validations(method_name)
27
- set_callback :validations, :after, method_name
26
+ def self.before_validations(method_name=nil, &block)
27
+ set_defined_callback(:validations, :before, method_name, &block)
28
28
  end
29
29
 
30
- def self.after_validations(method_name)
31
- set_callback :validations, :after, method_name
30
+ def self.after_validations(method_name=nil, &block)
31
+ set_defined_callback(:validations, :after, method_name, &block)
32
+ end
33
+
34
+ protected
35
+
36
+ def self.set_defined_callback(event, callback, method_name=nil, &block)
37
+ raise "wrong number of arguments ('method_name' or 'block' choose one)" if method_name.nil? == false && block.present?
38
+ if block_given?
39
+ set_callback event, callback, &block
40
+ else
41
+ set_callback event, callback, method_name
42
+ end
32
43
  end
33
44
  end
34
45
 
@@ -32,7 +32,7 @@ module SuperInteraction
32
32
  # 注意:不要包 respond_to :js 會有問題
33
33
  def modal(partial: nil, size: 'md', title: '', desc: '')
34
34
  partial ||= context.action_name
35
- modal_html = context.render_to_string(partial, layout: "interaction_modal.html.haml", locals: { bs_modal_size: size, title: title, desc: desc })
35
+ modal_html = context.render_to_string(partial, layout: ::SuperInteraction::Layout.modal_layout, locals: { bs_modal_size: size, title: title, desc: desc })
36
36
  cmd("$(function() { $.modal.show('#{helpers.j(modal_html)}'); });")
37
37
  end
38
38
 
@@ -1,5 +1,7 @@
1
1
  module SuperInteraction
2
- class Engine < Rails::Engine
3
- paths["app/views"] = "lib/super_interaction/views"
2
+ if defined?(Rails::Engine)
3
+ class Engine < Rails::Engine
4
+ paths["app/views"] = "lib/super_interaction/views"
5
+ end
4
6
  end
5
7
  end
@@ -0,0 +1,29 @@
1
+ module SuperInteraction
2
+ module Layout
3
+
4
+ FRAMEWORKS = [ :bootstrap3, :bootstrap4, :beyond ]
5
+
6
+ def self.framework=(f)
7
+ raise "Not support framework: #{f}" if FRAMEWORKS.include?(f) == false
8
+ @@framework = f
9
+ end
10
+
11
+ def self.framework
12
+ @@framework
13
+ end
14
+
15
+ def self.modal_layout
16
+ case @@framework
17
+ when :bootstrap3
18
+ "modal_bs3.haml"
19
+ when :bootstrap4
20
+ "modal_bs4.haml"
21
+ when :beyond
22
+ "modal_beyond.haml"
23
+ else
24
+ # Default
25
+ "modal_bs3.haml"
26
+ end
27
+ end
28
+ end
29
+ end
@@ -8,10 +8,14 @@
8
8
  .modal-content
9
9
  .modal-header
10
10
  %button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
11
- = fa_icon('times')
11
+ - if respond_to?(:fa_icon)
12
+ = fa_icon('times')
13
+ - else
14
+ = fas_icon('times')
12
15
  = yield :header
13
16
  - if title.present?
14
17
  %h4.modal-title= title
18
+
15
19
  = yield
16
20
  = yield :before_body
17
21
  - body_html = capture { yield :body }
@@ -0,0 +1,28 @@
1
+ - if Rails.version[0].to_i >= 5
2
+ - bs_modal_size = local_assigns[:bs_modal_size]
3
+ - title = local_assigns[:title]
4
+ - desc = local_assigns[:desc]
5
+ .modal
6
+ = yield :wrapper
7
+ .modal-dialog{ class: "modal-#{bs_modal_size}" }
8
+ .modal-content
9
+ .modal-header
10
+ = yield :header
11
+ - if title.present?
12
+ %h5.modal-title
13
+ = title
14
+ - if desc.present?
15
+ %small.text-secondary= desc
16
+ %button.close{"aria-label" => "Close", "data-dismiss" => "modal", :type => "button"}
17
+ = fas_icon('times')
18
+
19
+ = yield
20
+ = yield :before_body
21
+ - body_html = capture { yield :body }
22
+ - if body_html.present?
23
+ .modal-body= body_html
24
+ = yield :after_body
25
+
26
+ - footer_html = capture { yield :footer }
27
+ - if footer_html.present?
28
+ .modal-footer= footer_html
@@ -42,6 +42,7 @@ require 'super_search/scroll'
42
42
  # ZIP CODE
43
43
  require 'super_zipcode/taiwan'
44
44
  # INTERACTION
45
+ require 'super_interaction/layout'
45
46
  require 'super_interaction/engine'
46
47
  require 'super_interaction/command'
47
48
  require 'super_interaction/controller_helper'
@@ -1,3 +1,3 @@
1
1
  module SuperTools
2
- VERSION = '0.0.14'
2
+ VERSION = '0.0.25'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: super_tools
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.14
4
+ version: 0.0.25
5
5
  platform: ruby
6
6
  authors:
7
7
  - eddie
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-01-31 00:00:00.000000000 Z
11
+ date: 2021-01-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -319,7 +319,9 @@ files:
319
319
  - lib/super_interaction/command.rb
320
320
  - lib/super_interaction/controller_helper.rb
321
321
  - lib/super_interaction/engine.rb
322
- - lib/super_interaction/views/layouts/interaction_modal.html.haml
322
+ - lib/super_interaction/layout.rb
323
+ - lib/super_interaction/views/layouts/modal_bs3.haml
324
+ - lib/super_interaction/views/layouts/modal_bs4.haml
323
325
  - lib/super_logger/formatter.rb
324
326
  - lib/super_process/core.rb
325
327
  - lib/super_search/scroll.rb