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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: be0143b8e8b71da17d448f58ab3d80649722194f
4
- data.tar.gz: 28be919ff3e50b7fb0834efb7818841da2c37d89
3
+ metadata.gz: c00eab04e2fb61ba26cce1eff7ae2bf507d4c9ee
4
+ data.tar.gz: 59cab4bf81b2a06e25d44eb94f42b899ced8b382
5
5
  SHA512:
6
- metadata.gz: 289d2d9b779f9dbfc1f205f80ccaebc61ce39a888642a1303cd1411364979bcf9830ff5293f712d888c1a552c78b0a18b1c14908ac5130f58ea3e9a6dbec3fc5
7
- data.tar.gz: 2699677db6ee80aa15174a8a67ea17782dde17a11d56a77294d645a28faee40c510cbee6fcbd3974d4df5595bbf47f3caf45b660ee93eb3ae0d23ee111858ad6
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
@@ -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.media = @back.media
26
- c.back.media = @front.media
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
- @front.content = value
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
- @back.content = value
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
@@ -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
- orig.instance_variable_set(:@cards, {})
53
- @cards.values.each { |c| orig.add_card c.dup }
56
+ initialize_cards
57
+ orig.cards.each { |c| add_card c.dup }
54
58
  end
55
59
  end
56
60
 
@@ -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
- deck = deck.dup
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 deck, dir
20
- export_deck deck, db
19
+ export_media export_deck, dir
20
+ export_deck export_deck, db
21
21
 
22
- filename = deck.name + '.apkg'
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|
@@ -1,3 +1,3 @@
1
1
  module Anki
2
- VERSION = '0.4.0' unless const_defined?(:VERSION)
2
+ VERSION = '0.4.1' unless const_defined?(:VERSION)
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ankirb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.0
4
+ version: 0.4.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Hutchison