CanvasUserGen 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/lib/CanvasUserGen.rb +76 -0
- data/lib/User.rb +39 -0
- metadata +64 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 9d251a83865e6dc1c04ab898857ad54dc1cf6a40547b038f0186440e273813cb
|
4
|
+
data.tar.gz: 83f5b532397c80ecfaee53e33b629dda79e11955e94a96fa420832885e05355e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 2f08a6ba82e930543880cf39ebfaf9c4ddb7f754503bc9b53f476ad9c537c06bf12bfc9a97a2103efdc95f2077a1bc31da4855fd92324f3bda69f80c0e85b1ea
|
7
|
+
data.tar.gz: 89043b2a8cb95698251120f922353f9a5814e4f05b916ff51888fb61e3ca82663b95acad59946a31e8a29c1c1d93fae6f215113bbe518467b6abdc3f9d5fabb9
|
@@ -0,0 +1,76 @@
|
|
1
|
+
require 'faker'
|
2
|
+
require 'User.rb'
|
3
|
+
class CanvasUserGen
|
4
|
+
@name_format
|
5
|
+
@sis_id_format
|
6
|
+
@email_domain
|
7
|
+
|
8
|
+
def initialize(emailDomain)
|
9
|
+
@emailDomain = emailDomain
|
10
|
+
end
|
11
|
+
|
12
|
+
def set_name_format(modifiers = {prefix: "", postfix: ""})
|
13
|
+
div = "|"
|
14
|
+
modifiers[:prefix] += div if modifiers[:prefix] != ""
|
15
|
+
modifiers[:postfix] = div+modifiers[:postfix] if modifiers[:postfix] != ""
|
16
|
+
@name_format = "#{modifiers[:prefix] }NAME#{modifiers[:postfix]}"
|
17
|
+
end
|
18
|
+
|
19
|
+
def set_sis_format(modifiers = {prefix: "", postfix: ""})
|
20
|
+
div = "|"
|
21
|
+
modifiers[:prefix] += div if modifiers[:prefix] != ""
|
22
|
+
modifiers[:postfix] = div+modifiers[:postfix] if modifiers[:postfix] != ""
|
23
|
+
@sis_id_format = "#{modifiers[:prefix] }NAME#{modifiers[:postfix]}"
|
24
|
+
end
|
25
|
+
|
26
|
+
def gen_user
|
27
|
+
usr = User.new
|
28
|
+
usr.set_name(gen_name)
|
29
|
+
usr.set_sis(gen_sis)
|
30
|
+
usr.set_email(@email_domain)
|
31
|
+
|
32
|
+
return usr
|
33
|
+
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
def gen_name
|
38
|
+
@name_format = "NAME" if @name_format.nil?
|
39
|
+
names = @name_format.split("|")
|
40
|
+
n = ""
|
41
|
+
names.each do |name|
|
42
|
+
temp = name
|
43
|
+
temp = getTokenReplacement(name)
|
44
|
+
n += temp
|
45
|
+
end
|
46
|
+
return n
|
47
|
+
end
|
48
|
+
|
49
|
+
def gen_sis
|
50
|
+
@sis_id_format = "ALPHN20" if @sis_id_format.nil?
|
51
|
+
siss = @sis_id_format.split("|")
|
52
|
+
s = ""
|
53
|
+
siss.each do |sis|
|
54
|
+
temp = sis
|
55
|
+
temp = getTokenReplacement(sis)
|
56
|
+
s += temp
|
57
|
+
end
|
58
|
+
return s
|
59
|
+
end
|
60
|
+
|
61
|
+
def getTokenReplacement(token)
|
62
|
+
if(token == "NAME")
|
63
|
+
return Faker::Name.name
|
64
|
+
end
|
65
|
+
if (token[0..2] == "NUM")
|
66
|
+
return Faker::Number.number(token[3..15].to_i)
|
67
|
+
end
|
68
|
+
if (token[0..4] == "ALPHA")
|
69
|
+
return Faker::Alphanumeric.alpha(token[5..15].to_i)
|
70
|
+
end
|
71
|
+
if (token[0..4] == "ALPHN")
|
72
|
+
return Faker::Alphanumeric.alphanumeric(token[5..15].to_i)
|
73
|
+
end
|
74
|
+
return token
|
75
|
+
end
|
76
|
+
end
|
data/lib/User.rb
ADDED
@@ -0,0 +1,39 @@
|
|
1
|
+
class User
|
2
|
+
@user_id
|
3
|
+
@integration_id
|
4
|
+
@login_id
|
5
|
+
@password
|
6
|
+
@first_name
|
7
|
+
@last_name
|
8
|
+
@full_name
|
9
|
+
@sortable_name
|
10
|
+
@short_name
|
11
|
+
@email
|
12
|
+
@pronouns
|
13
|
+
@status
|
14
|
+
|
15
|
+
def set_name(name)
|
16
|
+
n = name.split(" ")
|
17
|
+
@first_name = n.shift
|
18
|
+
@last_name = "#{n.shift} #{n.shift}".strip
|
19
|
+
@full_name = name
|
20
|
+
@sortable_name = name
|
21
|
+
@short_name = @first_name
|
22
|
+
end
|
23
|
+
|
24
|
+
def set_sis(sis_id)
|
25
|
+
@user_id = sis_id
|
26
|
+
@login_id = sis_id
|
27
|
+
@password = sis_id
|
28
|
+
end
|
29
|
+
|
30
|
+
def set_email(email_domain)
|
31
|
+
@email = "#{@user_id}@#{email_domain}"
|
32
|
+
end
|
33
|
+
|
34
|
+
def get_csv_format
|
35
|
+
csv_string = "#{@user_id},#{@integration_id},#{@login_id},#{@password},#{@first_name},#{@last_name},#{@full_name},#{@sortable_name},#{@short_name},#{@email},#{@pronouns},#{@status}"
|
36
|
+
return csv_string
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
metadata
ADDED
@@ -0,0 +1,64 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: CanvasUserGen
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.2
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Trevor Byington
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2021-01-29 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: faker
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '1.1'
|
20
|
+
- - ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.1.4
|
23
|
+
type: :runtime
|
24
|
+
prerelease: false
|
25
|
+
version_requirements: !ruby/object:Gem::Requirement
|
26
|
+
requirements:
|
27
|
+
- - "~>"
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '1.1'
|
30
|
+
- - ">="
|
31
|
+
- !ruby/object:Gem::Version
|
32
|
+
version: 1.1.4
|
33
|
+
description:
|
34
|
+
email:
|
35
|
+
executables: []
|
36
|
+
extensions: []
|
37
|
+
extra_rdoc_files: []
|
38
|
+
files:
|
39
|
+
- lib/CanvasUserGen.rb
|
40
|
+
- lib/User.rb
|
41
|
+
homepage: https://github.com/tabyington/CanvasUserGen
|
42
|
+
licenses:
|
43
|
+
- MIT
|
44
|
+
metadata: {}
|
45
|
+
post_install_message:
|
46
|
+
rdoc_options: []
|
47
|
+
require_paths:
|
48
|
+
- lib
|
49
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
50
|
+
requirements:
|
51
|
+
- - ">="
|
52
|
+
- !ruby/object:Gem::Version
|
53
|
+
version: '0'
|
54
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
55
|
+
requirements:
|
56
|
+
- - ">="
|
57
|
+
- !ruby/object:Gem::Version
|
58
|
+
version: '0'
|
59
|
+
requirements: []
|
60
|
+
rubygems_version: 3.1.2
|
61
|
+
signing_key:
|
62
|
+
specification_version: 4
|
63
|
+
summary: A gem for creating random (and not so random) canvas users
|
64
|
+
test_files: []
|