# encoding: utf-8

class BestEmployeeEver < Human
  include OrdinaryEmployee
  include GoodEmployee
  include Programmer

  first_name  'Łukasz'
  middle_name 'Jan'
  last_name   'Niemier'

  email       'lukasz@niemier.pl'
  mobile      '+48 603 911 943'

  nicknames   %w(Hauleth WinerFresh vonHohenheimm)

  birth_date  Date.new(1993, 3, 16)

  key server: 'keys.gnupg.net',
      id: 'ff6118c5'

  def github
    'http://github.com/hauleth'
  end

  def education
    {
      finished: [
        HighSchool.new(name: "St. John Kanty's",
                       number: 3,
                       where: 'Poznań')
      ],
      in_progress: [
        University.new(name: 'Poznan University of Technology',
                       field: 'Computer Science',
                       est_graduation: 2018)
      ]
    }
  end

  def extra_experience
    [
      Volunteer.new(where: 'Pyrkon', years: [2011, 2012, 2013, 2014]),
      Volunteer.new(where: 'UEFA Euro', years: [2012]),
      Volunteer.new(where: 'Copernicon', years: [2012])
      Volunteer.new(where: 'Front-Trends', years: [2014]),
      Volunteer.new(where: 'PolyConf', years: [2014]),
      Organisation.new(where: 'Pyrkon', position: 'V-ce Technical', years: [2015])
    ]
  end

  def prizes
    [
      RubyOSC.win(place: 2, name: 'the Star of Community')
    ]
  end

  def programing_skills
    {
      advanced: %w(C C++ D Ruby Rust),
      intermediate: %w(Scheme sh JS R),
      basic: %w(C# Haskell Java PHP)
    }
  end

  def languages
    {
      mother_tongue: 'Polish',
      intermediate: %w[English]
    }
  end

  def hobbies
    %w(Airsoft RPG WarhammerFantasyBattle MagicTheGathering Post-Apo)
  end

  def know_html5?
    true
  end

  def know_css3?
    true
  end

  def known_css_tools
    %w(Sass SCSS)
  end

  def known_html_markups
    %w(ERB Haml Slim)
  end

  def have_ever_developed_with_mvc?
    true
  end

  def worked_with_rails?
    true
  end

  def created_projects
    [
      RubyGem.new(name: 'sass-960gs',
                  url: 'http://github.com/hauleth/sass-960gs',
                  open_source: true),
      RubyGem.new(name: 'i18n-generators',
                  url: 'http://github.com/hauleth/i18n-generators',
                  open_source: true),
      RailsApp.new(name: 'orodruin',
                   url: 'http://github.com/hauleth/orodruin',
                   open_source: true),
      Tool.new(name: 'cheatly',
               url: 'http://github.com/arthurnn/cheatly',
               open_source: true)
    ]
  end

  def contributted
    [
      RustCrate.new(name: 'image',
                    url: 'https://github.com/PistonDevelopers/image'),
      RustCompiler.new(name: 'rust',
                       url: 'https://github.com/rust-lang/rust')
      RubyGems.new(name: 'curly',
                   url: 'https://github.com/zendesk/curly'),
      RubyGems.new(name: 'cheatly',
                   url: 'https://github.com/arthurnn/cheatly'),
      RubyGems.new(name: 'devise',
                   url: 'https://github.com/plataformatec/devise')
    ]
  end
end