phantom_helpers 0.0.6
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 +7 -0
- data/.gitignore +1 -0
- data/LICENSE.md +15 -0
- data/README.md +18 -0
- data/lib/phantom_helpers/railtie.rb +13 -0
- data/lib/phantom_helpers/view_helpers/html_helper.rb +65 -0
- data/lib/phantom_helpers/view_helpers/link_helper.rb +264 -0
- data/lib/phantom_helpers/view_helpers/modal_helper.rb +42 -0
- data/lib/phantom_helpers/view_helpers/table_helper.rb +67 -0
- data/lib/phantom_helpers/view_helpers.rb +13 -0
- data/lib/phantom_helpers.rb +1 -0
- data/locales/en.yml +10 -0
- data/locales/ja.yml +10 -0
- data/phantom_helpers.gemspec +20 -0
- metadata +60 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 7313e37159e507d586110b2bf57125ba2b920ad0
|
4
|
+
data.tar.gz: 30a4574583813152b82733843e1f6d9719bb172e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 657c83eeb8f308d862790c6933f31ac4302bb2c6e2101f9105f50a5ad586d23360a659a833b8f5fac0721f354896fd9626315171581f8248ac2b11dc3017af40
|
7
|
+
data.tar.gz: b3b6ddcb066d409c47c61d3ec3b5f58b09c8c5420e89e94d3696ebd50db8c538152f41ff899c5b43ab25be6af0bdf1d7d4e347215bf3597191d3ca1113aff391
|
data/.gitignore
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
*.gem
|
data/LICENSE.md
ADDED
@@ -0,0 +1,15 @@
|
|
1
|
+
GAKU Engine is Copyright 2012 Genshin Souzou Kabushiki Kaisha of Aichi Japan
|
2
|
+
All rights reserved.
|
3
|
+
|
4
|
+
This software is dual licensed under the GNU GPL version 3 and the AGPL version 3.
|
5
|
+
The full text of these licenses can be found here:
|
6
|
+
https://gnu.org/licenses/gpl.html
|
7
|
+
https://gnu.org/licenses/agpl.html
|
8
|
+
|
9
|
+
Alternative licenses can be granted upon consultation.
|
10
|
+
Please contact info@genshin.org for details.
|
11
|
+
|
12
|
+
Some of the included sources were derived from the Spree project.
|
13
|
+
These portions are Copyright Spree Commerce Inc as per the following statement:
|
14
|
+
Copyright (c) 2007-2012, Spree Commerce, Inc. and other contributors
|
15
|
+
Copyright 2013 Genshin Souzou Kabushiki Kaisha; All Rights Reserved
|
data/README.md
ADDED
@@ -0,0 +1,18 @@
|
|
1
|
+
What does it do?
|
2
|
+
----------------
|
3
|
+
View Helpers for Twitter Bootstrap v3 :
|
4
|
+
### [link_helper](https://github.com/Genshin/phantom_helpers/blob/master/lib/phantom_helpers/view_helpers/link_helper.rb)
|
5
|
+
### [modal_helper] (https://github.com/Genshin/phantom_helpers/blob/master/lib/phantom_helpers/view_helpers/modal_helper.rb)
|
6
|
+
### [table_helper] (https://github.com/Genshin/phantom_helpers/blob/master/lib/phantom_helpers/view_helpers/table_helper.rb)
|
7
|
+
### [html_helper] (https://github.com/Genshin/phantom_helpers/blob/master/lib/phantom_helpers/view_helpers/html_helper.rb)
|
8
|
+
|
9
|
+
Instalation
|
10
|
+
-----------
|
11
|
+
Add to your `Gemfile`
|
12
|
+
```ruby
|
13
|
+
gem 'phantom_helpers'
|
14
|
+
```
|
15
|
+
Run bundle
|
16
|
+
```shell
|
17
|
+
bundle
|
18
|
+
```
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'phantom_helpers/view_helpers'
|
2
|
+
module PhantomHelpers
|
3
|
+
class Railtie < Rails::Railtie
|
4
|
+
initializer "phantom_helpers" do
|
5
|
+
I18n.load_path << Dir[File.join(File.expand_path(File.dirname(__FILE__) + '/../../locales'), '*.yml')]
|
6
|
+
I18n.load_path.flatten!
|
7
|
+
end
|
8
|
+
|
9
|
+
initializer "phantom_helpers.view_helpers" do
|
10
|
+
ActionView::Base.send :include, ViewHelpers
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1,65 @@
|
|
1
|
+
module PhantomHelpers
|
2
|
+
module ViewHelpers
|
3
|
+
module HtmlHelper
|
4
|
+
|
5
|
+
def hr
|
6
|
+
content_tag :div, class: "row" do
|
7
|
+
content_tag :div, class: "col-md-12" do
|
8
|
+
content_tag :hr
|
9
|
+
end
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
def well_div(&block)
|
14
|
+
content_tag :div, class: "row" do
|
15
|
+
content_tag :div, class: "col-md-12" do
|
16
|
+
content_tag :div, class: "well" do
|
17
|
+
block.call
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
|
23
|
+
def panel_div(color = 'default', title = nil, footer = nil, &block)
|
24
|
+
content_tag :div, class: "row" do
|
25
|
+
content_tag :div, class: "col-md-12" do
|
26
|
+
content_tag :div, class: "panel panel-#{color}" do
|
27
|
+
[
|
28
|
+
if title
|
29
|
+
content_tag :div, class: "panel-heading" do
|
30
|
+
content_tag :h3, class: "panel-title" do
|
31
|
+
title
|
32
|
+
end
|
33
|
+
end
|
34
|
+
end,
|
35
|
+
content_tag(:div, class: "panel-body") do
|
36
|
+
block.call
|
37
|
+
end,
|
38
|
+
if footer
|
39
|
+
content_tag :div, class: "panel-footer" do
|
40
|
+
footer
|
41
|
+
end
|
42
|
+
end
|
43
|
+
].join.html_safe
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
49
|
+
def index_body(&block)
|
50
|
+
content_tag :div, class: "row" do
|
51
|
+
content_tag :div, class: "col-md-12" do
|
52
|
+
block.call
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
56
|
+
|
57
|
+
def index_header(&block)
|
58
|
+
content_tag :div, class: "row" do
|
59
|
+
block.call
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
end
|
64
|
+
end
|
65
|
+
end
|
@@ -0,0 +1,264 @@
|
|
1
|
+
module PhantomHelpers
|
2
|
+
module ViewHelpers
|
3
|
+
module LinkHelper
|
4
|
+
|
5
|
+
def link_to_add_fields(name, f, association)
|
6
|
+
new_object = f.object.send(association).klass.new
|
7
|
+
id = new_object.object_id
|
8
|
+
fields = f.fields_for(association, new_object, child_index: id) do |builder|
|
9
|
+
render(association.to_s.singularize + "_fields", f: builder)
|
10
|
+
end
|
11
|
+
link_to(("<span class='glyphicon glyphicon-plus glyphicon-white'></span> " + name).html_safe, '#', :class => "btn btn-primary add_fields", data: {id: id, fields: fields.gsub("\n", "")})
|
12
|
+
end
|
13
|
+
|
14
|
+
def button(text, resource, options = {})
|
15
|
+
attributes = {:class => "btn btn-default"}.merge(options)
|
16
|
+
link_to text, resource, attributes
|
17
|
+
end
|
18
|
+
|
19
|
+
def primary_button(text, resource, options = {})
|
20
|
+
attributes = {:class => "btn btn-primary"}.merge(options)
|
21
|
+
link_to text, resource, attributes
|
22
|
+
end
|
23
|
+
|
24
|
+
def link_to_file(text, resource, options = {})
|
25
|
+
name = ("<span class='glyphicon glyphicon-file'></span> " + text).html_safe
|
26
|
+
attributes = {:class => "btn btn-primary"}.merge(options)
|
27
|
+
link_to name, resource, attributes
|
28
|
+
end
|
29
|
+
|
30
|
+
def link_to_upload_image(resource, options = {})
|
31
|
+
name = ("<span class='glyphicon glyphicon-camera'></span> " + t(:'phantom_helpers.picture.change')).html_safe
|
32
|
+
attributes = {:class => "btn btn-default span12"}.merge(options)
|
33
|
+
link_to name, resource, attributes
|
34
|
+
end
|
35
|
+
|
36
|
+
def link_to_upload(options = {})
|
37
|
+
text = ("<span class='glyphicon glyphicon-upload'></span> " + t(:'phantom_helpers.picture.upload')).html_safe
|
38
|
+
attributes = {:class => "btn btn-default"}.merge(options)
|
39
|
+
button_tag(content_tag('span', text), attributes)
|
40
|
+
end
|
41
|
+
|
42
|
+
def link_to_import(text, resource, options = {})
|
43
|
+
name = ('<span class="glyphicon glyphicon-upload"></span> '+ text).html_safe
|
44
|
+
attributes = {:class => 'btn btn-default'}.merge(options)
|
45
|
+
link_to name, resource, attributes
|
46
|
+
end
|
47
|
+
|
48
|
+
def link_to_export(text, resource, options = {})
|
49
|
+
name = ('<span class="glyphicon glyphicon-download"></span> '+ text).html_safe
|
50
|
+
attributes = {:class => 'btn btn-default'}.merge(options)
|
51
|
+
link_to name, resource, attributes
|
52
|
+
end
|
53
|
+
|
54
|
+
#needs id, because it is unique
|
55
|
+
def ajax_link_to_new(text, resource, options = {})
|
56
|
+
name = ("<span class='glyphicon glyphicon-plus'></span> " + text).html_safe
|
57
|
+
attributes = {
|
58
|
+
:remote => true,
|
59
|
+
:class => "btn btn-primary"
|
60
|
+
}.merge(options)
|
61
|
+
link_to name, resource, attributes
|
62
|
+
end
|
63
|
+
|
64
|
+
#needs id
|
65
|
+
def link_to_new(text, resource, options = {})
|
66
|
+
name = ("<span class='glyphicon glyphicon-plus'></span> " + text).html_safe
|
67
|
+
attributes = {:class => "btn btn-primary"}.merge(options)
|
68
|
+
link_to name, resource, attributes
|
69
|
+
end
|
70
|
+
|
71
|
+
#needs id
|
72
|
+
def submit_button(text, options={})
|
73
|
+
attributes = {:type => 'submit'}.merge(options)
|
74
|
+
button_tag(content_tag('span', text), attributes)
|
75
|
+
end
|
76
|
+
|
77
|
+
def ajax_link_to_recovery(resource, options = {})
|
78
|
+
name = content_tag(:i, nil, :class => 'glyphicon-repeat')
|
79
|
+
attributes = {
|
80
|
+
:remote => true,
|
81
|
+
:class => "btn btn-xs btn-warning recovery-link"
|
82
|
+
}.merge(options)
|
83
|
+
link_to name, resource, attributes
|
84
|
+
end
|
85
|
+
|
86
|
+
def link_to_delete(resource, options = {})
|
87
|
+
name = ("<span class='glyphicon glyphicon-remove'></span>").html_safe
|
88
|
+
attributes = {
|
89
|
+
:method => :delete,
|
90
|
+
:class => 'btn btn-xs btn-danger delete-link'
|
91
|
+
}.merge(options)
|
92
|
+
link_to name, resource, attributes
|
93
|
+
end
|
94
|
+
|
95
|
+
def ajax_link_to_delete(resource, options = {})
|
96
|
+
name = ("<span class='glyphicon glyphicon-remove'></span>").html_safe
|
97
|
+
attributes = {
|
98
|
+
:remote => true,
|
99
|
+
:method => :delete,
|
100
|
+
:data => { :confirm => t(:'phantom_helpers.are_you_sure') },
|
101
|
+
:class => 'btn btn-xs btn-danger delete-link'
|
102
|
+
}.merge(options)
|
103
|
+
link_to name, resource, attributes
|
104
|
+
end
|
105
|
+
|
106
|
+
def link_to_modal_delete(resource, options = {})
|
107
|
+
name = ("<span class='glyphicon glyphicon-trash'></span>").html_safe
|
108
|
+
attributes = {
|
109
|
+
:class => 'btn btn-danger modal-delete-link span12'
|
110
|
+
}.merge(options)
|
111
|
+
link_to name, resource, attributes
|
112
|
+
end
|
113
|
+
|
114
|
+
def ajax_soft_delete(resource, options = {})
|
115
|
+
name = ("<span class='glyphicon glyphicon-remove'></span>").html_safe
|
116
|
+
attributes = {
|
117
|
+
:remote => true,
|
118
|
+
:data => { :confirm => t(:'phantom_helpers.are_you_sure') },
|
119
|
+
:class => 'btn btn-xs btn-danger delete-link'
|
120
|
+
}.merge(options)
|
121
|
+
link_to name, resource, attributes
|
122
|
+
end
|
123
|
+
|
124
|
+
|
125
|
+
def primary_checkbox
|
126
|
+
("<span class='glyphicon glyphicon-ok'></span>").html_safe
|
127
|
+
end
|
128
|
+
|
129
|
+
def ajax_link_to_make_primary(resource, options = {})
|
130
|
+
attributes = {
|
131
|
+
:remote => true,
|
132
|
+
:method => :post,
|
133
|
+
:data => { :confirm => t(:'phantom_helpers.are_you_sure') },
|
134
|
+
}.merge(options)
|
135
|
+
link_to primary_checkbox, resource, attributes
|
136
|
+
end
|
137
|
+
|
138
|
+
def ajax_link_to_edit(resource, options = {})
|
139
|
+
name = ("<span class='glyphicon glyphicon-pencil'></span>").html_safe
|
140
|
+
attributes = {
|
141
|
+
:remote => true,
|
142
|
+
:class => "btn btn-xs btn-warning edit-link"
|
143
|
+
}.merge(options)
|
144
|
+
link_to name, resource, attributes
|
145
|
+
end
|
146
|
+
|
147
|
+
|
148
|
+
# Edit button with only pencil image - without text
|
149
|
+
def link_to_edit(resource, options = {})
|
150
|
+
name = ("<span class='glyphicon glyphicon-edit'></span>").html_safe
|
151
|
+
attributes = {
|
152
|
+
:class => "btn btn-xs btn-inverse edit-link",
|
153
|
+
}.merge(options)
|
154
|
+
link_to name, resource, attributes
|
155
|
+
end
|
156
|
+
|
157
|
+
# Edit button with text "Edit" and pencil image
|
158
|
+
def link_to_edit_with_text(resource, options = {})
|
159
|
+
name = ('<span class="glyphicon glyphicon-pencil"></span> '+t(:'phantom_helpers.edit')).html_safe
|
160
|
+
attributes = {:class => "span12 btn edit-link"}.merge(options)
|
161
|
+
link_to name, resource, attributes
|
162
|
+
end
|
163
|
+
|
164
|
+
def link_to_edit_with_custom_text(text, resource, options = {})
|
165
|
+
name = ('<span class="glyphicon glyphicon-pencil"></span> '+ text).html_safe
|
166
|
+
attributes = {:class => "span12 btn edit-link"}.merge(options)
|
167
|
+
link_to name, resource, attributes
|
168
|
+
end
|
169
|
+
|
170
|
+
def ajax_link_to_show(resource, options = {})
|
171
|
+
name = ("<span class='glyphicon glyphicon-eye-open'></span>").html_safe
|
172
|
+
attributes = {
|
173
|
+
:remote => true,
|
174
|
+
:class => "btn btn-xs btn-info show-link"
|
175
|
+
}.merge(options)
|
176
|
+
link_to name, resource, attributes
|
177
|
+
end
|
178
|
+
|
179
|
+
def link_to_show(resource, options = {})
|
180
|
+
name = ("<span class='glyphicon glyphicon-eye-open'></span>").html_safe
|
181
|
+
attributes = {
|
182
|
+
:class => "btn btn-xs btn-info show-link"
|
183
|
+
}.merge(options)
|
184
|
+
link_to name, resource, attributes
|
185
|
+
end
|
186
|
+
|
187
|
+
def link_to_cancel(options = {})
|
188
|
+
text = ('<span class="glyphicon glyphicon-ban-circle"></span> '+ t(:'phantom_helpers.cancel')).html_safe
|
189
|
+
attributes = {
|
190
|
+
:class => "col-md-12 btn btn-warning cancel-link",
|
191
|
+
:'data-dismiss' => "modal"
|
192
|
+
}.merge(options)
|
193
|
+
link_to text, '#', attributes
|
194
|
+
end
|
195
|
+
|
196
|
+
def link_to_modal_cancel(options = {})
|
197
|
+
name = t(:'phantom_helpers.cancel')
|
198
|
+
attributes = {
|
199
|
+
:class => "col-md-12 btn btn-warning modal-cancel-link",
|
200
|
+
:'data-dismiss' => "modal"
|
201
|
+
}.merge(options)
|
202
|
+
link_to name, '#', attributes
|
203
|
+
end
|
204
|
+
|
205
|
+
def ajax_link_to_back(resource, options = {})
|
206
|
+
name = ('<span class="glyphicon glyphicon-share-alt"></span> ' + t(:'phantom_helpers.back')).html_safe
|
207
|
+
attributes = {
|
208
|
+
:class => "col-md-6 btn btn-warning back-link back-modal-link",
|
209
|
+
:remote => true
|
210
|
+
}.merge(options)
|
211
|
+
|
212
|
+
link_to name, resource, attributes
|
213
|
+
end
|
214
|
+
|
215
|
+
def link_to_back(resource, options = {})
|
216
|
+
name = ('<span class="glyphicon glyphicon-share-alt"></span> '+ t(:'phantom_helpers.back')).html_safe
|
217
|
+
attributes = {
|
218
|
+
:class => 'col-md-6 btn back-link'
|
219
|
+
}.merge(options)
|
220
|
+
link_to name, resource, attributes
|
221
|
+
end
|
222
|
+
|
223
|
+
def submit_button(text, options={})
|
224
|
+
text = ('<span class="glyphicon glyphicon-ok-circle"></span> '+ text).html_safe
|
225
|
+
attributes = {
|
226
|
+
:type => 'submit',
|
227
|
+
:class => 'col-md-12 btn btn-success button'
|
228
|
+
}.merge(options)
|
229
|
+
button_tag(content_tag('span', text), attributes)
|
230
|
+
end
|
231
|
+
|
232
|
+
def manage_buttons_for(resource, options = {})
|
233
|
+
id = extract_id(resource)
|
234
|
+
concat link_to_show(resource, :id => "show-#{id}-link") unless except?(:show, options)
|
235
|
+
concat link_to_edit [:edit] + [resource].flatten, :id => "edit-#{id}-link", :remote => true unless except?(:edit, options)
|
236
|
+
ajax_link_to_delete resource, :id => "delete-#{id}-link" unless except?(:delete, options)
|
237
|
+
end
|
238
|
+
|
239
|
+
private
|
240
|
+
|
241
|
+
def except?(button_symbol, options)
|
242
|
+
[options[:except]].flatten.include?(button_symbol)
|
243
|
+
end
|
244
|
+
|
245
|
+
def extract_id(resource)
|
246
|
+
if resource.kind_of?(Array)
|
247
|
+
resource_id = String.new
|
248
|
+
resource.each_with_index do |r, index|
|
249
|
+
resource_id << '-' unless index == 0
|
250
|
+
resource_id << proper_id(r)
|
251
|
+
end
|
252
|
+
resource_id
|
253
|
+
else
|
254
|
+
proper_id(resource)
|
255
|
+
end
|
256
|
+
end
|
257
|
+
|
258
|
+
def proper_id(resource)
|
259
|
+
resource.class.to_s.underscore.split('/')[1].dasherize
|
260
|
+
end
|
261
|
+
|
262
|
+
end
|
263
|
+
end
|
264
|
+
end
|
@@ -0,0 +1,42 @@
|
|
1
|
+
module PhantomHelpers
|
2
|
+
module ViewHelpers
|
3
|
+
module ModalHelper
|
4
|
+
|
5
|
+
def close_button
|
6
|
+
content_tag :button, :class => 'close', :'data-dismiss' => 'modal' do
|
7
|
+
"×".html_safe
|
8
|
+
end
|
9
|
+
end
|
10
|
+
|
11
|
+
def modal_for(id, &block)
|
12
|
+
content_tag :div, class: "modal hide", id: id, wmode: "opaque" do
|
13
|
+
block.call
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def modal_body(&block)
|
18
|
+
content_tag :div, class: "modal-body" do
|
19
|
+
content_tag :div, class: "row" do
|
20
|
+
content_tag :div, class: "col-md-12" do
|
21
|
+
content_tag :div, class: "well" do
|
22
|
+
block.call
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
def modal_header(text)
|
30
|
+
content_tag :div, class: "modal-header" do
|
31
|
+
concat close_button
|
32
|
+
concat content_tag(:h3) { text }
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def modal_form_error(id)
|
37
|
+
content_tag :div, nil, :id => id
|
38
|
+
end
|
39
|
+
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
@@ -0,0 +1,67 @@
|
|
1
|
+
module PhantomHelpers
|
2
|
+
module ViewHelpers
|
3
|
+
module TableHelper
|
4
|
+
|
5
|
+
def table_for(id, &block)
|
6
|
+
content_tag :div, class: "row" do
|
7
|
+
content_tag :div, class: "col-md-12" do
|
8
|
+
content_tag :table, class: "table table-striped table-bordered table-condensed", id: id do
|
9
|
+
block.call
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
|
15
|
+
def table(&block)
|
16
|
+
content_tag :table, class: "table table-striped table-bordered table-condensed" do
|
17
|
+
block.call
|
18
|
+
end
|
19
|
+
end
|
20
|
+
|
21
|
+
def show_table_for(id, &block)
|
22
|
+
content_tag :div, class: "row" do
|
23
|
+
content_tag :div, class: "col-md-12" do
|
24
|
+
content_tag :table, class: "table", id: id do
|
25
|
+
block.call
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
29
|
+
end
|
30
|
+
|
31
|
+
def show_table(&block)
|
32
|
+
content_tag :table, class: "table table-hover table-condensed" do
|
33
|
+
block.call
|
34
|
+
end
|
35
|
+
end
|
36
|
+
|
37
|
+
def sortable_table_for(id, &block)
|
38
|
+
content_tag :table, class: "table table-striped table-bordered table-condensed", id: id do
|
39
|
+
block.call
|
40
|
+
end
|
41
|
+
end
|
42
|
+
|
43
|
+
def th(text)
|
44
|
+
content_tag(:th, class: "btn-inverse") { text }
|
45
|
+
end
|
46
|
+
|
47
|
+
def th_icon(icon)
|
48
|
+
content_tag :th, class: "btn-inverse", style: "width:24px;" do
|
49
|
+
content_tag :span, nil, class: "glyphicon glyphicon-#{icon}"
|
50
|
+
end
|
51
|
+
end
|
52
|
+
|
53
|
+
def th_actions(num)
|
54
|
+
size = case num
|
55
|
+
when 1 then 35
|
56
|
+
when 2 then 77
|
57
|
+
when 3 then 93
|
58
|
+
else num
|
59
|
+
end
|
60
|
+
content_tag :th, class: "btn-inverse", style:"width:#{size}px" do
|
61
|
+
content_tag :span, nil, class: "glyphicon glyphicon-edit"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
65
|
+
end
|
66
|
+
end
|
67
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
require 'phantom_helpers/view_helpers/link_helper'
|
2
|
+
require 'phantom_helpers/view_helpers/modal_helper'
|
3
|
+
require 'phantom_helpers/view_helpers/table_helper'
|
4
|
+
require 'phantom_helpers/view_helpers/html_helper'
|
5
|
+
|
6
|
+
module PhantomHelpers
|
7
|
+
module ViewHelpers
|
8
|
+
ActionView::Base.send :include, LinkHelper
|
9
|
+
ActionView::Base.send :include, ModalHelper
|
10
|
+
ActionView::Base.send :include, TableHelper
|
11
|
+
ActionView::Base.send :include, HtmlHelper
|
12
|
+
end
|
13
|
+
end
|
@@ -0,0 +1 @@
|
|
1
|
+
require 'phantom_helpers/railtie' if defined?(Rails::Railtie)
|
data/locales/en.yml
ADDED
data/locales/ja.yml
ADDED
@@ -0,0 +1,20 @@
|
|
1
|
+
# encoding: UTF-8
|
2
|
+
Gem::Specification.new do |s|
|
3
|
+
s.platform = Gem::Platform::RUBY
|
4
|
+
s.name = 'phantom_helpers'
|
5
|
+
s.version = '0.0.6'
|
6
|
+
s.summary = 'Phantom View Helpers'
|
7
|
+
s.description = 'rails helpers for bootstrap 3'
|
8
|
+
s.licenses = ['GNU GPL-3', 'AGPL-3']
|
9
|
+
s.required_ruby_version = '>= 1.8.7'
|
10
|
+
|
11
|
+
s.author = ['Vassil Kalkov', 'Rei Kagetsuki', 'Nakaya Yukiharu']
|
12
|
+
s.email = 'info@genshin.org'
|
13
|
+
s.homepage = 'http://github.com/Genshin/phantom_helpers'
|
14
|
+
|
15
|
+
s.files = `git ls-files`.split("\n")
|
16
|
+
s.test_files = `git ls-files -- {spec}/*`.split("\n")
|
17
|
+
|
18
|
+
s.require_path = 'lib'
|
19
|
+
s.requirements << 'none'
|
20
|
+
end
|
metadata
ADDED
@@ -0,0 +1,60 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: phantom_helpers
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.6
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Vassil Kalkov
|
8
|
+
- Rei Kagetsuki
|
9
|
+
- Nakaya Yukiharu
|
10
|
+
autorequire:
|
11
|
+
bindir: bin
|
12
|
+
cert_chain: []
|
13
|
+
date: 2013-09-23 00:00:00.000000000 Z
|
14
|
+
dependencies: []
|
15
|
+
description: rails helpers for bootstrap 3
|
16
|
+
email: info@genshin.org
|
17
|
+
executables: []
|
18
|
+
extensions: []
|
19
|
+
extra_rdoc_files: []
|
20
|
+
files:
|
21
|
+
- .gitignore
|
22
|
+
- LICENSE.md
|
23
|
+
- README.md
|
24
|
+
- lib/phantom_helpers.rb
|
25
|
+
- lib/phantom_helpers/railtie.rb
|
26
|
+
- lib/phantom_helpers/view_helpers.rb
|
27
|
+
- lib/phantom_helpers/view_helpers/html_helper.rb
|
28
|
+
- lib/phantom_helpers/view_helpers/link_helper.rb
|
29
|
+
- lib/phantom_helpers/view_helpers/modal_helper.rb
|
30
|
+
- lib/phantom_helpers/view_helpers/table_helper.rb
|
31
|
+
- locales/en.yml
|
32
|
+
- locales/ja.yml
|
33
|
+
- phantom_helpers.gemspec
|
34
|
+
homepage: http://github.com/Genshin/phantom_helpers
|
35
|
+
licenses:
|
36
|
+
- GNU GPL-3
|
37
|
+
- AGPL-3
|
38
|
+
metadata: {}
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
require_paths:
|
42
|
+
- lib
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: 1.8.7
|
48
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
requirements:
|
54
|
+
- none
|
55
|
+
rubyforge_project:
|
56
|
+
rubygems_version: 2.0.3
|
57
|
+
signing_key:
|
58
|
+
specification_version: 4
|
59
|
+
summary: Phantom View Helpers
|
60
|
+
test_files: []
|