dismissible_helpers 0.2.0 → 0.3.0
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/README.md +34 -3
- data/app/assets/javascripts/dismissible_helpers.coffee +34 -11
- data/config/locales/en.yml +2 -1
- data/lib/dismissible_helpers/content_builder.rb +26 -11
- data/lib/dismissible_helpers/controllers/dismissed_helpers.rb +24 -2
- data/lib/dismissible_helpers/helpers/dismissible_helpers.rb +5 -5
- data/lib/dismissible_helpers/restorable_content_builder.rb +32 -0
- data/lib/dismissible_helpers/routes.rb +1 -0
- data/lib/dismissible_helpers/version.rb +1 -1
- data/lib/dismissible_helpers.rb +1 -0
- data/spec/dummy/app/views/landing/restorable.html.erb +1 -0
- data/spec/dummy/app/views/landing/show.html.erb +1 -1
- data/spec/dummy/config/locales/en.yml +1 -0
- data/spec/dummy/config/routes.rb +1 -0
- data/spec/requests/authenticated_spec.rb +28 -1
- data/spec/requests/unauthenticated_spec.rb +27 -1
- data/spec/restorable_content_builder_spec.rb +34 -0
- data/spec/views/landing/restorable_spec.rb +15 -0
- metadata +28 -51
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 33c181da8b0704b9cd1d3861ca021b2d462cb141
|
4
|
+
data.tar.gz: 3322542ee6be7c5b4271802213b971cbf6eecc8d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 0e20a08284ecfc77fc89ab11c793f9497dc3eb823d479def4e23c6560364f7796c2de1dbcac325cf735536f556780e0d891a99103bec83cdde0c08db9ce9051b
|
7
|
+
data.tar.gz: 2ffea3bd4cd56bda7d14c03d6edab5b8023fa1c23d4daf376034cd5c8c6ac651d6d84200e97837c2f77b9beb26b8eee507c0eddf38523a01b981156d70205f86
|
data/README.md
CHANGED
@@ -29,7 +29,7 @@ with the helpers
|
|
29
29
|
### Default Behavior ###
|
30
30
|
|
31
31
|
By default, DismissibleHelpers will use cookies to track the state of
|
32
|
-
the dismissed helpers.
|
32
|
+
the dismissed helpers.
|
33
33
|
|
34
34
|
### Adding a dismissible helper to your page ###
|
35
35
|
|
@@ -58,6 +58,19 @@ The string passed to the method will be used as a key, to track whether or not t
|
|
58
58
|
<% end %>
|
59
59
|
```
|
60
60
|
|
61
|
+
#### Restoring helpers
|
62
|
+
|
63
|
+
You can allow users to restore a helper if you pass `restorable: true` as an argument after the name of the helper.
|
64
|
+
|
65
|
+
```erb
|
66
|
+
<%= render_dismissible_helper 'how_to_buy', restorable: true do %>
|
67
|
+
<h2>How to buy stuff</h2>
|
68
|
+
<p>To buy stuff, click look at this:</p>
|
69
|
+
<img src="http://domain.com/img.jpg">
|
70
|
+
<% end %>
|
71
|
+
```
|
72
|
+
|
73
|
+
This will allow the user to hide the helper, as well as display a restore link to display the helper again.
|
61
74
|
|
62
75
|
### Including the routes ###
|
63
76
|
|
@@ -85,15 +98,33 @@ following call'
|
|
85
98
|
```javascript
|
86
99
|
$(function(){
|
87
100
|
$('.dismissible').dismissible({
|
88
|
-
|
101
|
+
dismiss: function(helper){
|
102
|
+
helper.slideUp(); //'helper' is the jQuery-wrapped element
|
103
|
+
}
|
104
|
+
});
|
105
|
+
});
|
106
|
+
```
|
107
|
+
|
108
|
+
If you are working with restorable helpers the helper will be hidden instead
|
109
|
+
and a show link will be revealed.
|
110
|
+
There's a second callback when the show event was invoked as well.
|
111
|
+
|
112
|
+
```javascript
|
113
|
+
$(function(){
|
114
|
+
$('.dismissible').dismissible({
|
115
|
+
dismiss: function(helper){
|
89
116
|
helper.slideUp(); //'helper' is the jQuery-wrapped element
|
117
|
+
},
|
118
|
+
show: function(helper){
|
119
|
+
helper.slideDown();
|
90
120
|
}
|
91
121
|
});
|
92
122
|
});
|
93
123
|
```
|
124
|
+
|
94
125
|
### Using authenticated user ###
|
95
126
|
|
96
|
-
DismissibleHelpers will store the dismissed helpers on a model.
|
127
|
+
DismissibleHelpers will store the dismissed helpers on a model.
|
97
128
|
If the helper method `current_user` is available, DismissibleHelpers
|
98
129
|
will use this to retrieve the current user/account.
|
99
130
|
|
@@ -1,29 +1,52 @@
|
|
1
1
|
(($) ->
|
2
2
|
$.fn.dismissible = (options) ->
|
3
3
|
options = {} if options == undefined
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
closeSelector = '.close'
|
4
|
+
options.closeSelector ?= '.close'
|
5
|
+
options.openSelector ?= '.open'
|
6
|
+
options.name = @.attr('data-dismissible-name')
|
8
7
|
|
9
|
-
@find(closeSelector).click (event)
|
8
|
+
@find(options.closeSelector).click (event) ->
|
10
9
|
$target = $ event.target
|
11
10
|
$helper = $target.parent()
|
12
11
|
event.preventDefault()
|
13
12
|
|
14
13
|
$helper.dismiss(options)
|
15
14
|
|
15
|
+
@find(options.openSelector).click (event) ->
|
16
|
+
$target = $ event.target
|
17
|
+
$helper = $target.parent()
|
18
|
+
event.preventDefault()
|
19
|
+
|
20
|
+
$helper.restore(options)
|
21
|
+
|
16
22
|
$.fn.dismiss = (options) ->
|
17
|
-
|
18
|
-
$.ajax
|
23
|
+
restorable = @.attr('data-restorable') is 'true'
|
24
|
+
$.rails.ajax
|
19
25
|
url: '/dismissed_helpers'
|
20
26
|
type: 'POST'
|
21
27
|
dataType: 'json'
|
22
28
|
data:
|
23
|
-
helper: name
|
29
|
+
helper: options.name
|
30
|
+
success: =>
|
31
|
+
if options? and options.dismiss != undefined
|
32
|
+
options.dismiss(@)
|
33
|
+
else
|
34
|
+
if restorable
|
35
|
+
$(@).children().each ->
|
36
|
+
$(@).toggle()
|
37
|
+
else
|
38
|
+
$(@).remove()
|
39
|
+
|
40
|
+
|
41
|
+
$.fn.restore = (options) ->
|
42
|
+
$.rails.ajax
|
43
|
+
url: '/dismissed_helpers/' + options.name
|
44
|
+
type: 'DELETE'
|
45
|
+
dataType: 'json'
|
24
46
|
success: =>
|
25
|
-
if options? and options.
|
26
|
-
options.
|
47
|
+
if options? and options.show != undefined
|
48
|
+
options.show(@)
|
27
49
|
else
|
28
|
-
|
50
|
+
$(@).children().each ->
|
51
|
+
$(@).toggle()
|
29
52
|
)(jQuery)
|
data/config/locales/en.yml
CHANGED
@@ -7,31 +7,46 @@ class DismissibleHelpers::ContentBuilder
|
|
7
7
|
self.new(*args).build
|
8
8
|
end
|
9
9
|
|
10
|
-
def initialize(name, contents=nil)
|
10
|
+
def initialize(name, contents=nil, options={})
|
11
11
|
@name = name
|
12
12
|
@contents = contents
|
13
|
+
@options = options
|
13
14
|
end
|
14
15
|
|
15
16
|
def build
|
16
17
|
options = {}
|
17
18
|
options[:class] = 'dismissible'
|
18
|
-
options[:data] = {:dismissible_name => @name}
|
19
|
-
html =
|
19
|
+
options[:data] = {:dismissible_name => @name, :restorable => restorable?}
|
20
|
+
html = build_markup
|
20
21
|
content_tag :div, html, options
|
21
22
|
end
|
22
23
|
|
23
|
-
|
24
|
+
def build_markup
|
25
|
+
return [content_str, dismissed? ? '' : close_str].join.html_safe
|
26
|
+
end
|
27
|
+
|
28
|
+
protected
|
29
|
+
|
30
|
+
def restorable?
|
31
|
+
return false
|
32
|
+
end
|
33
|
+
|
34
|
+
def dismissed?
|
35
|
+
return @options[:dismissed]
|
36
|
+
end
|
24
37
|
|
25
38
|
def content_str
|
26
|
-
@content_str ||=
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
39
|
+
@content_str ||= begin
|
40
|
+
content = if @contents
|
41
|
+
@contents
|
42
|
+
else
|
43
|
+
t(@name)
|
44
|
+
end
|
45
|
+
dismissed? ? nil : content
|
46
|
+
end
|
31
47
|
end
|
32
48
|
|
33
49
|
def close_str
|
34
50
|
content_tag(:a, I18n.t(:"dismissible_helpers.actions.close"), :class => 'close', :href => '#')
|
35
51
|
end
|
36
|
-
|
37
|
-
end
|
52
|
+
end
|
@@ -6,13 +6,35 @@ module DismissibleHelpers::Controllers::DismissedHelpers
|
|
6
6
|
else
|
7
7
|
if cookies[:dismissed_helpers].present?
|
8
8
|
dismissed_helpers = cookies[:dismissed_helpers].split '|'
|
9
|
-
dismissed_helpers += [
|
9
|
+
dismissed_helpers += [ current_helper ]
|
10
10
|
else
|
11
|
-
dismissed_helpers = [
|
11
|
+
dismissed_helpers = [ current_helper ]
|
12
12
|
end
|
13
13
|
cookies[:dismissed_helpers] = dismissed_helpers.join '|'
|
14
14
|
end
|
15
15
|
|
16
16
|
render :json => {}, :status => :ok
|
17
17
|
end
|
18
|
+
|
19
|
+
def destroy
|
20
|
+
Rails.logger.info "destroy '#{current_helper}'"
|
21
|
+
if respond_to?(:current_user) && current_user && current_user.respond_to?(:dismissed_helpers)
|
22
|
+
current_user.dismissed_helpers = current_user.dismissed_helpers.reject { |helper| helper == current_helper }
|
23
|
+
current_user.save!
|
24
|
+
else
|
25
|
+
if cookies[:dismissed_helpers].present?
|
26
|
+
dismissed_helpers = cookies[:dismissed_helpers].split '|'
|
27
|
+
dismissed_helpers = dismissed_helpers - [ current_helper ]
|
28
|
+
end
|
29
|
+
dismissed_helpers ||= []
|
30
|
+
cookies[:dismissed_helpers] = dismissed_helpers.join('|')
|
31
|
+
end
|
32
|
+
|
33
|
+
render :json => {}, :status => :ok
|
34
|
+
end
|
35
|
+
|
36
|
+
private
|
37
|
+
def current_helper
|
38
|
+
return params[:helper].to_s
|
39
|
+
end
|
18
40
|
end
|
@@ -1,10 +1,10 @@
|
|
1
1
|
module DismissibleHelpers::Helpers::DismissibleHelpers
|
2
2
|
|
3
|
-
def render_dismissible_helper(name, &block)
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
3
|
+
def render_dismissible_helper(name, options = {}, &block)
|
4
|
+
contents = block_given? ? capture(&block) : nil
|
5
|
+
restorable = options.fetch(:restorable) { false }
|
6
|
+
builder = restorable ? DismissibleHelpers::RestorableContentBuilder : DismissibleHelpers::ContentBuilder
|
7
|
+
builder.build(name, contents, options.merge({ dismissed: dismissed?(name) }))
|
8
8
|
end
|
9
9
|
|
10
10
|
private
|
@@ -0,0 +1,32 @@
|
|
1
|
+
module DismissibleHelpers
|
2
|
+
class RestorableContentBuilder < ContentBuilder
|
3
|
+
def build_markup
|
4
|
+
return [content_str, open_str, close_str].join.html_safe
|
5
|
+
end
|
6
|
+
|
7
|
+
protected
|
8
|
+
|
9
|
+
def restorable?
|
10
|
+
return true
|
11
|
+
end
|
12
|
+
|
13
|
+
def open_str
|
14
|
+
content_tag(:a, I18n.t(:"dismissible_helpers.actions.open"), :class => 'open', style: (dismissed? ? '' : 'display: none'), :href => '#')
|
15
|
+
end
|
16
|
+
|
17
|
+
def content_str
|
18
|
+
@content_str ||= begin
|
19
|
+
content = if @contents
|
20
|
+
@contents
|
21
|
+
else
|
22
|
+
t(@name)
|
23
|
+
end
|
24
|
+
content_tag :div, content, style: (dismissed? ? 'display: none' : '')
|
25
|
+
end
|
26
|
+
end
|
27
|
+
|
28
|
+
def close_str
|
29
|
+
content_tag(:a, I18n.t(:"dismissible_helpers.actions.close"), :class => 'close', style: (dismissed? ? 'display: none' : ''), :href => '#')
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
data/lib/dismissible_helpers.rb
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
<%= render_dismissible_helper 'restorable', restorable: true %>
|
@@ -1 +1 @@
|
|
1
|
-
<%= render_dismissible_helper 'hello' %>
|
1
|
+
<%= render_dismissible_helper 'hello' %>
|
data/spec/dummy/config/routes.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
feature 'Signed in user', :js do
|
3
|
+
feature 'Signed in user', :js => true do
|
4
4
|
scenario 'Sees and dismisses helper' do
|
5
5
|
sign_in_as(create(:user))
|
6
6
|
page.should have_content 'Hello world'
|
@@ -12,4 +12,31 @@ feature 'Signed in user', :js do
|
|
12
12
|
visit sign_out_path
|
13
13
|
page.should have_content 'Hello world'
|
14
14
|
end
|
15
|
+
|
16
|
+
scenario 'Sees, dismisses and restores a restorable helper', :js => true do
|
17
|
+
sign_in_as(create(:user))
|
18
|
+
visit '/landing/restorable'
|
19
|
+
|
20
|
+
# hide a restorable helper
|
21
|
+
page.should have_content 'Click to Dismiss or Show'
|
22
|
+
click_on 'Close'
|
23
|
+
sleep 1
|
24
|
+
page.should_not have_content 'Click to Dismiss or Show'
|
25
|
+
page.should have_content 'Open'
|
26
|
+
visit '/landing/restorable'
|
27
|
+
page.should_not have_content 'Click to Dismiss or Show'
|
28
|
+
page.should have_content 'Open'
|
29
|
+
|
30
|
+
# restore a hidden restorable helper
|
31
|
+
click_on 'Open'
|
32
|
+
sleep 1
|
33
|
+
page.should have_content 'Click to Dismiss or Show'
|
34
|
+
page.should_not have_content 'Open'
|
35
|
+
page.should have_content 'Close'
|
36
|
+
|
37
|
+
visit '/landing/restorable'
|
38
|
+
page.should have_content 'Click to Dismiss or Show'
|
39
|
+
page.should_not have_content 'Open'
|
40
|
+
page.should have_content 'Close'
|
41
|
+
end
|
15
42
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
feature 'Signed out user', :js do
|
3
|
+
feature 'Signed out user', :js => true do
|
4
4
|
scenario 'Sees and dismisses helper' do
|
5
5
|
visit root_path
|
6
6
|
page.should have_content 'Hello world'
|
@@ -10,4 +10,30 @@ feature 'Signed out user', :js do
|
|
10
10
|
visit root_path
|
11
11
|
page.should_not have_content 'Hello world'
|
12
12
|
end
|
13
|
+
|
14
|
+
scenario 'Sees, dismisses and restores a restorable helper', :js => true do
|
15
|
+
visit '/landing/restorable'
|
16
|
+
|
17
|
+
# hide a restorable helper
|
18
|
+
page.should have_content 'Click to Dismiss or Show'
|
19
|
+
click_on 'Close'
|
20
|
+
sleep 1
|
21
|
+
page.should_not have_content 'Click to Dismiss or Show'
|
22
|
+
page.should have_content 'Open'
|
23
|
+
visit '/landing/restorable'
|
24
|
+
page.should_not have_content 'Click to Dismiss or Show'
|
25
|
+
page.should have_content 'Open'
|
26
|
+
|
27
|
+
# restore a hidden restorable helper
|
28
|
+
click_on 'Open'
|
29
|
+
sleep 1
|
30
|
+
page.should have_content 'Click to Dismiss or Show'
|
31
|
+
page.should_not have_content 'Open'
|
32
|
+
page.should have_content 'Close'
|
33
|
+
|
34
|
+
visit '/landing/restorable'
|
35
|
+
page.should have_content 'Click to Dismiss or Show'
|
36
|
+
page.should_not have_content 'Open'
|
37
|
+
page.should have_content 'Close'
|
38
|
+
end
|
13
39
|
end
|
@@ -0,0 +1,34 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe DismissibleHelpers::RestorableContentBuilder do
|
4
|
+
|
5
|
+
describe '#build' do
|
6
|
+
context 'given a string' do
|
7
|
+
it 'should build a dismissible div containing the string as its contents' do
|
8
|
+
content = "<p>Great</p>"
|
9
|
+
builder = described_class.new(content)
|
10
|
+
html = builder.build
|
11
|
+
doc = Capybara.string(html)
|
12
|
+
p_el = doc.find('div.dismissible p')
|
13
|
+
p_el.text.should == 'Great'
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
it 'should have a close button' do
|
18
|
+
builder = described_class.new('something')
|
19
|
+
html = builder.build
|
20
|
+
doc = Capybara.string(html)
|
21
|
+
close_el = doc.find('div a.close')
|
22
|
+
close_el[:href].should == '#'
|
23
|
+
end
|
24
|
+
|
25
|
+
it 'should have a open button' do
|
26
|
+
builder = described_class.new('something')
|
27
|
+
html = builder.build
|
28
|
+
doc = Capybara.string(html)
|
29
|
+
close_el = doc.find('div a.open')
|
30
|
+
close_el[:href].should == '#'
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe 'landing/restorable.html.erb' do
|
4
|
+
|
5
|
+
it 'should display the dismissible helper rendered with a block' do
|
6
|
+
render
|
7
|
+
|
8
|
+
doc = Capybara.string(rendered)
|
9
|
+
wrapper = doc.find('.dismissible')
|
10
|
+
wrapper.should have_selector('.open')
|
11
|
+
wrapper.should have_selector('.close')
|
12
|
+
wrapper.find("div:first").should have_content 'Click to Dismiss or Show'
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
metadata
CHANGED
@@ -1,20 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: dismissible_helpers
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
5
|
-
prerelease:
|
4
|
+
version: 0.3.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Dan McClain
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date: 2013-
|
11
|
+
date: 2013-05-06 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: rails
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
17
|
- - ~>
|
20
18
|
- !ruby/object:Gem::Version
|
@@ -22,7 +20,6 @@ dependencies:
|
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
24
|
- - ~>
|
28
25
|
- !ruby/object:Gem::Version
|
@@ -30,103 +27,90 @@ dependencies:
|
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: sqlite3
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- -
|
31
|
+
- - '>='
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: '0'
|
38
34
|
type: :development
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- -
|
38
|
+
- - '>='
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: '0'
|
46
41
|
- !ruby/object:Gem::Dependency
|
47
42
|
name: rspec-rails
|
48
43
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
44
|
requirements:
|
51
|
-
- -
|
45
|
+
- - '>='
|
52
46
|
- !ruby/object:Gem::Version
|
53
47
|
version: '0'
|
54
48
|
type: :development
|
55
49
|
prerelease: false
|
56
50
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
51
|
requirements:
|
59
|
-
- -
|
52
|
+
- - '>='
|
60
53
|
- !ruby/object:Gem::Version
|
61
54
|
version: '0'
|
62
55
|
- !ruby/object:Gem::Dependency
|
63
56
|
name: capybara
|
64
57
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
58
|
requirements:
|
67
|
-
- -
|
59
|
+
- - '>='
|
68
60
|
- !ruby/object:Gem::Version
|
69
61
|
version: '0'
|
70
62
|
type: :development
|
71
63
|
prerelease: false
|
72
64
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
65
|
requirements:
|
75
|
-
- -
|
66
|
+
- - '>='
|
76
67
|
- !ruby/object:Gem::Version
|
77
68
|
version: '0'
|
78
69
|
- !ruby/object:Gem::Dependency
|
79
70
|
name: fakeweb
|
80
71
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
72
|
requirements:
|
83
|
-
- -
|
73
|
+
- - '>='
|
84
74
|
- !ruby/object:Gem::Version
|
85
75
|
version: '0'
|
86
76
|
type: :development
|
87
77
|
prerelease: false
|
88
78
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
79
|
requirements:
|
91
|
-
- -
|
80
|
+
- - '>='
|
92
81
|
- !ruby/object:Gem::Version
|
93
82
|
version: '0'
|
94
83
|
- !ruby/object:Gem::Dependency
|
95
84
|
name: poltergeist
|
96
85
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
86
|
requirements:
|
99
|
-
- -
|
87
|
+
- - '>='
|
100
88
|
- !ruby/object:Gem::Version
|
101
89
|
version: '0'
|
102
90
|
type: :development
|
103
91
|
prerelease: false
|
104
92
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
93
|
requirements:
|
107
|
-
- -
|
94
|
+
- - '>='
|
108
95
|
- !ruby/object:Gem::Version
|
109
96
|
version: '0'
|
110
97
|
- !ruby/object:Gem::Dependency
|
111
98
|
name: database_cleaner
|
112
99
|
requirement: !ruby/object:Gem::Requirement
|
113
|
-
none: false
|
114
100
|
requirements:
|
115
|
-
- -
|
101
|
+
- - '>='
|
116
102
|
- !ruby/object:Gem::Version
|
117
103
|
version: '0'
|
118
104
|
type: :development
|
119
105
|
prerelease: false
|
120
106
|
version_requirements: !ruby/object:Gem::Requirement
|
121
|
-
none: false
|
122
107
|
requirements:
|
123
|
-
- -
|
108
|
+
- - '>='
|
124
109
|
- !ruby/object:Gem::Version
|
125
110
|
version: '0'
|
126
111
|
- !ruby/object:Gem::Dependency
|
127
112
|
name: factory_girl_rails
|
128
113
|
requirement: !ruby/object:Gem::Requirement
|
129
|
-
none: false
|
130
114
|
requirements:
|
131
115
|
- - ~>
|
132
116
|
- !ruby/object:Gem::Version
|
@@ -134,7 +118,6 @@ dependencies:
|
|
134
118
|
type: :development
|
135
119
|
prerelease: false
|
136
120
|
version_requirements: !ruby/object:Gem::Requirement
|
137
|
-
none: false
|
138
121
|
requirements:
|
139
122
|
- - ~>
|
140
123
|
- !ruby/object:Gem::Version
|
@@ -142,7 +125,6 @@ dependencies:
|
|
142
125
|
- !ruby/object:Gem::Dependency
|
143
126
|
name: factory_girl
|
144
127
|
requirement: !ruby/object:Gem::Requirement
|
145
|
-
none: false
|
146
128
|
requirements:
|
147
129
|
- - ~>
|
148
130
|
- !ruby/object:Gem::Version
|
@@ -150,7 +132,6 @@ dependencies:
|
|
150
132
|
type: :development
|
151
133
|
prerelease: false
|
152
134
|
version_requirements: !ruby/object:Gem::Requirement
|
153
|
-
none: false
|
154
135
|
requirements:
|
155
136
|
- - ~>
|
156
137
|
- !ruby/object:Gem::Version
|
@@ -158,7 +139,6 @@ dependencies:
|
|
158
139
|
- !ruby/object:Gem::Dependency
|
159
140
|
name: mocha
|
160
141
|
requirement: !ruby/object:Gem::Requirement
|
161
|
-
none: false
|
162
142
|
requirements:
|
163
143
|
- - ~>
|
164
144
|
- !ruby/object:Gem::Version
|
@@ -166,7 +146,6 @@ dependencies:
|
|
166
146
|
type: :development
|
167
147
|
prerelease: false
|
168
148
|
version_requirements: !ruby/object:Gem::Requirement
|
169
|
-
none: false
|
170
149
|
requirements:
|
171
150
|
- - ~>
|
172
151
|
- !ruby/object:Gem::Version
|
@@ -174,17 +153,15 @@ dependencies:
|
|
174
153
|
- !ruby/object:Gem::Dependency
|
175
154
|
name: launchy
|
176
155
|
requirement: !ruby/object:Gem::Requirement
|
177
|
-
none: false
|
178
156
|
requirements:
|
179
|
-
- -
|
157
|
+
- - '>='
|
180
158
|
- !ruby/object:Gem::Version
|
181
159
|
version: '0'
|
182
160
|
type: :development
|
183
161
|
prerelease: false
|
184
162
|
version_requirements: !ruby/object:Gem::Requirement
|
185
|
-
none: false
|
186
163
|
requirements:
|
187
|
-
- -
|
164
|
+
- - '>='
|
188
165
|
- !ruby/object:Gem::Version
|
189
166
|
version: '0'
|
190
167
|
description: Simple Dismissible help text for your Rails projects
|
@@ -206,6 +183,7 @@ files:
|
|
206
183
|
- lib/dismissible_helpers/engine.rb
|
207
184
|
- lib/dismissible_helpers/helpers/dismissible_helpers.rb
|
208
185
|
- lib/dismissible_helpers/helpers.rb
|
186
|
+
- lib/dismissible_helpers/restorable_content_builder.rb
|
209
187
|
- lib/dismissible_helpers/routes.rb
|
210
188
|
- lib/dismissible_helpers/version.rb
|
211
189
|
- lib/dismissible_helpers.rb
|
@@ -229,6 +207,7 @@ files:
|
|
229
207
|
- spec/dummy/app/helpers/application_helper.rb
|
230
208
|
- spec/dummy/app/models/user.rb
|
231
209
|
- spec/dummy/app/views/landing/block.html.erb
|
210
|
+
- spec/dummy/app/views/landing/restorable.html.erb
|
232
211
|
- spec/dummy/app/views/landing/show.html.erb
|
233
212
|
- spec/dummy/app/views/layouts/application.html.erb
|
234
213
|
- spec/dummy/config/application.rb
|
@@ -289,38 +268,33 @@ files:
|
|
289
268
|
- spec/requests/authenticated_spec.rb
|
290
269
|
- spec/requests/step_helpers/authentication.rb
|
291
270
|
- spec/requests/unauthenticated_spec.rb
|
271
|
+
- spec/restorable_content_builder_spec.rb
|
292
272
|
- spec/spec_helper.rb
|
293
273
|
- spec/support/factories.rb
|
294
274
|
- spec/views/landing/block_spec.rb
|
275
|
+
- spec/views/landing/restorable_spec.rb
|
295
276
|
homepage: ''
|
296
277
|
licenses: []
|
278
|
+
metadata: {}
|
297
279
|
post_install_message:
|
298
280
|
rdoc_options: []
|
299
281
|
require_paths:
|
300
282
|
- lib
|
301
283
|
required_ruby_version: !ruby/object:Gem::Requirement
|
302
|
-
none: false
|
303
284
|
requirements:
|
304
|
-
- -
|
285
|
+
- - '>='
|
305
286
|
- !ruby/object:Gem::Version
|
306
287
|
version: '0'
|
307
|
-
segments:
|
308
|
-
- 0
|
309
|
-
hash: -3362041527304697344
|
310
288
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
311
|
-
none: false
|
312
289
|
requirements:
|
313
|
-
- -
|
290
|
+
- - '>='
|
314
291
|
- !ruby/object:Gem::Version
|
315
292
|
version: '0'
|
316
|
-
segments:
|
317
|
-
- 0
|
318
|
-
hash: -3362041527304697344
|
319
293
|
requirements: []
|
320
294
|
rubyforge_project:
|
321
|
-
rubygems_version:
|
295
|
+
rubygems_version: 2.0.3
|
322
296
|
signing_key:
|
323
|
-
specification_version:
|
297
|
+
specification_version: 4
|
324
298
|
summary: Simple Dismissible help text for your Rails projects
|
325
299
|
test_files:
|
326
300
|
- spec/config/active_record.rb
|
@@ -340,6 +314,7 @@ test_files:
|
|
340
314
|
- spec/dummy/app/helpers/application_helper.rb
|
341
315
|
- spec/dummy/app/models/user.rb
|
342
316
|
- spec/dummy/app/views/landing/block.html.erb
|
317
|
+
- spec/dummy/app/views/landing/restorable.html.erb
|
343
318
|
- spec/dummy/app/views/landing/show.html.erb
|
344
319
|
- spec/dummy/app/views/layouts/application.html.erb
|
345
320
|
- spec/dummy/config/application.rb
|
@@ -400,6 +375,8 @@ test_files:
|
|
400
375
|
- spec/requests/authenticated_spec.rb
|
401
376
|
- spec/requests/step_helpers/authentication.rb
|
402
377
|
- spec/requests/unauthenticated_spec.rb
|
378
|
+
- spec/restorable_content_builder_spec.rb
|
403
379
|
- spec/spec_helper.rb
|
404
380
|
- spec/support/factories.rb
|
405
381
|
- spec/views/landing/block_spec.rb
|
382
|
+
- spec/views/landing/restorable_spec.rb
|