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