CanvasUserGen 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (4) hide show
  1. checksums.yaml +7 -0
  2. data/lib/CanvasUserGen.rb +76 -0
  3. data/lib/User.rb +39 -0
  4. 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: []