acts_as_railable 0.3.0 → 0.4.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: 566e969945d5fe9cb3c6e124626419490ad8a6bc2278def29d61b28d29826231
4
- data.tar.gz: 6eb4c7a8fcc9ba9249adb7d1323dc9f2d8820f4b646770f5f734c3bdd82b08e2
3
+ metadata.gz: fdd0050a08bd25499046cc5913df3966af963cb4020f196772b4c67659a85a80
4
+ data.tar.gz: 3aac2d44904b4b9bbe1abc1fd98695c5686b0b0f85b82714af6e957c454af18c
5
5
  SHA512:
6
- metadata.gz: 245088d2f7441d9be30703f38f728f801972af70c7941a5e2e28d7ba0da092a3aebae1efdebb4f576be3d639f78130be2d623767d983ef50d1117bc96c101620
7
- data.tar.gz: a050465502d8540ad9949e0221b95f37ad8cb8651597ae0bab6d9783a7be96ff6d4f394c953fb640fa87d1bdc7feb35ec62902fc9760c3b903877cb885ee6f97
6
+ metadata.gz: 7c79fc4c2c54a8038d2a1cc900d10f021f1e09c92b573031ec30217d27242554fb42c82e447536d5a8d04113e858c392e01d4bc7af10014284fd3e0870b3d072
7
+ data.tar.gz: 529a059eed3e9b18d85a64bbf81b7d6e996398e4aec9001f1b56c536bf355d833a85cccfeae749af72b49262d8d95a4f190e9741ade795ac5d04f7893c7bef33
@@ -1,4 +1,9 @@
1
+ require 'acts_as_railable/view_helpers'
2
+
1
3
  module ActsAsRailable
2
4
  class Railtie < ::Rails::Railtie
5
+ initializer "acts_as_railable.view_helpers" do
6
+ ActiveSupport.on_load(:action_view) { include ActsAsRailable::ViewHelpers }
7
+ end
3
8
  end
4
9
  end
@@ -1,3 +1,3 @@
1
1
  module ActsAsRailable
2
- VERSION = "0.3.0"
2
+ VERSION = "0.4.0"
3
3
  end
@@ -0,0 +1,132 @@
1
+ module ActsAsRailable
2
+ module ViewHelpers
3
+ def void_link_to name, html_options=nil
4
+ link_to name, "javascript:void(0);", html_options
5
+ end
6
+
7
+ def back_link_to name, html_options
8
+ link_to name, :back, html_options
9
+ end
10
+
11
+ def native_flash_messages!
12
+ html = ""
13
+ flash.each do |name, msg|
14
+ if msg.is_a? String
15
+ color_code = name == 'notice' ? 'green' : 'red'
16
+ flash_style = "color: #{color_code}"
17
+ html += <<-HTML
18
+ <p style="#{flash_style}">
19
+ #{msg}
20
+ </p>
21
+ HTML
22
+ end
23
+ end
24
+ html.html_safe
25
+ end
26
+
27
+ def bootstrap_flash_messages!
28
+ html = ""
29
+ flash.each do |name, msg|
30
+ if msg.is_a? String
31
+ color_code = name == 'notice' ? 'success' : 'danger'
32
+ flash_class = "alert alert-#{color_code} alert-dismissible fade show"
33
+ html += <<-HTML
34
+ <div class="#{flash_class}" role="alert">
35
+ <div>#{msg}</div>
36
+ <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
37
+ </div>
38
+ HTML
39
+ end
40
+ end
41
+ html.html_safe
42
+ end
43
+
44
+ def native_form_error_messages!(object)
45
+ if object.errors.any?
46
+ messages = object.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
47
+ sentence = I18n.t("errors.template.header",
48
+ count: object.errors.count,
49
+ model: object.class.model_name.human.downcase)
50
+ bodyhead = I18n.t("errors.template.body")
51
+
52
+ html = <<-HTML
53
+ <div id="#{object.form_error_placeholder_id}" style="color: red">
54
+ <h2>#{sentence}</h2>
55
+ <ul>#{messages}</ul>
56
+ </div>
57
+ HTML
58
+ else
59
+ html = <<-HTML
60
+ <div id="#{object.form_error_placeholder_id}">
61
+ </div>
62
+ HTML
63
+ end
64
+
65
+ html.html_safe
66
+ end
67
+
68
+ def bootstrap_form_error_messages!(object)
69
+ if object.errors.any?
70
+ messages = object.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
71
+ sentence = I18n.t("errors.template.header",
72
+ count: object.errors.count,
73
+ model: object.class.model_name.human.downcase)
74
+ bodyhead = I18n.t("errors.template.body")
75
+
76
+ html = <<-HTML
77
+ <div id="#{object.form_error_placeholder_id}">
78
+ <div class="alert alert-danger" role="alert">
79
+ <h6 class="alert-heading">#{sentence}</h6>
80
+ <ul class="mb-0">#{messages}</ul>
81
+ </div>
82
+ </div>
83
+ HTML
84
+ else
85
+ html = <<-HTML
86
+ <div id="#{object.form_error_placeholder_id}">
87
+ </div>
88
+ HTML
89
+ end
90
+
91
+ html.html_safe
92
+ end
93
+
94
+ def native_devise_error_messages!(resource)
95
+ return "" if resource.errors.empty?
96
+
97
+ messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
98
+ sentence = I18n.t("errors.messages.not_saved",
99
+ count: resource.errors.count,
100
+ resource: resource.class.model_name.human.downcase)
101
+ bodyhead = I18n.t("errors.template.body")
102
+
103
+ html = <<-HTML
104
+ <div id="error_explanation">
105
+ <h2>#{sentence}</h2>
106
+ <ul>#{messages}</ul>
107
+ </div>
108
+ HTML
109
+
110
+ html.html_safe
111
+ end
112
+
113
+ def bootstrap_devise_error_messages!(resource)
114
+ return "" if resource.errors.empty?
115
+
116
+ messages = resource.errors.full_messages.map { |msg| content_tag(:li, msg) }.join
117
+ sentence = I18n.t("errors.messages.not_saved",
118
+ count: resource.errors.count,
119
+ resource: resource.class.model_name.human.downcase)
120
+ bodyhead = I18n.t("errors.template.body")
121
+
122
+ html = <<-HTML
123
+ <div class="alert alert-danger" role="alert">
124
+ <h6>#{sentence}</h6>
125
+ <ul class="my-0">#{messages}</ul>
126
+ </div>
127
+ HTML
128
+
129
+ html.html_safe
130
+ end
131
+ end
132
+ end
@@ -1,5 +1,5 @@
1
1
  require "acts_as_railable/version"
2
- require "acts_as_railable/railtie"
2
+ require "acts_as_railable/railtie" if defined?(Rails)
3
3
  require "acts_as_railable/core_ext"
4
4
  require "acts_as_railable/interval"
5
5
  require "acts_as_railable/humanable"
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: acts_as_railable
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.4.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Li Qi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-04-01 00:00:00.000000000 Z
11
+ date: 2022-04-22 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails
@@ -40,6 +40,7 @@ files:
40
40
  - lib/acts_as_railable/interval.rb
41
41
  - lib/acts_as_railable/railtie.rb
42
42
  - lib/acts_as_railable/version.rb
43
+ - lib/acts_as_railable/view_helpers.rb
43
44
  - lib/tasks/acts_as_railable_tasks.rake
44
45
  homepage: http://github.com/cloudbsd/acts_as_moonable
45
46
  licenses: