ankirb 0.4.0 → 0.4.1

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: 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