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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 39e9a40282495b54731301303b01a3c39d42c61b
4
- data.tar.gz: f1afb090748812c3d48cc8b6c4a0077c3e738387
3
+ metadata.gz: 184a9cc1b6769fb8ee1f8ba31ba5d362f7461c76
4
+ data.tar.gz: 9540437d90dd855ed4d048a9f72fd6b94ac1e1a4
5
5
  SHA512:
6
- metadata.gz: 0567ea51abdc2de2f66d18ccdb63bf44041fc3904009026eaf2b0813463d4942947852d96590aaffb313d1140acbfda7b84f7cafa4bb9ea96c1db3d268fffb4b
7
- data.tar.gz: 79c8fcb4dd303fc9e763c2c01ceddce8564bc924effc908aa06eef60f1cde73205a9e3e457dd9b17d6b1908cfb6b48e98327de8c5f321f93e96c2f94dfc827e9
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
- Create file.yml inside you config folder.
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
- then setup user ids you want to switch to order you wrote in the yours file.yml.
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
- ``` Userswitch.users.html_safe ```
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.
@@ -3,7 +3,7 @@ module Userswitch
3
3
  include Devise::Controllers::Helpers
4
4
 
5
5
  def switch_user
6
- sign_in(User.find(params[:id]))
6
+ sign_in(params[:role].constantize.find(params[:id]))
7
7
  redirect_to :back
8
8
  end
9
9
  end
data/bin/setup CHANGED
@@ -4,5 +4,4 @@ IFS=$'\n\t'
4
4
  set -vx
5
5
 
6
6
  bundle install
7
-
8
7
  # Do any other automated setup that you need to do here
data/config/routes.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  Rails.application.routes.draw do
2
- get '/change-user/:id' => 'userswitch/switch#switch_user'
2
+ get '/change-user/:id&:role' => 'userswitch/switch#switch_user'
3
3
  end
@@ -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
@@ -0,0 +1,12 @@
1
+ require 'userswitch'
2
+ require 'rails'
3
+
4
+ module Userswitch
5
+ class Railtie < Rails::Railtie
6
+ railtie_name :userswitch
7
+
8
+ rake_tasks do
9
+ load 'tasks/userswitch.rake'
10
+ end
11
+ end
12
+ end
@@ -1,3 +1,3 @@
1
1
  module Userswitch
2
- VERSION = "0.1.3"
2
+ VERSION = "0.1.5"
3
3
  end
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
- YAML.load_file('config/file.yml')
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
- # TODO provjeru da ih je 12
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
- color = btn_color(roles[user.last['role']])
18
- ceo_html += "<a href=\"/change-user/#{id}\" class=\"btn #{id} #{color} btn-sm\">#{user.last["name"]}</a> \n"
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.html_safe
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.3
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-05 00:00:00.000000000 Z
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.4.5.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