full_time 1.0.0
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 +7 -0
- data/.gitignore +3 -0
- data/.rspec +3 -0
- data/Gemfile +4 -0
- data/README.md +318 -0
- data/Rakefile +6 -0
- data/bin/console +14 -0
- data/bin/fulltime +11 -0
- data/bin/rake +17 -0
- data/bin/rspec +17 -0
- data/bin/setup +7 -0
- data/example/cv.html +472 -0
- data/example/cv.rb +280 -0
- data/example/simple-grid.css +250 -0
- data/example/template.html.erb +90 -0
- data/full_time.gemspec +29 -0
- data/lib/full_time/certification.rb +27 -0
- data/lib/full_time/company.rb +25 -0
- data/lib/full_time/course.rb +7 -0
- data/lib/full_time/dsl.rb +15 -0
- data/lib/full_time/education.rb +15 -0
- data/lib/full_time/employment.rb +19 -0
- data/lib/full_time/list.rb +7 -0
- data/lib/full_time/profile.rb +55 -0
- data/lib/full_time/project.rb +30 -0
- data/lib/full_time/university.rb +9 -0
- data/lib/full_time/version.rb +3 -0
- data/lib/full_time.rb +19 -0
- metadata +131 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
module FullTime
|
2
|
+
module DSL
|
3
|
+
def dsl_attr_accessor(*attributes)
|
4
|
+
attributes.each do |attr|
|
5
|
+
define_method attr do |*args|
|
6
|
+
case args.size
|
7
|
+
when 0 then instance_variable_get("@#{attr}")
|
8
|
+
when 1 then instance_variable_set("@#{attr}", args.first)
|
9
|
+
else raise ArgumentError, "wrong number of arguments (#{args.size} for 0..1)"
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
module FullTime
|
2
|
+
class Education
|
3
|
+
def university(name = nil, start_date: nil, end_date: nil, &block)
|
4
|
+
if block_given?
|
5
|
+
@university = University.new
|
6
|
+
@university.name = name
|
7
|
+
@university.start_date = start_date
|
8
|
+
@university.end_date = end_date
|
9
|
+
@university.instance_eval(&block)
|
10
|
+
end
|
11
|
+
|
12
|
+
@university
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
module FullTime
|
2
|
+
class Employment
|
3
|
+
attr_accessor :companies
|
4
|
+
|
5
|
+
def initialize
|
6
|
+
@companies = []
|
7
|
+
end
|
8
|
+
|
9
|
+
def company(name = nil, &block)
|
10
|
+
if block_given?
|
11
|
+
company = Company.new
|
12
|
+
company.name = name
|
13
|
+
company.instance_eval(&block)
|
14
|
+
@companies << company
|
15
|
+
company
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
module FullTime
|
2
|
+
class Profile
|
3
|
+
extend FullTime::DSL
|
4
|
+
|
5
|
+
dsl_attr_accessor :name, :email, :homepage, :github, :linkedin, :twitter, :goodreads, :location, :extra
|
6
|
+
|
7
|
+
def initialize
|
8
|
+
@skills = List.new
|
9
|
+
@interests = List.new
|
10
|
+
end
|
11
|
+
|
12
|
+
def skills(&block)
|
13
|
+
if block_given?
|
14
|
+
@skills.instance_eval(&block)
|
15
|
+
end
|
16
|
+
|
17
|
+
@skills
|
18
|
+
end
|
19
|
+
|
20
|
+
def employment(&block)
|
21
|
+
if block_given?
|
22
|
+
@employment = Employment.new
|
23
|
+
@employment.instance_eval(&block)
|
24
|
+
end
|
25
|
+
|
26
|
+
@employment
|
27
|
+
end
|
28
|
+
|
29
|
+
def education(&block)
|
30
|
+
if block_given?
|
31
|
+
@education = Education.new
|
32
|
+
@education.instance_eval(&block)
|
33
|
+
end
|
34
|
+
|
35
|
+
@education
|
36
|
+
end
|
37
|
+
|
38
|
+
def certification(&block)
|
39
|
+
if block_given?
|
40
|
+
@certification = Certification.new
|
41
|
+
@certification.instance_eval(&block)
|
42
|
+
end
|
43
|
+
|
44
|
+
@certification
|
45
|
+
end
|
46
|
+
|
47
|
+
def interests(&block)
|
48
|
+
if block_given?
|
49
|
+
@interests.instance_eval(&block)
|
50
|
+
end
|
51
|
+
|
52
|
+
@interests
|
53
|
+
end
|
54
|
+
end
|
55
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
module FullTime
|
2
|
+
class Project
|
3
|
+
extend FullTime::DSL
|
4
|
+
|
5
|
+
dsl_attr_accessor :homepage, :description, :title
|
6
|
+
|
7
|
+
attr_accessor :name, :start_date, :end_date
|
8
|
+
|
9
|
+
def initialize
|
10
|
+
@technologies = List.new
|
11
|
+
@achievements = List.new
|
12
|
+
end
|
13
|
+
|
14
|
+
def technologies(&block)
|
15
|
+
if block_given?
|
16
|
+
@technologies.instance_eval(&block)
|
17
|
+
end
|
18
|
+
|
19
|
+
@technologies
|
20
|
+
end
|
21
|
+
|
22
|
+
def achievements(&block)
|
23
|
+
if block_given?
|
24
|
+
@achievements.instance_eval(&block)
|
25
|
+
end
|
26
|
+
|
27
|
+
@achievements
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|
data/lib/full_time.rb
ADDED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "full_time/dsl"
|
2
|
+
require "full_time/list"
|
3
|
+
|
4
|
+
require "full_time/profile"
|
5
|
+
require "full_time/employment"
|
6
|
+
require "full_time/education"
|
7
|
+
require "full_time/certification"
|
8
|
+
require "full_time/company"
|
9
|
+
require "full_time/project"
|
10
|
+
require "full_time/university"
|
11
|
+
require "full_time/course"
|
12
|
+
|
13
|
+
module FullTime
|
14
|
+
def self.profile(&block)
|
15
|
+
profile = Profile.new
|
16
|
+
profile.instance_eval(&block)
|
17
|
+
profile
|
18
|
+
end
|
19
|
+
end
|
metadata
ADDED
@@ -0,0 +1,131 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: full_time
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Andrew Babichev
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2018-11-15 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: tilt
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ">="
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '0'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ">="
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: bundler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: rake
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - ">="
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - ">="
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: rspec
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '0'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - ">="
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '0'
|
69
|
+
description: Handle your CV like a pro
|
70
|
+
email: andrew.babichev@gmail.com
|
71
|
+
executables:
|
72
|
+
- console
|
73
|
+
- fulltime
|
74
|
+
- rake
|
75
|
+
- rspec
|
76
|
+
- setup
|
77
|
+
extensions: []
|
78
|
+
extra_rdoc_files: []
|
79
|
+
files:
|
80
|
+
- ".gitignore"
|
81
|
+
- ".rspec"
|
82
|
+
- Gemfile
|
83
|
+
- README.md
|
84
|
+
- Rakefile
|
85
|
+
- bin/console
|
86
|
+
- bin/fulltime
|
87
|
+
- bin/rake
|
88
|
+
- bin/rspec
|
89
|
+
- bin/setup
|
90
|
+
- example/cv.html
|
91
|
+
- example/cv.rb
|
92
|
+
- example/simple-grid.css
|
93
|
+
- example/template.html.erb
|
94
|
+
- full_time.gemspec
|
95
|
+
- lib/full_time.rb
|
96
|
+
- lib/full_time/certification.rb
|
97
|
+
- lib/full_time/company.rb
|
98
|
+
- lib/full_time/course.rb
|
99
|
+
- lib/full_time/dsl.rb
|
100
|
+
- lib/full_time/education.rb
|
101
|
+
- lib/full_time/employment.rb
|
102
|
+
- lib/full_time/list.rb
|
103
|
+
- lib/full_time/profile.rb
|
104
|
+
- lib/full_time/project.rb
|
105
|
+
- lib/full_time/university.rb
|
106
|
+
- lib/full_time/version.rb
|
107
|
+
homepage: https://github.com/Tensho/full_time
|
108
|
+
licenses:
|
109
|
+
- MIT
|
110
|
+
metadata: {}
|
111
|
+
post_install_message: Thanks for installing full_time!
|
112
|
+
rdoc_options: []
|
113
|
+
require_paths:
|
114
|
+
- lib
|
115
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
116
|
+
requirements:
|
117
|
+
- - "~>"
|
118
|
+
- !ruby/object:Gem::Version
|
119
|
+
version: '2.0'
|
120
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
121
|
+
requirements:
|
122
|
+
- - ">="
|
123
|
+
- !ruby/object:Gem::Version
|
124
|
+
version: '0'
|
125
|
+
requirements: []
|
126
|
+
rubyforge_project:
|
127
|
+
rubygems_version: 2.7.6
|
128
|
+
signing_key:
|
129
|
+
specification_version: 4
|
130
|
+
summary: Simple CV DSL
|
131
|
+
test_files: []
|