abraham 2.1.2 → 2.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +33 -4
- data/Rakefile +1 -1
- data/app/assets/javascripts/abraham/index.js +3 -4
- data/app/controllers/abraham_histories_controller.rb +0 -1
- data/app/views/application/_abraham.html.erb +5 -7
- data/lib/abraham/version.rb +1 -1
- metadata +6 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: d6094c0e5929d5da7e61f12bd1e60a11e450a05e2c3b99afc349b0b7d847edca
|
4
|
+
data.tar.gz: 2b6df2f7d73f7b0c312b13ca3bc5adf16452437f1fd97faea90468093193f5fa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 978175580bd5132ea570ea0c14421f6ac0def8ca523ce5dfea730c3934c49180c6f9909fd35f161190afddf02aade22c9d447cb74546c419d8cd143e77129d3e
|
7
|
+
data.tar.gz: 9c46128409adfc46ed76abe7f07601d4e5035c63641c13e50b747e51a2e532910326ed77f63f7b2406feb4f5930feb8dbdbe10e5b660f858409f1ce7cf8f186c
|
data/README.md
CHANGED
@@ -15,7 +15,8 @@ Abraham injects dynamically-generated [Shepherd](https://shepherdjs.dev/) JavaSc
|
|
15
15
|
|
16
16
|
## Requirements
|
17
17
|
|
18
|
-
Abraham needs to know the current user to track tour views, e.g. `current_user` from Devise.
|
18
|
+
* Abraham needs to know the current user to track tour views, e.g. `current_user` from Devise.
|
19
|
+
* Abraham is tested on Rails 5.2, 6.0, and 6.1
|
19
20
|
|
20
21
|
## Installation
|
21
22
|
|
@@ -95,7 +96,7 @@ NB: You must specify a locale in the filename, even if you're only supporting on
|
|
95
96
|
|
96
97
|
### Tour content
|
97
98
|
|
98
|
-
A tour is composed of a series of steps. A step may have a title and must have a description. You may attach a step to a particular element on the page, and place the callout
|
99
|
+
A tour is composed of a series of steps. A step may have a title and must have a description. You may attach a step to a particular element on the page, and place the callout in a particular position (see below).
|
99
100
|
|
100
101
|
```yaml
|
101
102
|
intro:
|
@@ -122,6 +123,18 @@ Abraham takes care of which buttons should appear with each step:
|
|
122
123
|
* "Exit" and "Next" buttons on intermediate steps
|
123
124
|
* "Done" button on the last step
|
124
125
|
|
126
|
+
When you specify an `attachTo` element, use the `placement` option to choose where the callout should appear relative to that element:
|
127
|
+
|
128
|
+
* `bottom` / `bottom center`
|
129
|
+
* `bottom left`
|
130
|
+
* `bottom right`
|
131
|
+
* `center` / `middle` / `middle center`
|
132
|
+
* `left` / `middle left'
|
133
|
+
* `right` / `middle right`
|
134
|
+
* `top` / `top center`
|
135
|
+
* `top left`
|
136
|
+
* `top right`
|
137
|
+
|
125
138
|
Abraham tries to be helpful when your tour steps attach to page elements that are missing:
|
126
139
|
|
127
140
|
* If your first step is attached to a particular element, and that element is not present on the page, the tour won't start. ([#28](https://github.com/actmd/abraham/issues/28))
|
@@ -161,10 +174,26 @@ If you have any trouble at all, please [submit an issue](https://github.com/actm
|
|
161
174
|
|
162
175
|
Contributions are welcome!
|
163
176
|
|
164
|
-
Create a feature branch (using git-flow) and submit as a pull request.
|
177
|
+
Create a feature branch (using git-flow) and submit as a pull request (with a base branch of `develop`).
|
165
178
|
|
166
179
|
Everyone interacting in Abraham's codebase, issue tracker, etc. is expected to follow the [Contributor Covenent Code of Conduct](https://www.contributor-covenant.org/version/1/4/code-of-conduct).
|
167
180
|
|
181
|
+
### Getting started with the source code
|
182
|
+
|
183
|
+
Abraham uses `rvm` with a gemset to ensure the appropriate version of Ruby and its dependencies. Make sure that's installed before you get started.
|
184
|
+
|
185
|
+
```
|
186
|
+
~ git clone git@github.com:actmd/abraham.git
|
187
|
+
Cloning into 'abraham'...
|
188
|
+
~ cd abraham
|
189
|
+
ruby-2.5.3 - #gemset created /Users/jon/.rvm/gems/ruby-2.5.3@abraham
|
190
|
+
ruby-2.5.3 - #generating abraham wrappers - please wait
|
191
|
+
~ bundle install
|
192
|
+
Bundle complete! 13 Gemfile dependencies, 73 gems now installed.
|
193
|
+
Use `bundle info [gemname]` to see where a bundled gem is installed.
|
194
|
+
~ yarn install
|
195
|
+
```
|
196
|
+
|
168
197
|
### Testing
|
169
198
|
|
170
199
|
#### Testing locally
|
@@ -183,7 +212,7 @@ gem 'abraham', path: '~/Workspace/abraham'
|
|
183
212
|
|
184
213
|
#### Automated testing
|
185
214
|
|
186
|
-
We use TravisCI to automatically test this engine with Rails 5.
|
215
|
+
We use TravisCI to automatically test this engine with Rails 5.2, 6.0, and 6.1. For test history, venture over to [TravisCI](https://travis-ci.com/actmd/abraham).
|
187
216
|
|
188
217
|
### Releasing
|
189
218
|
|
data/Rakefile
CHANGED
@@ -1,8 +1,7 @@
|
|
1
|
-
//= require jquery
|
2
1
|
//= require js-cookie/src/js.cookie
|
3
2
|
//= require shepherd.js/dist/js/shepherd
|
4
3
|
|
5
|
-
|
6
|
-
|
7
|
-
|
4
|
+
document.addEventListener('turbolinks:before-cache', function() {
|
5
|
+
// Remove visible product tours
|
6
|
+
document.querySelectorAll(".shepherd-element").forEach(function(el) { el.remove() });
|
8
7
|
});
|
@@ -15,7 +15,6 @@ class AbrahamHistoriesController < ApplicationController
|
|
15
15
|
|
16
16
|
private
|
17
17
|
|
18
|
-
# Never trust parameters from the scary internet, only allow the white list through.
|
19
18
|
def abraham_history_params
|
20
19
|
params.require(:abraham_history).permit(:controller_name, :action_name, :tour_name)
|
21
20
|
end
|
@@ -2,13 +2,11 @@
|
|
2
2
|
var tour = new Shepherd.Tour(<%= Rails.configuration.abraham.tour_options.html_safe unless Rails.configuration.abraham.tour_options.nil? %>);
|
3
3
|
|
4
4
|
tour.on("complete", function() {
|
5
|
-
//
|
6
|
-
return
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
contentType: "application/json",
|
11
|
-
data: JSON.stringify({
|
5
|
+
// Make AJAX call to save history of tour completion
|
6
|
+
return fetch("/abraham_histories/", {
|
7
|
+
method: "POST",
|
8
|
+
headers: { 'Content-Type': 'application/json' },
|
9
|
+
body: JSON.stringify({
|
12
10
|
authenticity_token: '<%= form_authenticity_token %>',
|
13
11
|
controller_name: '<%= controller_name %>',
|
14
12
|
action_name: '<%= action_name %>',
|
data/lib/abraham/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: abraham
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
4
|
+
version: 2.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jonathan Abbett
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-04-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: sassc-rails
|
@@ -115,7 +115,7 @@ homepage: https://github.com/actmd/abraham
|
|
115
115
|
licenses:
|
116
116
|
- MIT
|
117
117
|
metadata: {}
|
118
|
-
post_install_message:
|
118
|
+
post_install_message:
|
119
119
|
rdoc_options: []
|
120
120
|
require_paths:
|
121
121
|
- lib
|
@@ -130,9 +130,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
requirements: []
|
133
|
-
|
134
|
-
|
135
|
-
signing_key:
|
133
|
+
rubygems_version: 3.0.8
|
134
|
+
signing_key:
|
136
135
|
specification_version: 4
|
137
136
|
summary: Trackable application tours for Rails with i18n support, based on Shepherd.js.
|
138
137
|
test_files: []
|