CanvasUserGen 0.0.2

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.
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: []