userswitch 0.1.3 → 0.1.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +13 -41
- data/app/controllers/userswitch/switch_controller.rb +1 -1
- data/bin/setup +0 -1
- data/config/routes.rb +1 -1
- data/lib/tasks/userswitch.rake +39 -0
- data/lib/userswitch/railtie.rb +12 -0
- data/lib/userswitch/version.rb +1 -1
- data/lib/userswitch.rb +30 -16
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 184a9cc1b6769fb8ee1f8ba31ba5d362f7461c76
|
4
|
+
data.tar.gz: 9540437d90dd855ed4d048a9f72fd6b94ac1e1a4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e32ca82ba5c4e93681502ce9c39597263ab84cb3ff2ac3478cdcbf519bad762a1a94a10861617611cbf242f655c98d57c3b94791a030928773be79a181d3df40
|
7
|
+
data.tar.gz: 4b552be4ffbd8752f28355ede7ecbf17bbe303821514c55cc9a7bd64fc634d64f03a2f8f73e44e0a8086b04b7e6c9af307100470fac639b3b37ec6542ad55cba
|
data/README.md
CHANGED
@@ -18,6 +18,12 @@ Different roles can have different colors so as to be more noticeable.
|
|
18
18
|
|
19
19
|
![pic3](https://raw.githubusercontent.com/kodius/userswitch/master/us3.png)
|
20
20
|
|
21
|
+
## Requirements
|
22
|
+
```ruby
|
23
|
+
gem "bootstrap"
|
24
|
+
gem "devise"
|
25
|
+
```
|
26
|
+
|
21
27
|
## How to install
|
22
28
|
|
23
29
|
Add it to your app's Gemfile and run bundle
|
@@ -30,50 +36,16 @@ gem install userswitch
|
|
30
36
|
```
|
31
37
|
|
32
38
|
## How to use
|
39
|
+
Create userswitch.yml inside you config folder with:
|
33
40
|
|
34
|
-
|
35
|
-
|
36
|
-
Your file.yml should look like
|
37
|
-
|
38
|
-
```yml
|
39
|
-
## available colors: [red, dark-blue, light-blue, green, yellow, gray, white]
|
40
|
-
# name of role: color_name(need to be spelled right)
|
41
|
-
# 12 roles max
|
42
|
-
Roles:
|
43
|
-
admin: red
|
44
|
-
user: dark-blue
|
45
|
-
dog: green
|
46
|
-
cat: yellow
|
47
|
-
# 12 SwitchUsers max
|
48
|
-
SwitchUsers:
|
49
|
-
User1:
|
50
|
-
id: -1
|
51
|
-
name: Marko
|
52
|
-
role: user
|
53
|
-
#
|
54
|
-
User2:
|
55
|
-
id: -2
|
56
|
-
name: Kolinda
|
57
|
-
role: admin
|
58
|
-
#
|
59
|
-
User3:
|
60
|
-
id: -3
|
61
|
-
name: Mirko
|
62
|
-
role: dog
|
63
|
-
#
|
64
|
-
User4:
|
65
|
-
id: -4
|
66
|
-
name: Dean
|
67
|
-
role: cat
|
68
|
-
|
41
|
+
```ruby
|
42
|
+
rake userswitch:create_file
|
69
43
|
```
|
70
44
|
|
71
|
-
|
72
|
-
For example if you want button named Kolinda to be you AdminUser with id = 234 for example,
|
73
|
-
change your id to -2 because its ordered second and so on.
|
74
|
-
|
75
|
-
Inside of your template/view, you can call users with (showing only users from yours file.yml):
|
45
|
+
Inside of your template/view, you can call users with (showing only users from yours userswitch.yml):
|
76
46
|
|
77
|
-
```
|
47
|
+
```ruby
|
48
|
+
Userswitch.users(current_user)
|
49
|
+
```
|
78
50
|
|
79
51
|
The above command will generate the required HTML output to make the switching work.
|
data/bin/setup
CHANGED
data/config/routes.rb
CHANGED
@@ -0,0 +1,39 @@
|
|
1
|
+
namespace :userswitch do
|
2
|
+
desc 'create yml file'
|
3
|
+
|
4
|
+
task :create_file do
|
5
|
+
path = 'config/userswitch.yml'
|
6
|
+
content = "## available colors: [red, dark-blue, light-blue, green, yellow, gray, white]
|
7
|
+
# name of role: color_name(need to be spelled right)
|
8
|
+
# 12 roles max
|
9
|
+
Roles:
|
10
|
+
# admin: red
|
11
|
+
User: dark-blue
|
12
|
+
Coach: green
|
13
|
+
Employer: yellow
|
14
|
+
# 12 SwitchUsers max
|
15
|
+
SwitchUsers:
|
16
|
+
User1:
|
17
|
+
id: -1
|
18
|
+
name: Tin
|
19
|
+
role: User
|
20
|
+
#
|
21
|
+
User2:
|
22
|
+
id: -2
|
23
|
+
name: Bla
|
24
|
+
role: User
|
25
|
+
#
|
26
|
+
User3:
|
27
|
+
id: -3
|
28
|
+
name: Mirko
|
29
|
+
role: Coach
|
30
|
+
#
|
31
|
+
User4:
|
32
|
+
id: -4
|
33
|
+
name: Dean
|
34
|
+
role: Employer"
|
35
|
+
File.open(path, "w+") do |f|
|
36
|
+
f.write(content)
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
data/lib/userswitch/version.rb
CHANGED
data/lib/userswitch.rb
CHANGED
@@ -1,48 +1,62 @@
|
|
1
1
|
require 'userswitch/version'
|
2
2
|
require 'userswitch/engine'
|
3
|
+
require 'userswitch/railtie' if defined?(Rails)
|
3
4
|
|
4
5
|
module Userswitch
|
5
6
|
def initialize_switch_users
|
6
|
-
|
7
|
+
# if File.directory?('config/userswitch.yml')
|
8
|
+
YAML.load_file('config/userswitch.yml')
|
9
|
+
# else
|
10
|
+
# raise 'Havent created config/userswitch.yml file try running rake userswitch:create_file'
|
11
|
+
# end
|
7
12
|
end
|
8
13
|
|
9
|
-
def create_button_from_user
|
14
|
+
def create_button_from_user(current_user_id)
|
10
15
|
ceo_html = ''
|
11
16
|
switch_users_yml = initialize_switch_users
|
17
|
+
raise 'config/userswitch.yml is empty' unless switch_users_yml
|
12
18
|
roles = switch_users_yml['Roles']
|
13
19
|
users = switch_users_yml['SwitchUsers']
|
14
|
-
|
20
|
+
raise 'UserSwitch no roles defined in config/userswitch.yml' if roles.nil?
|
21
|
+
raise 'UserSwitch no users defined in config/userswitch.yml' if users.nil?
|
22
|
+
|
15
23
|
users.each do |user|
|
24
|
+
role = user.last['role']
|
25
|
+
raise "#{user.first} has no role" if role.nil?
|
26
|
+
color = btn_color(roles[role])
|
16
27
|
id = user.last['id']
|
17
|
-
|
18
|
-
|
28
|
+
raise "UserSwitch #{user.first} has no id" if id.nil?
|
29
|
+
color.gsub!('-outline', '') if id == current_user_id
|
30
|
+
name = user.last['name']
|
31
|
+
raise "UserSwitch #{user.first} has no name" if name.nil?
|
32
|
+
ceo_html += "<a href=\"/change-user/#{id}&#{role}\" class=\"btn #{id} #{color}\">#{name}</a> \n"
|
19
33
|
end
|
20
|
-
ceo_html
|
34
|
+
ceo_html
|
21
35
|
end
|
22
36
|
|
23
37
|
def btn_color(color)
|
24
38
|
case color
|
25
39
|
when 'red'
|
26
|
-
'btn-danger'
|
40
|
+
'btn-outline-danger'
|
27
41
|
when 'dark-blue'
|
28
|
-
'btn-primary'
|
42
|
+
'btn-outline-primary'
|
29
43
|
when 'light-blue'
|
30
|
-
'btn-info'
|
44
|
+
'btn-outline-info'
|
31
45
|
when 'green'
|
32
|
-
'btn-success'
|
46
|
+
'btn-outline-success'
|
33
47
|
when 'yellow'
|
34
|
-
'btn-warning'
|
48
|
+
'btn-outline-warning'
|
35
49
|
when 'gray'
|
36
|
-
'btn-basic'
|
50
|
+
'btn-outline-basic'
|
37
51
|
when 'white'
|
38
|
-
'btn-default'
|
52
|
+
'btn-outline-default'
|
39
53
|
else
|
40
|
-
'btn-primary'
|
54
|
+
'btn-outline-primary'
|
41
55
|
end
|
42
56
|
end
|
43
57
|
|
44
|
-
def users
|
45
|
-
create_button_from_user
|
58
|
+
def users(current_user)
|
59
|
+
create_button_from_user(current_user.id).html_safe
|
46
60
|
end
|
47
61
|
|
48
62
|
module_function :users,
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: userswitch
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- matija
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-04-
|
11
|
+
date: 2017-04-06 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -72,8 +72,10 @@ files:
|
|
72
72
|
- bin/setup
|
73
73
|
- config/routes.rb
|
74
74
|
- example_file.yml
|
75
|
+
- lib/tasks/userswitch.rake
|
75
76
|
- lib/userswitch.rb
|
76
77
|
- lib/userswitch/engine.rb
|
78
|
+
- lib/userswitch/railtie.rb
|
77
79
|
- lib/userswitch/version.rb
|
78
80
|
- us1.png
|
79
81
|
- us2.png
|
@@ -101,7 +103,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
101
103
|
version: '0'
|
102
104
|
requirements: []
|
103
105
|
rubyforge_project:
|
104
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.5.1
|
105
107
|
signing_key:
|
106
108
|
specification_version: 4
|
107
109
|
summary: Userswitch is a Rails plugin for switching between commonly used roles and
|