alexandria-book-collection-manager 0.6.9 → 0.7.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (86) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/.rubocop.yml +34 -30
  4. data/.rubocop_todo.yml +139 -54
  5. data/CHANGELOG.md +10 -0
  6. data/Gemfile +1 -0
  7. data/Rakefile +10 -11
  8. data/alexandria-book-collection-manager.gemspec +3 -2
  9. data/bin/alexandria +1 -1
  10. data/lib/alexandria.rb +3 -6
  11. data/lib/alexandria/about.rb +9 -9
  12. data/lib/alexandria/book_providers.rb +12 -12
  13. data/lib/alexandria/book_providers/adlibris.rb +14 -18
  14. data/lib/alexandria/book_providers/amazon_aws.rb +17 -31
  15. data/lib/alexandria/book_providers/amazon_ecs_util.rb +5 -6
  16. data/lib/alexandria/book_providers/barnes_and_noble.rb +51 -76
  17. data/lib/alexandria/book_providers/bol_it.rb +12 -12
  18. data/lib/alexandria/book_providers/deastore.rb +27 -31
  19. data/lib/alexandria/book_providers/douban.rb +9 -13
  20. data/lib/alexandria/book_providers/ibs_it.rb +10 -10
  21. data/lib/alexandria/book_providers/mcu.rb +12 -18
  22. data/lib/alexandria/book_providers/proxis.rb +14 -22
  23. data/lib/alexandria/book_providers/pseudomarc.rb +8 -18
  24. data/lib/alexandria/book_providers/renaud.rb +16 -16
  25. data/lib/alexandria/book_providers/siciliano.rb +25 -38
  26. data/lib/alexandria/book_providers/thalia.rb +13 -16
  27. data/lib/alexandria/book_providers/webster_it.rb +14 -18
  28. data/lib/alexandria/book_providers/worldcat.rb +21 -25
  29. data/lib/alexandria/book_providers/z3950.rb +19 -23
  30. data/lib/alexandria/config.rb +2 -2
  31. data/lib/alexandria/execution_queue.rb +3 -1
  32. data/lib/alexandria/export_library.rb +19 -22
  33. data/lib/alexandria/import_library.rb +14 -18
  34. data/lib/alexandria/import_library_csv.rb +12 -30
  35. data/lib/alexandria/models/book.rb +7 -9
  36. data/lib/alexandria/models/library.rb +44 -44
  37. data/lib/alexandria/net.rb +1 -1
  38. data/lib/alexandria/preferences.rb +12 -57
  39. data/lib/alexandria/scanners.rb +10 -6
  40. data/lib/alexandria/scanners/cuecat.rb +2 -2
  41. data/lib/alexandria/smart_library.rb +12 -12
  42. data/lib/alexandria/ui.rb +5 -2
  43. data/lib/alexandria/ui/callbacks.rb +106 -65
  44. data/lib/alexandria/ui/completion_models.rb +55 -51
  45. data/lib/alexandria/ui/dialogs/about_dialog.rb +1 -1
  46. data/lib/alexandria/ui/dialogs/acquire_dialog.rb +25 -51
  47. data/lib/alexandria/ui/dialogs/alert_dialog.rb +13 -11
  48. data/lib/alexandria/ui/dialogs/bad_isbns_dialog.rb +2 -2
  49. data/lib/alexandria/ui/dialogs/barcode_animation.rb +39 -23
  50. data/lib/alexandria/ui/dialogs/book_properties_dialog.rb +16 -21
  51. data/lib/alexandria/ui/dialogs/book_properties_dialog_base.rb +23 -24
  52. data/lib/alexandria/ui/dialogs/export_dialog.rb +46 -45
  53. data/lib/alexandria/ui/dialogs/import_dialog.rb +26 -35
  54. data/lib/alexandria/ui/dialogs/misc_dialogs.rb +11 -11
  55. data/lib/alexandria/ui/dialogs/new_book_dialog.rb +47 -59
  56. data/lib/alexandria/ui/dialogs/new_book_dialog_manual.rb +14 -13
  57. data/lib/alexandria/ui/dialogs/new_smart_library_dialog.rb +12 -11
  58. data/lib/alexandria/ui/dialogs/preferences_dialog.rb +37 -43
  59. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb +9 -8
  60. data/lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb +47 -53
  61. data/lib/alexandria/ui/dndable.rb +5 -4
  62. data/lib/alexandria/ui/icons.rb +19 -19
  63. data/lib/alexandria/ui/iconview.rb +7 -12
  64. data/lib/alexandria/ui/iconview_tooltips.rb +22 -109
  65. data/lib/alexandria/ui/init.rb +7 -15
  66. data/lib/alexandria/ui/libraries_combo.rb +54 -48
  67. data/lib/alexandria/ui/listview.rb +30 -85
  68. data/lib/alexandria/ui/multi_drag_treeview.rb +110 -107
  69. data/lib/alexandria/ui/sidepane.rb +23 -25
  70. data/lib/alexandria/ui/sound.rb +18 -27
  71. data/lib/alexandria/ui/ui_manager.rb +126 -204
  72. data/lib/alexandria/undo_manager.rb +2 -2
  73. data/lib/alexandria/version.rb +4 -4
  74. data/spec/alexandria/book_providers_spec.rb +7 -4
  75. data/spec/alexandria/library_spec.rb +13 -16
  76. data/spec/alexandria/scanners/cuecat_spec.rb +1 -2
  77. data/spec/alexandria/ui/dialogs_spec.rb +5 -1
  78. data/spec/alexandria/ui/main_app_spec.rb +3 -3
  79. data/{lib/alexandria/utils.rb → spec/alexandria/ui/sound_spec.rb} +6 -11
  80. data/spec/alexandria/ui/ui_utilities_spec.rb +3 -3
  81. data/spec/spec_helper.rb +2 -2
  82. data/util/rake/fileinstall.rb +17 -33
  83. data/util/rake/gettextgenerate.rb +2 -4
  84. data/util/rake/omfgenerate.rb +1 -3
  85. metadata +23 -11
  86. data/lib/alexandria/ui/gtk_thread_help.rb +0 -89
@@ -34,11 +34,11 @@ module Alexandria
34
34
  end
35
35
 
36
36
  def can_undo?
37
- @undo_actions.length > 0
37
+ !@undo_actions.empty?
38
38
  end
39
39
 
40
40
  def can_redo?
41
- @redo_actions.length > 0
41
+ !@redo_actions.empty?
42
42
  end
43
43
 
44
44
  def undo!
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2014, 2015 Matijs van Zuijlen
1
+ # Copyright (C) 2014-2016 Matijs van Zuijlen
2
2
  #
3
3
  # This file is part of Alexandria.
4
4
  #
@@ -18,7 +18,7 @@
18
18
  # Fifth Floor, Boston, MA 02110-1301 USA.
19
19
 
20
20
  module Alexandria
21
- VERSION = '0.6.9'
22
- DATA_VERSION = '0.6.3'
23
- DISPLAY_VERSION = '0.6.9'
21
+ VERSION = '0.7.0'.freeze
22
+ DATA_VERSION = '0.6.3'.freeze
23
+ DISPLAY_VERSION = '0.7.0'.freeze
24
24
  end
@@ -26,7 +26,11 @@ describe Alexandria::BookProviders do
26
26
  it 'should be less clever'
27
27
 
28
28
  def assert_correct_search_result(provider, query, search_type = Alexandria::BookProviders::SEARCH_BY_ISBN)
29
- results = provider.instance.search(query, search_type)
29
+ begin
30
+ results = provider.instance.search(query, search_type)
31
+ rescue SocketError
32
+ skip 'Service is offline'
33
+ end
30
34
 
31
35
  puts results.inspect if $DEBUG
32
36
 
@@ -43,7 +47,7 @@ describe Alexandria::BookProviders do
43
47
  canonical_query = Alexandria::Library.canonicalise_ean(query)
44
48
  canonical_result = Alexandria::Library.canonicalise_ean(book.isbn)
45
49
  expect(canonical_query).to eq(canonical_result),
46
- "Result's isbn #{book.isbn} is not equivalent to the requested isbn #{query} for #{provider}"
50
+ "Result's isbn #{book.isbn} is not equivalent to the requested isbn #{query} for #{provider}"
47
51
 
48
52
  if results.length == 2
49
53
  cover_url = results.last
@@ -135,9 +139,8 @@ describe Alexandria::BookProviders do
135
139
  # providers supposed to be always working
136
140
 
137
141
  it 'Barnes and Noble should work' do
138
- skip 'Needs fixing'
139
142
  assert_correct_search_result(Alexandria::BookProviders::BarnesAndNobleProvider,
140
- '9780961328917') # see #1433
143
+ '9780961328917') # see #1433
141
144
  end
142
145
 
143
146
  it 'MCU should work' do
@@ -1,7 +1,7 @@
1
1
  #-- -*- ruby -*-
2
2
  # Copyright (C) 2004-2006 Dafydd Harries
3
3
  # Copyright (C) 2007 Cathal Mc Ginley
4
- # Copyright (C) 2011, 2014, 2015 Matijs van Zuijlen
4
+ # Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
5
5
  #
6
6
  # Alexandria is free software; you can redistribute it and/or
7
7
  # modify it under the terms of the GNU General Public License as
@@ -49,11 +49,11 @@ describe Alexandria::Library do
49
49
 
50
50
  describe '#canonicalise_isbn' do
51
51
  it 'returns the correct value for several examples' do
52
- expect(Alexandria::Library.canonicalise_isbn('014143984X')).to eq '014143984X'
53
- expect(Alexandria::Library.canonicalise_isbn('0-345-43192-8')).to eq '0345431928'
54
- expect(Alexandria::Library.canonicalise_isbn('3522105907')).to eq '3522105907'
55
- # EAN number
56
- expect(Alexandria::Library.canonicalise_isbn('9780345431929')).to eq '0345431928'
52
+ expect(Alexandria::Library.canonicalise_isbn('014143984X')).to eq '014143984X'
53
+ expect(Alexandria::Library.canonicalise_isbn('0-345-43192-8')).to eq '0345431928'
54
+ expect(Alexandria::Library.canonicalise_isbn('3522105907')).to eq '3522105907'
55
+ # EAN number
56
+ expect(Alexandria::Library.canonicalise_isbn('9780345431929')).to eq '0345431928'
57
57
  end
58
58
  end
59
59
 
@@ -67,7 +67,7 @@ describe Alexandria::Library do
67
67
  first_copy = an_artist_of_the_floating_world
68
68
  my_library << first_copy
69
69
  my_library.delete(first_copy)
70
- expect { my_library.delete(first_copy) }.to raise_error
70
+ expect { my_library.delete(first_copy) }.to raise_error ArgumentError
71
71
  end
72
72
 
73
73
  it 'allows multiple copies of a book to be added and deleted in turn' do
@@ -85,7 +85,6 @@ describe Alexandria::Library do
85
85
  # puts "AAA my_library.size #{my_library.size}"
86
86
 
87
87
  # puts "second_copy #{second_copy.object_id}"
88
- # lambda { my_library.delete(second_copy) }.should raise_error
89
88
  expect { my_library.delete(second_copy) }.not_to raise_error
90
89
 
91
90
  # puts "BBB my_library.size #{my_library.size}"
@@ -112,11 +111,11 @@ describe Alexandria::Library do
112
111
  it "doesn't work quite yet" do
113
112
  skip
114
113
  # Doesn't work quite yet.
115
- on_iterate_cb = proc { }
116
- on_error_cb = proc { }
117
- library, libraries = __test_fake_import_isbns
118
- test_file = "data/isbns.txt"
119
- library.import_as_isbn_list("Test Library", test_file, on_iterate_cb, on_error_cb)
114
+ on_iterate_cb = proc {}
115
+ on_error_cb = proc {}
116
+ library, _libraries = __test_fake_import_isbns
117
+ test_file = 'data/isbns.txt'
118
+ library.import_as_isbn_list('Test Library', test_file, on_iterate_cb, on_error_cb)
120
119
  end
121
120
  end
122
121
 
@@ -245,9 +244,7 @@ describe Alexandria::Library do
245
244
 
246
245
  after(:each) do
247
246
  FileUtils.rm_rf(TESTDIR)
248
- if File.exist? @outfile
249
- File.unlink @outfile
250
- end
247
+ File.unlink @outfile if File.exist? @outfile
251
248
  end
252
249
  end
253
250
  end
@@ -29,8 +29,7 @@ describe Alexandria::Scanners::CueCat do
29
29
  '.C3nZC3nZC3n2ChnWENz7DxnY.',
30
30
  '.C3nZC3nZC3n2ChnWENz7DxnY.cGen',
31
31
  '.C3nZC3nZC3n2ChnWENz7DxnY.cGen.',
32
- '.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW'
33
- ]
32
+ '.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW']
34
33
  @scans = {
35
34
  isbn: '.C3nZC3nZC3n2ChnWENz7DxnY.cGen.ENr7C3z0CNj3Dhj1EW.',
36
35
  ib5: '.C3nZC3nZC3n2ChnWENz7DxnY.cGf2.ENr7C3z0DNn0ENnWE3nZDhP6.'
@@ -1,4 +1,5 @@
1
1
  # Copyright (C) 2007 Joseph Method
2
+ # Copyright (C) 2015, 2016 Matijs van Zuijlen
2
3
  #
3
4
  # Alexandria is free software; you can redistribute it and/or
4
5
  # modify it under the terms of the GNU General Public License as
@@ -82,7 +83,10 @@ describe Alexandria::UI::AlertDialog do
82
83
  end
83
84
 
84
85
  describe Alexandria::UI::AcquireDialog do
85
- it 'should work'
86
+ it 'should work' do
87
+ parent = Gtk::Window.new :toplevel
88
+ Alexandria::UI::AcquireDialog.new parent
89
+ end
86
90
  end
87
91
 
88
92
  describe Alexandria::UI::AboutDialog do
@@ -1,6 +1,6 @@
1
1
  # Copyright (C) 2007 Joseph Method
2
2
  # Copyright (C) 2007 Cathal Mc Ginley
3
- # Copyright (C) 2011, 2014, 2015 Matijs van Zuijlen
3
+ # Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
4
4
  #
5
5
  # Alexandria is free software; you can redistribute it and/or
6
6
  # modify it under the terms of the GNU General Public License as
@@ -37,13 +37,13 @@ describe Alexandria::UI::MainApp do
37
37
  it 'should be a singleton' do
38
38
  expect do
39
39
  Alexandria::UI::MainApp.new
40
- end.to raise_error
40
+ end.to raise_error NoMethodError
41
41
  end
42
42
 
43
43
  it 'runs' do
44
44
  @main_app = Alexandria::UI::MainApp.instance
45
45
 
46
- Gtk.timeout_add(100) do
46
+ GLib::Timeout.add(100) do
47
47
  @main_app.main_app.destroy
48
48
  Gtk.main_quit
49
49
  end
@@ -1,4 +1,4 @@
1
- # Copyright (C) 2005-2006 Laurent Sansonetti
1
+ # Copyright (C) 2016 Matijs van Zuijlen
2
2
  #
3
3
  # Alexandria is free software; you can redistribute it and/or
4
4
  # modify it under the terms of the GNU General Public License as
@@ -15,16 +15,11 @@
15
15
  # write to the Free Software Foundation, Inc., 51 Franklin Street,
16
16
  # Fifth Floor, Boston, MA 02110-1301 USA.
17
17
 
18
- require 'glib2'
18
+ require 'spec_helper'
19
19
 
20
- class String
21
- # Converts this string into the desired charset.
22
- #
23
- # Note that this may raise a GLib::ConvertError if the
24
- # desired_charset cannot accommodate all the characters present in
25
- # the string, e.g. trying to convert Japanese Kanji to ISO-8859-1
26
- # will obviously not work.
27
- def convert(desired_charset, source_data_charset)
28
- GLib.convert(self, desired_charset, source_data_charset)
20
+ describe Alexandria::UI::SoundEffectsPlayer do
21
+ it 'can be instantiated' do
22
+ player = described_class.new
23
+ expect(player).to be_instance_of described_class
29
24
  end
30
25
  end
@@ -1,5 +1,5 @@
1
1
  # Copyright (C) 2007 Joseph Method
2
- # Copyright (C) 2011 Matijs van Zuijlen
2
+ # Copyright (C) 2011, 2014-2016 Matijs van Zuijlen
3
3
  #
4
4
  # Alexandria is free software; you can redistribute it and/or
5
5
  # modify it under the terms of the GNU General Public License as
@@ -35,8 +35,8 @@ end
35
35
 
36
36
  # from icons
37
37
 
38
- describe Gdk::Pixbuf do
39
- it 'should extend Gdk::PixBuf'
38
+ describe GdkPixbuf::Pixbuf do
39
+ it 'should extend GdkPixbuf::PixBuf'
40
40
  end
41
41
 
42
42
  describe Alexandria::UI::Icons do
@@ -1,5 +1,5 @@
1
1
  # Copyright (C) 2007 Joseph Method
2
- # Copyright (C) 2014 Matijs van Zuijlen
2
+ # Copyright (C) 2014, 2016 Matijs van Zuijlen
3
3
  #
4
4
  # Alexandria is free software; you can redistribute it and/or
5
5
  # modify it under the terms of the GNU General Public License as
@@ -36,8 +36,8 @@ def an_artist_of_the_floating_world
36
36
  'Paperback')
37
37
  end
38
38
 
39
- Thread.new { Alexandria::UI.start_gnome_program }
40
39
  Alexandria::UI::Icons.init
40
+ Alexandria::UI.start_main_app
41
41
 
42
42
  module Alexandria
43
43
  class Library
@@ -65,9 +65,7 @@ class FileInstallTask < Rake::TaskLib
65
65
  @stage_dir = dirname # || @prefix
66
66
  @file_groups = []
67
67
  @dirs_to_remove_globs = []
68
- if block_given?
69
- yield self
70
- end
68
+ yield self if block_given?
71
69
  make_tasks
72
70
  end
73
71
 
@@ -85,9 +83,7 @@ class FileInstallTask < Rake::TaskLib
85
83
  # INSTALL TASK
86
84
 
87
85
  description = 'Install package files'
88
- if @stage_dir
89
- description += ' to staging directory'
90
- end
86
+ description += ' to staging directory' if @stage_dir
91
87
  desc description
92
88
  task tasknames[:install] do
93
89
  @file_groups.each { |g| g.install(@stage_dir) }
@@ -107,19 +103,13 @@ class FileInstallTask < Rake::TaskLib
107
103
  @dirs_to_remove_globs.each do |glob|
108
104
  regex = glob2regex(glob)
109
105
  all_dirs.each do |dir|
110
- unless dir =~ /\/$/
111
- dir += '/'
112
- end
113
- if regex =~ dir
114
- to_delete << Regexp.last_match[1]
115
- end
106
+ dir += '/' unless dir =~ /\/$/
107
+ to_delete << Regexp.last_match[1] if regex =~ dir
116
108
  end
117
109
  end
118
110
  to_delete.each do |dirname|
119
111
  dir = dirname
120
- if @stage_dir
121
- dir = File.join(@stage_dir, dirname)
122
- end
112
+ dir = File.join(@stage_dir, dirname) if @stage_dir
123
113
  delete_empty(dir)
124
114
  end
125
115
  end
@@ -150,7 +140,7 @@ class FileInstallTask < Rake::TaskLib
150
140
  # Install files the same way as +install+, but setting the mode of
151
141
  # the installed file to be executable.
152
142
  def install_exe(src_dir, file_glob, dest_dir)
153
- @file_groups << FileGroup.new(src_dir, file_glob, dest_dir, 0755)
143
+ @file_groups << FileGroup.new(src_dir, file_glob, dest_dir, 0o755)
154
144
  end
155
145
 
156
146
  # Install icon files. This method splits up the source file name and
@@ -181,11 +171,11 @@ class FileInstallTask < Rake::TaskLib
181
171
  def calculate_ruby_dir
182
172
  ruby_prefix = RbConfig::CONFIG['prefix']
183
173
 
184
- if @install_to_rubylibdir
185
- ruby_libdir = RbConfig::CONFIG['rubylibdir']
186
- else
187
- ruby_libdir = RbConfig::CONFIG['sitelibdir']
188
- end
174
+ ruby_libdir = if @install_to_rubylibdir
175
+ RbConfig::CONFIG['rubylibdir']
176
+ else
177
+ RbConfig::CONFIG['sitelibdir']
178
+ end
189
179
  if ENV.key?('RUBYLIBDIR')
190
180
  ruby_libdir = ENV['RUBYLIBDIR']
191
181
  end
@@ -193,7 +183,7 @@ class FileInstallTask < Rake::TaskLib
193
183
  @prefix = ENV['PREFIX'] || ruby_prefix
194
184
  if @prefix == ruby_prefix
195
185
  @rubylib = ruby_libdir
196
- elsif ruby_libdir.index(ruby_prefix) == 0
186
+ elsif ruby_libdir.index(ruby_prefix).zero?
197
187
  libpart = ruby_libdir[ruby_prefix.size..-1]
198
188
  @rubylib = File.join(@prefix, libpart)
199
189
  else
@@ -202,9 +192,7 @@ class FileInstallTask < Rake::TaskLib
202
192
  end
203
193
 
204
194
  def glob2regex(pathglob)
205
- if pathglob =~ /\*\*$/
206
- pathglob += '/'
207
- end
195
+ pathglob += '/' if pathglob =~ /\*\*$/
208
196
  real_parts = pathglob.split('**/')
209
197
  real_parts.each do |part|
210
198
  part.gsub!('.', '\\.')
@@ -220,23 +208,19 @@ class FileInstallTask < Rake::TaskLib
220
208
  def delete_empty(dirs)
221
209
  dirs.each do |d|
222
210
  p = Pathname.new(d)
223
- if p.exist?
224
- delete_if_empty(p.realpath)
225
- end
211
+ delete_if_empty(p.realpath) if p.exist?
226
212
  end
227
213
  end
228
214
 
229
215
  # Delete the directory at the given Pathname +p+ if all its children
230
216
  # can be similarly deleted, and if it is then empty.
231
217
  def delete_if_empty(p)
232
- unless p.directory?
233
- return false
234
- end
218
+ return false unless p.directory?
235
219
  p.children.each do |c|
236
220
  delete_if_empty(c)
237
221
  end
238
222
  if p.children.empty?
239
- p.delete # TODO optional verbose output here
223
+ p.delete # TODO: optional verbose output here
240
224
  true
241
225
  else
242
226
  false
@@ -246,7 +230,7 @@ class FileInstallTask < Rake::TaskLib
246
230
  class FileGroup
247
231
  attr_reader :mode
248
232
  attr_accessor :description
249
- def initialize(src_dir, file_glob, dest_dir, mode = 0644)
233
+ def initialize(src_dir, file_glob, dest_dir, mode = 0o644)
250
234
  @src_dir = src_dir
251
235
  @file_glob = file_glob
252
236
  @dest_dir = dest_dir
@@ -32,9 +32,7 @@ class GettextGenerateTask < Rake::TaskLib
32
32
  def initialize(projectname)
33
33
  @projectname = projectname
34
34
  @generated_files = []
35
- if block_given?
36
- yield self
37
- end
35
+ yield self if block_given?
38
36
  make_task
39
37
  end
40
38
 
@@ -59,7 +57,7 @@ class GettextGenerateTask < Rake::TaskLib
59
57
  FileUtils.makedirs(dest_dir) unless FileTest.exists?(dest_dir)
60
58
  puts "Generating #{t.name}"
61
59
  system("msgfmt #{t.source} -o #{t.name}")
62
- raise "msgfmt failed for #{t.source}" if $CHILD_STATUS != 0
60
+ raise "msgfmt failed for #{t.source}" if $CHILD_STATUS.nonzero?
63
61
  end
64
62
  mo_files.each { |mo| @generated_files << mo }
65
63
  end
@@ -32,9 +32,7 @@ class OmfGenerateTask < Rake::TaskLib
32
32
  def initialize(projectname)
33
33
  @projectname = projectname
34
34
  @generated_files = []
35
- if block_given?
36
- yield self
37
- end
35
+ yield self if block_given?
38
36
  make_task
39
37
  end
40
38
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: alexandria-book-collection-manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.6.9
4
+ version: 0.7.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander McCormmach
@@ -28,7 +28,7 @@ authors:
28
28
  autorequire:
29
29
  bindir: bin
30
30
  cert_chain: []
31
- date: 2015-09-22 00:00:00.000000000 Z
31
+ date: 2016-10-02 00:00:00.000000000 Z
32
32
  dependencies:
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: gettext
@@ -73,19 +73,33 @@ dependencies:
73
73
  - !ruby/object:Gem::Version
74
74
  version: '4.3'
75
75
  - !ruby/object:Gem::Dependency
76
- name: gtk2
76
+ name: gtk3
77
77
  requirement: !ruby/object:Gem::Requirement
78
78
  requirements:
79
79
  - - "~>"
80
80
  - !ruby/object:Gem::Version
81
- version: '3.0'
81
+ version: 3.0.9
82
82
  type: :runtime
83
83
  prerelease: false
84
84
  version_requirements: !ruby/object:Gem::Requirement
85
85
  requirements:
86
86
  - - "~>"
87
87
  - !ruby/object:Gem::Version
88
- version: '3.0'
88
+ version: 3.0.9
89
+ - !ruby/object:Gem::Dependency
90
+ name: gio2
91
+ requirement: !ruby/object:Gem::Requirement
92
+ requirements:
93
+ - - "~>"
94
+ - !ruby/object:Gem::Version
95
+ version: 3.0.9
96
+ type: :runtime
97
+ prerelease: false
98
+ version_requirements: !ruby/object:Gem::Requirement
99
+ requirements:
100
+ - - "~>"
101
+ - !ruby/object:Gem::Version
102
+ version: 3.0.9
89
103
  - !ruby/object:Gem::Dependency
90
104
  name: gstreamer
91
105
  requirement: !ruby/object:Gem::Requirement
@@ -120,14 +134,14 @@ dependencies:
120
134
  requirements:
121
135
  - - "~>"
122
136
  - !ruby/object:Gem::Version
123
- version: '10.0'
137
+ version: '11.1'
124
138
  type: :development
125
139
  prerelease: false
126
140
  version_requirements: !ruby/object:Gem::Requirement
127
141
  requirements:
128
142
  - - "~>"
129
143
  - !ruby/object:Gem::Version
130
- version: '10.0'
144
+ version: '11.1'
131
145
  - !ruby/object:Gem::Dependency
132
146
  name: rspec
133
147
  requirement: !ruby/object:Gem::Requirement
@@ -231,7 +245,6 @@ files:
231
245
  - lib/alexandria/ui/dialogs/smart_library_properties_dialog.rb
232
246
  - lib/alexandria/ui/dialogs/smart_library_properties_dialog_base.rb
233
247
  - lib/alexandria/ui/dndable.rb
234
- - lib/alexandria/ui/gtk_thread_help.rb
235
248
  - lib/alexandria/ui/icons.rb
236
249
  - lib/alexandria/ui/iconview.rb
237
250
  - lib/alexandria/ui/iconview_tooltips.rb
@@ -244,7 +257,6 @@ files:
244
257
  - lib/alexandria/ui/sound.rb
245
258
  - lib/alexandria/ui/ui_manager.rb
246
259
  - lib/alexandria/undo_manager.rb
247
- - lib/alexandria/utils.rb
248
260
  - lib/alexandria/version.rb
249
261
  - lib/alexandria/web_themes.rb
250
262
  - misc/sounds/README
@@ -411,6 +423,7 @@ files:
411
423
  - spec/alexandria/ui/listview_spec.rb
412
424
  - spec/alexandria/ui/main_app_spec.rb
413
425
  - spec/alexandria/ui/sidepane_spec.rb
426
+ - spec/alexandria/ui/sound_spec.rb
414
427
  - spec/alexandria/ui/ui_manager_spec.rb
415
428
  - spec/alexandria/ui/ui_utilities_spec.rb
416
429
  - spec/alexandria/utilities_spec.rb
@@ -460,9 +473,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
460
473
  version: '0'
461
474
  requirements: []
462
475
  rubyforge_project:
463
- rubygems_version: 2.4.5.1
476
+ rubygems_version: 2.5.1
464
477
  signing_key:
465
478
  specification_version: 4
466
479
  summary: GNOME application for managing collections of books
467
480
  test_files: []
468
- has_rdoc: