hemlock 0.0.8 → 0.0.9

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
2
  SHA1:
3
- metadata.gz: 0d70d3bc161e504779ce0922901c0fb349de8e0c
4
- data.tar.gz: 406a77437e3f6e51dee336d209fb81626f533473
3
+ metadata.gz: 3f6d9f919d34b2f1fb39c71e7f006c2593d56445
4
+ data.tar.gz: 7ebe69e1fb5733f85cac5172cdb7a072d347cf9a
5
5
  SHA512:
6
- metadata.gz: 233cba104acd1840d301a63c36b1e201de211a16c68ae4f336babf1567f7c40ced7d0461de0e7328b9be44285e39e337a6b1cb9813df2e45d001dbadbdff0f1c
7
- data.tar.gz: 792a987c0aa5c82567b07da03a59c61506f2a569a30b089094137e58b51b7494bca8741b53e0f48489d759f6a219794e657547a48785332104c3d99fab803284
6
+ metadata.gz: e22ef8a5856e35337959221c73e1ace8fa74e9d564f1f630f0312ed5294eed15dcbeed001f6bed1608265a8b82468a7bcdda1f18521ff410ccd7fa27ab71e009
7
+ data.tar.gz: e964c17030b9cdbf7f2d077b060d0cde76d8efdc45ca46d06e96e959f862a077f8157340f416f1a55c0be05958665cdf9908e893e40aced414f0451313726220
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- hemlock (0.0.8)
4
+ hemlock (0.0.9)
5
5
  gli (= 2.9.0)
6
6
  rainbow (= 1.99.1)
7
7
 
@@ -10,26 +10,31 @@ GEM
10
10
  specs:
11
11
  celluloid (0.15.2)
12
12
  timers (~> 1.1.0)
13
+ celluloid-io (0.15.0)
14
+ celluloid (>= 0.15.0)
15
+ nio4r (>= 0.5.0)
13
16
  coderay (1.1.0)
14
17
  diff-lcs (1.2.5)
15
18
  ffi (1.9.3)
16
19
  formatador (0.2.4)
17
20
  gli (2.9.0)
18
- guard (2.3.0)
21
+ guard (2.4.0)
19
22
  formatador (>= 0.2.4)
20
23
  listen (~> 2.1)
21
24
  lumberjack (~> 1.0)
22
25
  pry (>= 0.9.12)
23
26
  thor (>= 0.18.1)
24
- guard-rspec (4.2.5)
27
+ guard-rspec (4.2.6)
25
28
  guard (~> 2.1)
26
29
  rspec (>= 2.14, < 4.0)
27
- listen (2.4.0)
30
+ listen (2.5.0)
28
31
  celluloid (>= 0.15.2)
32
+ celluloid-io (>= 0.15.0)
29
33
  rb-fsevent (>= 0.9.3)
30
34
  rb-inotify (>= 0.9)
31
35
  lumberjack (1.0.4)
32
36
  method_source (0.8.2)
37
+ nio4r (1.0.0)
33
38
  pry (0.9.12.6)
34
39
  coderay (~> 1.0)
35
40
  method_source (~> 0.8)
data/bin/hemlock CHANGED
@@ -1,7 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
  require 'gli'
3
3
  require 'hemlock'
4
- require 'readline'
5
4
  require 'rainbow'
6
5
 
7
6
  include GLI::App
@@ -10,42 +9,15 @@ program_desc 'Memorization through repetitive writing - Socrates is not amused'
10
9
 
11
10
  version Hemlock::VERSION
12
11
 
13
- pre do |global,command,options,args|
14
- true
15
- end
16
-
17
12
  command :drink do |c|
18
13
  c.desc "Crito, we owe a rooster to Asclepius. Please, don't forget to pay the debt."
19
14
 
20
15
  c.action do |global_options, options, args|
21
- if args.empty?
22
- puts printf Rainbow("Using native flashcards").blue
23
- args = []
24
- end
25
- flashcards = Hemlock::CSVtoFlashcards.create_flashcards(args.join)
26
- exit_now!('There are no flashcards in this folder') if flashcards.empty?
27
- 5.times do
28
- seed = rand(0..(flashcards.length - 1))
29
- flashcard = flashcards[seed]
30
- puts flashcard.question
31
- answer = Readline.readline('>> ', false)
32
- if flashcard.correct?(answer)
33
- puts printf Rainbow('Correct').green
34
- else
35
- puts printf Rainbow('You must submit to the quarries').red
36
- i = 1
37
- while i < 3 do
38
- puts flashcard.question
39
- puts flashcard.answer
40
- answer = Readline.readline('>> ', true)
41
- if flashcard.correct?(answer)
42
- i += 1
43
- else
44
- puts printf Rainbow('Who are you? Sisyphus?!').red
45
- redo
46
- end
47
- end
48
- end
16
+ number_of_turns = args.empty? ? 5 : args.first.to_i
17
+ flashcards = Hemlock::CSVtoFlashcards.create_flashcards
18
+ number_of_turns.times do
19
+ flashcard = flashcards.sample
20
+ Hemlock::Turn.new(flashcard).take_turn
49
21
  end
50
22
  end
51
23
  end
data/hemlock.gemspec CHANGED
@@ -8,12 +8,8 @@ spec = Gem::Specification.new do |s|
8
8
  s.homepage = 'https://github.com/shicholas/hemlock'
9
9
  s.platform = Gem::Platform::RUBY
10
10
  s.summary = 'Memorization through written repetition - Socrates is not amused'
11
- s.files = `git ls-files`.split("
12
- ")
13
- s.require_paths << 'lib'
14
- s.require_paths << 'flashcards'
15
- s.has_rdoc = true
16
- s.rdoc_options << '--title' << 'hemlock' << '--main' << '-ri'
11
+ s.files = `git ls-files`.split("\n")
12
+ s.require_paths << 'lib' << 'flashcards'
17
13
  s.bindir = 'bin'
18
14
  s.executables << 'hemlock'
19
15
  s.add_development_dependency('guard-rspec')
@@ -4,9 +4,8 @@ require 'csv'
4
4
  module Hemlock
5
5
  class CSVtoFlashcards
6
6
 
7
- def self.create_flashcards(folder_name)
8
- folder_name = default_flashcard_directory if folder_name.empty?
9
- folder_name = self.replace_tildes(folder_name)
7
+ def self.create_flashcards
8
+ folder_name = self.replace_tildes(default_flashcard_directory)
10
9
  flashcards = []
11
10
  Dir["#{folder_name}/*.csv"].each do |file|
12
11
  flashcards << self.from_file(file)
@@ -0,0 +1,38 @@
1
+ require 'readline'
2
+
3
+ module Hemlock
4
+ class Turn
5
+
6
+ def initialize(flashcard)
7
+ @flashcard = flashcard
8
+ end
9
+
10
+ def take_turn
11
+ puts @flashcard.question
12
+ guess = Readline.readline('>> ', false)
13
+ if @flashcard.correct?(guess)
14
+ puts printf Rainbow('Correct').green
15
+ else
16
+ puts printf Rainbow('You must submit to the quarries').red
17
+ punishment
18
+ end
19
+ end
20
+
21
+ private
22
+
23
+ def punishment
24
+ i = 1
25
+ while i < 3 do
26
+ puts @flashcard.question
27
+ puts @flashcard.answer
28
+ guess = Readline.readline('>> ', true)
29
+ if @flashcard.correct?(guess)
30
+ i += 1
31
+ else
32
+ puts printf Rainbow('Who are you? Sisyphus?!').red
33
+ redo
34
+ end
35
+ end
36
+ end
37
+ end
38
+ end
@@ -1,3 +1,3 @@
1
1
  module Hemlock
2
- VERSION = '0.0.8'
2
+ VERSION = '0.0.9'
3
3
  end
data/lib/hemlock.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'hemlock/version.rb'
2
2
  require 'hemlock/csv_to_flashcards'
3
+ require 'hemlock/turn'
3
4
 
4
5
  module Hemlock
5
6
  end
@@ -0,0 +1,15 @@
1
+ require 'spec_helper'
2
+
3
+ describe Hemlock::Turn do
4
+
5
+ subject { described_class }
6
+ let(:flashcard) { Hemlock::Flashcard.new('blue', 'a great color') }
7
+ let(:flashcards) { [flashcard] }
8
+ let(:turn) { Hemlock::Turn.new(flashcard) }
9
+
10
+ context '#take_turn' do
11
+ it 'should print correct on a correct guess' do
12
+ # pending
13
+ end
14
+ end
15
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  require 'hemlock/csv_to_flashcards'
2
+ require 'hemlock/turn'
2
3
  require 'thor'
3
4
  require 'stringio'
4
5
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: hemlock
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nicholas Shook
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-02-10 00:00:00.000000000 Z
11
+ date: 2014-02-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: guard-rspec
@@ -88,20 +88,18 @@ files:
88
88
  - lib/hemlock.rb
89
89
  - lib/hemlock/csv_to_flashcards.rb
90
90
  - lib/hemlock/flashcard.rb
91
+ - lib/hemlock/turn.rb
91
92
  - lib/hemlock/version.rb
92
93
  - spec/hemlock/csv_to_flashcards_spec.rb
93
94
  - spec/hemlock/flashcard_spec.rb
95
+ - spec/hemlock/turn_spec.rb
94
96
  - spec/spec_helper.rb
95
97
  - spec/stub.csv
96
98
  homepage: https://github.com/shicholas/hemlock
97
99
  licenses: []
98
100
  metadata: {}
99
101
  post_install_message:
100
- rdoc_options:
101
- - "--title"
102
- - hemlock
103
- - "--main"
104
- - "-ri"
102
+ rdoc_options: []
105
103
  require_paths:
106
104
  - lib
107
105
  - lib