simple_cv 0.1.0 → 0.2.1

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
- SHA1:
3
- metadata.gz: 3e918822c64dc36d524a12dad8e0206c8a7bfcd7
4
- data.tar.gz: 2d7685fd2603d588faabba587d824f3693c9ca4e
2
+ SHA256:
3
+ metadata.gz: 8617afb70ab82deafd776cb77f7d3da27a828894144ab18f97aab865343b60b6
4
+ data.tar.gz: 1422ccb0ac28d440a24aedab1d893011ef723d0f37dfc79d3a3e4b5dd89cdfb9
5
5
  SHA512:
6
- metadata.gz: 4f77a9a321b30b79cc7011dde8470f9eddfbf520d3913f4a96dfa6c3555edadca512525595b416e1d4a4381bcfd96e858bfa5ecab3c02102b35075719bc074b1
7
- data.tar.gz: 7a4802a8c75b086bcd595609b77de7d3ebc853317dad2d4fe414440c4be2c0e5526e7fa87720f83fe65d992742876181332d0017850bfed414edad6818eea590
6
+ metadata.gz: 9daef9d7d75b7ac2ac09f7ccfa8a741df423b677d53581ea1d0d6a320e3e81b2eefe4805b8ddee9d2e8ddea90936dd5a3a5d33804ce646cfca13976fb17db244
7
+ data.tar.gz: 12b2980ddfe97a60155c99940007b064b7e2a28bb9e3af6f4a2f22644f2229aa55959c6bd1730b527d13b8f27a2f5d3ee648355e110cf23fdf20dca26d4b691b
data/.rspec CHANGED
@@ -1,2 +1,3 @@
1
+ --require spec_helper
1
2
  --format documentation
2
3
  --color
data/Gemfile CHANGED
@@ -1,4 +1,6 @@
1
- source 'https://rubygems.org'
1
+ source "https://rubygems.org"
2
+ git_source(:github) { |repo| "https://github.com/#{repo}.git" }
3
+
4
+ ruby "3.2.2"
2
5
 
3
- # Specify your gem's dependencies in cv_generator.gemspec
4
6
  gemspec
data/Gemfile.lock ADDED
@@ -0,0 +1,56 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ simple_cv (0.1.0)
5
+ prawn
6
+ prawn-table
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ coderay (1.1.3)
12
+ diff-lcs (1.5.0)
13
+ method_source (1.0.0)
14
+ pdf-core (0.9.0)
15
+ prawn (2.4.0)
16
+ pdf-core (~> 0.9.0)
17
+ ttfunk (~> 1.7)
18
+ prawn-table (0.2.2)
19
+ prawn (>= 1.3.0, < 3.0.0)
20
+ pry (0.14.1)
21
+ coderay (~> 1.1)
22
+ method_source (~> 1.0)
23
+ pry-nav (1.0.0)
24
+ pry (>= 0.9.10, < 0.15)
25
+ rake (13.1.0)
26
+ rspec (3.11.0)
27
+ rspec-core (~> 3.11.0)
28
+ rspec-expectations (~> 3.11.0)
29
+ rspec-mocks (~> 3.11.0)
30
+ rspec-core (3.11.0)
31
+ rspec-support (~> 3.11.0)
32
+ rspec-expectations (3.11.1)
33
+ diff-lcs (>= 1.2.0, < 2.0)
34
+ rspec-support (~> 3.11.0)
35
+ rspec-mocks (3.11.1)
36
+ diff-lcs (>= 1.2.0, < 2.0)
37
+ rspec-support (~> 3.11.0)
38
+ rspec-support (3.11.1)
39
+ ttfunk (1.7.0)
40
+
41
+ PLATFORMS
42
+ aarch64-linux-musl
43
+
44
+ DEPENDENCIES
45
+ bundler
46
+ pry
47
+ pry-nav
48
+ rake
49
+ rspec
50
+ simple_cv!
51
+
52
+ RUBY VERSION
53
+ ruby 3.2.2p53
54
+
55
+ BUNDLED WITH
56
+ 2.3.7
data/Rakefile CHANGED
@@ -1,6 +1,18 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require "bundler/gem_tasks"
2
- require "rspec/core/rake_task"
4
+ require "rake"
5
+
6
+ desc "Load environment"
7
+ task :environment do
8
+ $LOAD_PATH.unshift(".")
9
+ end
3
10
 
4
- RSpec::Core::RakeTask.new(:spec)
11
+ desc "Ruby console with loaded env"
12
+ task console: :environment do
13
+ require "irb"
14
+ require "lib/simple_cv.rb"
5
15
 
6
- task :default => :spec
16
+ ARGV.clear
17
+ IRB.start
18
+ end
@@ -1,49 +1,59 @@
1
1
  {
2
- "title": "AwesomeCV",
2
+ "title": "SimpleCV",
3
3
  "author": "Suzanne Shaw",
4
4
  "profile": {
5
- "name": "Suzanne\nShaw",
6
- "job": "Art Director",
7
- "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
5
+ "name": "Suzanne Shaw",
6
+ "job": "Art Director"
7
+ },
8
+ "contact": {
9
+ "address": "Santa Monica, USA",
10
+ "phone": "(916)-209-3856",
11
+ "email": "suzanne.showh@example.com",
12
+ "web": "https://example.com"
13
+ },
14
+ "intro": {
15
+ "text": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.",
16
+ "receiver": {
17
+ "name": "John Doe",
18
+ "position": "Managing Director"
19
+ }
8
20
  },
9
- "contact": [
10
- ["phone", "(916)-209-3856"],
11
- ["email", "suzanne.showh@example.com"],
12
- ["website", "https://example.com"],
13
- ["address", "Santa Monica, USA"]
14
- ],
15
- "skills": [
16
- ["English", 100],
17
- ["French", 80],
18
- ["Japanese", 40],
19
- [],
20
- ["Adobe Photoshop", 90],
21
- ["Wordpress", 70],
22
- ["Joomla", 80],
23
- ["Word", 95],
24
- ["Excel", 95]
25
- ],
26
21
  "experience": [
27
22
  {
28
23
  "job": "Art Director",
29
24
  "company": "Creative Lab",
30
25
  "location": "Santa Monica",
31
26
  "date": "2016 - Present",
32
- "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
27
+ "description_list": [
28
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr",
29
+ "Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat",
30
+ "At vero eos et accusam et justo duo dolores et ea rebum",
31
+ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
32
+ ]
33
33
  },
34
34
  {
35
35
  "job": "Senior UI & UX Designer",
36
36
  "company": "Creative Media",
37
37
  "location": "Santa Monica",
38
38
  "date": "2015 - 2016",
39
- "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
39
+ "description_list": [
40
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr",
41
+ "Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat",
42
+ "At vero eos et accusam et justo duo dolores et ea rebum",
43
+ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
44
+ ]
40
45
  },
41
46
  {
42
47
  "job": "Junior UI & UX Designer",
43
48
  "company": "Creative Media",
44
49
  "location": "Santa Monica",
45
50
  "date": "2012 - 2015",
46
- "description": "Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
51
+ "description_list": [
52
+ "Lorem ipsum dolor sit amet, consetetur sadipscing elitr",
53
+ "Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat",
54
+ "At vero eos et accusam et justo duo dolores et ea rebum",
55
+ "Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet."
56
+ ]
47
57
  }
48
58
  ],
49
59
  "education": [
@@ -57,5 +67,13 @@
57
67
  "institution": "University of Arts",
58
68
  "date": "2010 - 2013"
59
69
  }
70
+ ],
71
+ "certification": [
72
+ {
73
+ "subject": "AWS Certified Cloud Practitioner",
74
+ "institution": "Amazon Web Services (AWS)",
75
+ "date": "Jan 2020",
76
+ "expiration": "Jan 2020 - Jan 2023"
77
+ }
60
78
  ]
61
79
  }
data/examples/example.yml CHANGED
@@ -1,73 +1,49 @@
1
- title: AwesomeCV
1
+ title: SimpleCV
2
2
  author: Suzanne Shaw
3
3
  profile:
4
- name: "Suzanne\nShaw"
4
+ name: "Suzanne Shaw"
5
5
  job: Art Director
6
- description: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
7
6
  contact:
8
- -
9
- - phone
10
- - (916)-209-3856
11
- -
12
- - email
13
- - suzanne.showh@example.com
14
- -
15
- - website
16
- - https://example.com
17
- -
18
- - address
19
- - Santa Monica, USA
20
-
21
- skills:
22
- -
23
- - English
24
- - 100
25
- -
26
- - French
27
- - 80
28
- -
29
- - Japanese
30
- - 40
31
- -
32
- -
33
- -
34
- -
35
- - Adobe Photoshop
36
- - 90
37
- -
38
- - Wordpress
39
- - 70
40
- -
41
- - Joomla
42
- - 80
43
- -
44
- - Word
45
- - 95
46
- -
47
- - Excel
48
- - 95
49
-
7
+ address: Santa Monica, USA
8
+ phone: (916)-209-3856
9
+ email: suzanne.showh@example.com
10
+ web: https://example.com
11
+ intro:
12
+ text: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
13
+ receiver:
14
+ name": John Doe
15
+ position": Managing Director
50
16
  experience:
51
17
  -
52
18
  job: Art Director
53
19
  company: Creative Lab
54
20
  location: Santa Monica
55
21
  date: 2016 - Present
56
- description: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
22
+ description_list:
23
+ - Lorem ipsum dolor sit amet, consetetur sadipscing elitr
24
+ - Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat
25
+ - At vero eos et accusam et justo duo dolores et ea rebum
26
+ - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
57
27
  -
58
28
  job: Senior UI & UX Designer
59
29
  company: Creative Media
60
30
  location: Santa Monica
61
31
  date: 2015 - 2016
62
- description: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
63
-
32
+ description_list:
33
+ - Lorem ipsum dolor sit amet, consetetur sadipscing elitr
34
+ - Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat
35
+ - At vero eos et accusam et justo duo dolores et ea rebum
36
+ - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
64
37
  -
65
38
  job: Junior UI & UX Designer
66
39
  company: Creative Media
67
40
  location: Santa Monica
68
41
  date: 2012 - 2015
69
- description: Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
70
-
42
+ description_list:
43
+ - Lorem ipsum dolor sit amet, consetetur sadipscing elitr
44
+ - Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat
45
+ - At vero eos et accusam et justo duo dolores et ea rebum
46
+ - Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet.
71
47
  education:
72
48
  -
73
49
  subject: Master in Media
@@ -75,5 +51,11 @@ education:
75
51
  date: 2013 - 2015
76
52
  -
77
53
  subject: Bachelor of Fine Arts
78
- institution": University of Arts
54
+ institution: University of Arts
79
55
  date: 2010 - 2013
56
+ certification:
57
+ -
58
+ subject: AWS Certified Cloud Practitioner
59
+ institution: Amazon Web Services (AWS)
60
+ date: Jan 2020
61
+ expiration: Jan 2020 - Jan 2023
@@ -1,5 +1,6 @@
1
- require "simple_cv/layout"
2
- require "hashugar"
1
+ # frozen_string_literal: true
2
+
3
+ require "lib/simple_cv/layout"
3
4
  require "json"
4
5
  require "yaml"
5
6
 
@@ -7,8 +8,8 @@ module SimpleCV
7
8
  class Basic
8
9
  attr_reader :config
9
10
 
10
- def initialize config_path:
11
- @config = build_struct_tree parse_config_file config_path
11
+ def initialize(config_path)
12
+ @config = parse_config_file(config_path)
12
13
  end
13
14
 
14
15
  # Render file
@@ -17,19 +18,15 @@ module SimpleCV
17
18
  # location. If no arguments are given, filename will be set to
18
19
  # SimpleCV.pdf and pdf will be rendered to current working dir.
19
20
 
20
- def render_file filename: "SimpleCV", path: nil
21
+ def render_file(filename: "SimpleCV", path: nil)
21
22
  output_path = File.join(path || Dir.pwd, "#{filename.chomp('.pdf')}.pdf")
22
- Layout.new(config: @config).render_file(output_path)
23
+ Layout.new(config).render_file(output_path)
23
24
  output_path
24
25
  end
25
26
 
26
27
  private
27
28
 
28
- # Parse config
29
- #
30
- # Currently yml and json files are supported. Will parse file content to hash.
31
-
32
- def parse_config_file config_path
29
+ def parse_config_file(config_path)
33
30
  File.open(config_path, "r") do |file|
34
31
  case File.extname(file).delete(".")
35
32
  when "json" then JSON.parse(file.read)
@@ -40,15 +37,5 @@ module SimpleCV
40
37
  end
41
38
  end
42
39
  end
43
-
44
- # Struct tree
45
- #
46
- # Since i prefere to use dot notation to navigate through medium size hashes,
47
- # parse hash into open structs
48
-
49
- def build_struct_tree data
50
- data.to_hashugar
51
- end
52
-
53
40
  end
54
41
  end