userswitch 0.1.3 → 0.1.5
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 +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
|

|
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
|