dismissible_helpers 0.2.0 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
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
- success: function(helper){
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
- if options.closeSelector?
5
- closeSelector = options.closeSelector
6
- else
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
- name = @.attr('data-dismissible-name')
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.success != undefined
26
- options.success(@)
47
+ if options? and options.show != undefined
48
+ options.show(@)
27
49
  else
28
- @.remove()
50
+ $(@).children().each ->
51
+ $(@).toggle()
29
52
  )(jQuery)
@@ -1,4 +1,5 @@
1
1
  en:
2
2
  dismissible_helpers:
3
3
  actions:
4
- close: "Close"
4
+ close: "Close"
5
+ open: "Open"
@@ -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 = [content_str, close_str].join.html_safe
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
- private
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 ||= if @contents
27
- @contents
28
- else
29
- t(@name)
30
- end
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 += [params[:helper]]
9
+ dismissed_helpers += [ current_helper ]
10
10
  else
11
- dismissed_helpers = [params[:helper]]
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
- unless dismissed?(name)
5
- contents = block_given? ? capture(&block) : nil
6
- DismissibleHelpers::ContentBuilder.build(name, contents)
7
- end
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
@@ -1,5 +1,6 @@
1
1
  module DismissibleHelpers::Routes
2
2
  def dismissible_helpers_routes
3
3
  post '/dismissed_helpers' => 'dismissed_helpers#create', :as => :dismissed_helpers
4
+ delete '/dismissed_helpers/:helper' => 'dismissed_helpers#destroy'
4
5
  end
5
6
  end
@@ -1,3 +1,3 @@
1
1
  module DismissibleHelpers
2
- VERSION = '0.2.0'
2
+ VERSION = '0.3.0'
3
3
  end
@@ -7,6 +7,7 @@ module DismissibleHelpers
7
7
  autoload :Routes
8
8
  autoload :Helpers
9
9
  autoload :ContentBuilder
10
+ autoload :RestorableContentBuilder
10
11
  autoload :DismissedChecker
11
12
  autoload :DismissedHelpersExtractor
12
13
 
@@ -0,0 +1 @@
1
+ <%= render_dismissible_helper 'restorable', restorable: true %>
@@ -1 +1 @@
1
- <%= render_dismissible_helper 'hello' %>
1
+ <%= render_dismissible_helper 'hello' %>
@@ -3,3 +3,4 @@
3
3
 
4
4
  en:
5
5
  hello: "Hello world"
6
+ restorable: "Click to Dismiss or Show"
@@ -2,6 +2,7 @@ Dummy::Application.routes.draw do
2
2
  dismissible_helpers_routes
3
3
  easy_auth_routes
4
4
 
5
+ match 'landing/restorable', :to => 'landing#restorable'
5
6
  match 'landing/block', :to => 'landing#block'
6
7
  root :to => 'landing#show'
7
8
  end
@@ -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.2.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-02-28 00:00:00.000000000 Z
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: 1.8.23
295
+ rubygems_version: 2.0.3
322
296
  signing_key:
323
- specification_version: 3
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