memit 0.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 5bf7e43a76d3d4fe5f66cf8c398821ce1c317094
4
+ data.tar.gz: 02558772132b696925592d33c8e2913ddb529542
5
+ SHA512:
6
+ metadata.gz: 0737cc903a81ddee84b75da60003852467cc6fc1516defa61088686576d553bbb90abef2f01ee9c8da789300052c7b3e71619bc683c6df66f1a6c88ab49eb023
7
+ data.tar.gz: 9f258c15de3aaf308603cba86bd3fcfd16fdf9c327adb17a60389654b53d8ff11d263e09f3b49d056971e3d6c3b919d0c94424e5151c90648f4cea87f5ec2a9e
@@ -0,0 +1,4 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ require_relative '../lib/memit/cli'
4
+ Memit::CLI.start(ARGV)
@@ -0,0 +1,69 @@
1
+ advantage _ (korzyść, zaleta, przewaga z);of
2
+ disadvantage _ (wada, niekorzyść z);of
3
+ suspicion _ (podejrzenie o);of
4
+ photograph _ (zdjęcie czegoś);of
5
+ picture _ (obraz czegoś);of
6
+ map _ (mapa czegoś);of
7
+ cause _ (przyczyna czegoś);of
8
+ intention _ (zamiar);of
9
+ disapproval _ (dezaprobata wobec);of
10
+ gratitude _ (wdzięczność za);for
11
+ cheque _ (czek na);for
12
+ demand _ (popyt na);for
13
+ excuse _ (wymówka za);for
14
+ punishment _ (kara za);for
15
+ reason _ (przyczyna czegoś);for
16
+ vocation _ (powołanie do czegoś);for
17
+ weakness _ (słabość do);for
18
+ application _ (podanie o);for
19
+ responsibility _ (odpowiedzialność za);for
20
+ respect _ (szacunek dla);for
21
+ admiration _ (podziw dla);for
22
+ room _ (miejsce dla / na);for
23
+ sympathy _ (współczucie dla);for
24
+ recipe _ (przepis na);for
25
+ answer _ (odpowiedź na);to
26
+ solution _ (rozwiązanie czegoś);to
27
+ invitation _ (zaproszenie na);to
28
+ damage _ (zniszczenie czegoś);to
29
+ addiction _ (uzależnienie od);to
30
+ attitude _ (nastawienie wobec);to
31
+ attention _ (zwracać uwagę na);to
32
+ reply _ (odpowiedź na);to
33
+ chance _ (szansa na);to
34
+ response _ (odpowiedź na);to
35
+ access _ (dostęp do);to
36
+ threat _ (zagrożenie dla);to
37
+ increase _ (wzrost czegoś);in
38
+ rise _ (wzrost czegoś);in
39
+ decrease _ (spadek, zniżka czegoś);in
40
+ fall _ (spadek, zniżka czegoś);in
41
+ belief _ (wiara w);in
42
+ interest _ (zainteresowanie czymś);in
43
+ investment _ (inwestycja w);in
44
+ pride _ (być dumnym z);in
45
+ trust _ (zaufanie do);in
46
+ experience _ (doświadczenie w);in
47
+ dependence _ (zależność od);on
48
+ reliance _ (wiara, zaufanie do);on
49
+ comment _ (komentarz o);on
50
+ tax _ (podatek od);on
51
+ influence _ (wpływ na);on
52
+ ban _ (zakaz czegoś);on
53
+ effect _ (wpływ na);on
54
+ encounter _ (spotkanie z);with
55
+ quarrel _ (kłótnia z);with
56
+ contact _ (kontakt z);with
57
+ link _ (styczność z);with
58
+ relationship _ (związek z drugą osobą);with
59
+ connection _ (połączenie, więź z);with
60
+ difference _ (różnica pomiędzy);between
61
+ disagreement _ (niezgoda pomiędzy);between
62
+ relationship _ (stosunek, powiązanie pomiędzy);between
63
+ contact _ (kontakt pomiędzy);between
64
+ connection _ (połączenie pomiędzy);between
65
+ control _ (kontrola, władza nad);over
66
+ dispute _ (kłótnia, spór o);over
67
+ skill _ (umiejętność, zdolność);at
68
+ attempt _ (próba zrobienia czegoś);at
69
+ ability _ (umiejętność, zdolność);at
@@ -0,0 +1,19 @@
1
+ require 'pathname'
2
+ require 'json'
3
+ require 'thor'
4
+ require 'csv'
5
+
6
+ require_relative './memit/cli'
7
+ require_relative './memit/config'
8
+ require_relative './memit/config_repository'
9
+ require_relative './memit/question_provider'
10
+
11
+ module Memit
12
+ def self.root_path
13
+ @root_path ||= Pathname.new(__dir__).parent
14
+ end
15
+
16
+ def self.config_path
17
+ @config_path ||= Pathname.new(File.expand_path('~/.memit'))
18
+ end
19
+ end
@@ -0,0 +1,45 @@
1
+ require_relative '../memit'
2
+
3
+ module Memit
4
+ class CLI < Thor
5
+ desc 'askme', 'Asks a single question'
6
+ def askme
7
+ c = config_repository.load
8
+ qp = Memit::QuestionProvider.new(c.data_path)
9
+ q, a = qp.random_question
10
+
11
+ puts q
12
+ if STDIN.gets.chomp == a
13
+ puts 'Correct!'
14
+ else
15
+ puts "Wrong! Should be '#{a}'."
16
+ end
17
+ end
18
+
19
+ desc 'setdata', 'Sets data'
20
+ def setdata(path)
21
+ unless File.exist?(path)
22
+ puts 'Data file does not exist.'
23
+ return
24
+ end
25
+
26
+ c = config_repository.load
27
+
28
+ c.data_path = path
29
+ config_repository.save(c)
30
+ end
31
+
32
+ desc 'whichdata', 'Prints'
33
+ def whichdata
34
+ c = config_repository.load
35
+
36
+ puts c.data_path
37
+ end
38
+
39
+ private
40
+
41
+ def config_repository
42
+ @config_repository ||= Memit::ConfigRepository.new(Memit.config_path)
43
+ end
44
+ end
45
+ end
@@ -0,0 +1,15 @@
1
+ require_relative '../memit'
2
+
3
+ module Memit
4
+ class Config
5
+ def self.default
6
+ new(Memit.root_path.join('data', 'prepositions.csv'))
7
+ end
8
+
9
+ attr_accessor :data_path
10
+
11
+ def initialize(data_path)
12
+ @data_path = data_path
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,31 @@
1
+ require_relative '../memit'
2
+
3
+ module Memit
4
+ class ConfigRepository
5
+ class UnparsableConfigFileError < StandardError
6
+ end
7
+
8
+ def initialize(config_path)
9
+ @config_path = config_path
10
+ end
11
+
12
+ def save(config)
13
+ File.open(@config_path, 'w') do |f|
14
+ h = {data_path: config.data_path}
15
+ f.write(h.to_json)
16
+ end
17
+ end
18
+
19
+ def load
20
+ if File.exist?(@config_path)
21
+ h = JSON.parse(File.read(@config_path))
22
+ Memit::Config.new(h['data_path'])
23
+ else
24
+ Memit::Config.default
25
+ end
26
+
27
+ rescue JSON::ParserError
28
+ raise UnparsableConfigFileError
29
+ end
30
+ end
31
+ end
@@ -0,0 +1,19 @@
1
+ require_relative '../memit'
2
+
3
+ module Memit
4
+ class QuestionProvider
5
+ def initialize(data_path)
6
+ @data_path = data_path
7
+ end
8
+
9
+ def random_question
10
+ data.sample
11
+ end
12
+
13
+ private
14
+
15
+ def data
16
+ @data ||= CSV.read(@data_path, col_sep: ';', row_sep: "\n", encoding: 'utf-8')
17
+ end
18
+ end
19
+ end
metadata ADDED
@@ -0,0 +1,51 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: memit
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Piotr Leniec
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-06-11 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description:
14
+ email: leniec.piotr@gmail.com
15
+ executables:
16
+ - memit
17
+ extensions: []
18
+ extra_rdoc_files: []
19
+ files:
20
+ - bin/memit
21
+ - data/prepositions.csv
22
+ - lib/memit.rb
23
+ - lib/memit/cli.rb
24
+ - lib/memit/config.rb
25
+ - lib/memit/config_repository.rb
26
+ - lib/memit/question_provider.rb
27
+ homepage:
28
+ licenses:
29
+ - MIT
30
+ metadata: {}
31
+ post_install_message:
32
+ rdoc_options: []
33
+ require_paths:
34
+ - lib
35
+ required_ruby_version: !ruby/object:Gem::Requirement
36
+ requirements:
37
+ - - ">="
38
+ - !ruby/object:Gem::Version
39
+ version: '0'
40
+ required_rubygems_version: !ruby/object:Gem::Requirement
41
+ requirements:
42
+ - - ">="
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
45
+ requirements: []
46
+ rubyforge_project:
47
+ rubygems_version: 2.5.1
48
+ signing_key:
49
+ specification_version: 4
50
+ summary: Do you have to memorize something? Memit can help you!
51
+ test_files: []