ankirb 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +11 -0
- data/lib/ankirb/anki/card.rb +20 -4
- data/lib/ankirb/anki/deck.rb +6 -2
- data/lib/ankirb/export/apkg.rb +4 -4
- data/lib/ankirb/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c00eab04e2fb61ba26cce1eff7ae2bf507d4c9ee
|
4
|
+
data.tar.gz: 59cab4bf81b2a06e25d44eb94f42b899ced8b382
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6e6720f27ad14f7a3f27253bb839c8e70bc55e9fe422de336e8cb46aaa491fb2a9643b267fbf8539410827570b6b90601f27053b4e84fbbdea1fb4d82fd04e38
|
7
|
+
data.tar.gz: eae980b79aaecd6d0be1cc4cb802d491d7d48a80662aa969de70ff3b2b529e14b9abaf37cdfcd0e217d059f52fd4c93adce08656d523298a0464e1250f7e5f43
|
data/Rakefile
CHANGED
@@ -1,10 +1,21 @@
|
|
1
1
|
require "bundler/gem_tasks"
|
2
2
|
require "rake/testtask"
|
3
3
|
|
4
|
+
gemspec_file = Dir['*.gemspec'].first
|
5
|
+
gemspec = eval File.read(gemspec_file), binding, gemspec_file
|
6
|
+
info = "#{gemspec.name} | #{gemspec.version} | " \
|
7
|
+
"#{gemspec.runtime_dependencies.size} dependencies | " \
|
8
|
+
"#{gemspec.files.size} files"
|
9
|
+
|
4
10
|
Rake::TestTask.new(:test) do |t|
|
5
11
|
t.libs << "test"
|
6
12
|
t.libs << "lib"
|
7
13
|
t.test_files = FileList['test/**/*_test.rb']
|
8
14
|
end
|
9
15
|
|
16
|
+
desc "#{gemspec.name} | IRB"
|
17
|
+
task :irb do
|
18
|
+
exec "irb -I ./lib -r #{gemspec.name.gsub '-','/'}"
|
19
|
+
end
|
20
|
+
|
10
21
|
task :default => :test
|
data/lib/ankirb/anki/card.rb
CHANGED
@@ -22,8 +22,8 @@ module Anki
|
|
22
22
|
# returns a new card with the front and back of the original inverted
|
23
23
|
def invert
|
24
24
|
c = Anki::Card.new(front: @back.to_s, back: @front.to_s)
|
25
|
-
c.front
|
26
|
-
c.back
|
25
|
+
c.front = @back.dup
|
26
|
+
c.back = @front.dup
|
27
27
|
c
|
28
28
|
end
|
29
29
|
|
@@ -38,11 +38,25 @@ module Anki
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def front= value
|
41
|
-
|
41
|
+
if value.is_a? String
|
42
|
+
@front.content = value
|
43
|
+
else
|
44
|
+
@front = value
|
45
|
+
end
|
42
46
|
end
|
43
47
|
|
44
48
|
def back= value
|
45
|
-
|
49
|
+
if value.is_a? String
|
50
|
+
@back.content = value
|
51
|
+
else
|
52
|
+
@back = value
|
53
|
+
end
|
54
|
+
end
|
55
|
+
|
56
|
+
def initialize_copy orig
|
57
|
+
super
|
58
|
+
@front = Marshal.load(Marshal.dump(orig.front))
|
59
|
+
@back = Marshal.load(Marshal.dump(orig.back))
|
46
60
|
end
|
47
61
|
|
48
62
|
alias :question :front
|
@@ -60,6 +74,8 @@ module Anki
|
|
60
74
|
end
|
61
75
|
|
62
76
|
def << thing
|
77
|
+
return unless thing and not thing.empty?
|
78
|
+
|
63
79
|
if File.exists?(thing)
|
64
80
|
@media << thing
|
65
81
|
else
|
data/lib/ankirb/anki/deck.rb
CHANGED
@@ -6,6 +6,10 @@ module Anki
|
|
6
6
|
def initialize name
|
7
7
|
@name = name
|
8
8
|
@id = Anki::Helper.get_id
|
9
|
+
initialize_cards
|
10
|
+
end
|
11
|
+
|
12
|
+
def initialize_cards
|
9
13
|
@cards = {}
|
10
14
|
|
11
15
|
#change @cards#to_s to prevent recursive output via parent / child relationship
|
@@ -49,8 +53,8 @@ module Anki
|
|
49
53
|
|
50
54
|
def initialize_copy(orig)
|
51
55
|
super
|
52
|
-
|
53
|
-
|
56
|
+
initialize_cards
|
57
|
+
orig.cards.each { |c| add_card c.dup }
|
54
58
|
end
|
55
59
|
end
|
56
60
|
|
data/lib/ankirb/export/apkg.rb
CHANGED
@@ -11,15 +11,15 @@ module Anki
|
|
11
11
|
|
12
12
|
# exports the provided deck object to an apkg file at the specified path
|
13
13
|
def self.export deck, path
|
14
|
-
|
14
|
+
export_deck = deck.dup
|
15
15
|
|
16
16
|
Dir.mktmpdir do |dir|
|
17
17
|
db = DB.create File.join(dir,'collection.anki2')
|
18
18
|
|
19
|
-
export_media
|
20
|
-
export_deck
|
19
|
+
export_media export_deck, dir
|
20
|
+
export_deck export_deck, db
|
21
21
|
|
22
|
-
filename =
|
22
|
+
filename = export_deck.name + '.apkg'
|
23
23
|
archive = Zip::File.open(File.join(dir,filename), Zip::File::CREATE)
|
24
24
|
|
25
25
|
Dir.glob(File.join(dir,'*')).each do |file|
|
data/lib/ankirb/version.rb
CHANGED