clevic 0.13.0.b6 → 0.13.0.b9

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest.txt CHANGED
@@ -1,6 +1,6 @@
1
1
  History.txt
2
2
  Manifest.txt
3
- README.txt
3
+ README.rdoc
4
4
  Rakefile
5
5
  TODO
6
6
  bin/clevic
@@ -85,7 +85,10 @@ There are some tests for algorithmic code, but Clevic needs a comprehensive test
85
85
 
86
86
  == Install
87
87
 
88
- sudo gem install clevic
88
+ sudo gem install clevic
89
+
90
+ Note that clevic depends on qtbindings, which takes a while
91
+ to compile native code.
89
92
 
90
93
  == Thanks
91
94
 
data/Rakefile CHANGED
@@ -25,7 +25,7 @@ Bones do
25
25
  gem.need_tar false
26
26
 
27
27
  depend_on 'fastercsv', '>=1.2.3'
28
- depend_on 'gather', '>=0.0.6'
28
+ depend_on 'gather', '>=0.0.8'
29
29
  depend_on 'andand', '>= 1.3.0'
30
30
  depend_on 'sequel', '>= 3.8.0'
31
31
  depend_on 'bsearch', '>=1.5.0'
@@ -52,7 +52,7 @@ Bones do
52
52
  # List of files to generate rdoc from
53
53
  # Not the same as the rdoc -i which is list of files
54
54
  # to search for include directives
55
- rdoc.include %w{README.txt ^lib/clevic/.*\.rb$ models/examples.rb History.txt TODO}
55
+ rdoc.include %w{README.rdoc ^lib/clevic/.*\.rb$ models/examples.rb History.txt TODO}
56
56
 
57
57
  # List of Regexs to exclude from rdoc processing
58
58
  rdoc.exclude %w{^pkg.*}
@@ -64,6 +64,8 @@ Bones do
64
64
  #~ rdoc.external true
65
65
  end
66
66
 
67
+ CLEAN.include %w[**/.DS_Store tmp *.log doc website/doc]
68
+
67
69
  #~ p.clean_globs |= %w[**/.DS_Store tmp *.log]
68
70
  #~ path = (p.rubyforge_name == p.name) ? p.rubyforge_name : "\#{p.rubyforge_name}/\#{p.name}"
69
71
  #~ p.remote_rdoc_dir = File.join(path.gsub(/^#{p.rubyforge_name}\/?/,''), 'rdoc')
data/TODO CHANGED
@@ -1,3 +1,5 @@
1
+ finish fixing the CSV vs FasterCSV issue in various table_view files
2
+
1
3
  sorting by header:
2
4
  - See void QAbstractItemModel::sort ( int column, Qt::SortOrder order = Qt::AscendingOrder )
3
5
  - layoutChanged
data/bin/clevic CHANGED
@@ -1,7 +1,6 @@
1
- #! /usr/bin/ruby
1
+ #! /usr/bin/env ruby
2
2
 
3
3
  require 'pathname'
4
-
5
4
  require 'optparse'
6
5
 
7
6
  $options = {}
@@ -23,7 +23,8 @@ class DistinctDelegate
23
23
  def dataset
24
24
  base_dataset =
25
25
  unless field.find_options.empty?
26
- puts "conditions and order are deprecated. Use dataset instead."
26
+ puts "#{field.entity_class.name}:#{field.attribute} conditions and order are deprecated. Use dataset instead."
27
+ puts caller
27
28
  require 'clevic/ar_methods'
28
29
  field.entity_class.plugin :ar_methods
29
30
  field.entity_class.translate( field.find_options )
@@ -14,6 +14,25 @@ class Object
14
14
  def with( &block )
15
15
  yield( self )
16
16
  end
17
+
18
+ # return a list of the subclasses of a class
19
+ # from Matt Williams
20
+ # http://matthewkwilliams.com/index.php/2008/08/22/rubys-objectspace-subclasses/
21
+ def self.subclasses(direct = false)
22
+ classes = []
23
+ if direct
24
+ ObjectSpace.each_object(Class) do |c|
25
+ next unless c.superclass == self
26
+ classes << c
27
+ end
28
+ else
29
+ ObjectSpace.each_object(Class) do |c|
30
+ next unless c.ancestors.include?(self) and (c != self)
31
+ classes << c
32
+ end
33
+ end
34
+ classes
35
+ end
17
36
  end
18
37
 
19
38
  class String
data/lib/clevic/field.rb CHANGED
@@ -318,7 +318,7 @@ EOF
318
318
 
319
319
  # Clevic::ModelColumn object
320
320
  def meta
321
- entity_class.meta[attribute]
321
+ entity_class.meta[attribute] || ModelColumn.new( attribute, {} )
322
322
  end
323
323
 
324
324
  # return true if this field can be used in a filter
@@ -487,7 +487,7 @@ protected
487
487
  # sensible display format defaults if they're not defined.
488
488
  def default_format!
489
489
  @format ||=
490
- case meta.type
490
+ case meta.andand.type
491
491
  when :time; '%H:%M'
492
492
  when :date; '%d-%h-%y'
493
493
  when :datetime; '%d-%h-%y %H:%M:%S'
@@ -498,7 +498,7 @@ protected
498
498
  # sensible edit format defaults if they're not defined.
499
499
  def default_edit_format!
500
500
  @edit_format ||=
501
- case meta.type
501
+ case meta.andand.type
502
502
  when :date; '%d-%h-%Y'
503
503
  when :datetime; '%d-%h-%Y %H:%M:%S'
504
504
  end || default_format!
@@ -507,7 +507,7 @@ protected
507
507
  # sensible alignment defaults if they're not defined.
508
508
  def default_alignment!
509
509
  @alignment ||=
510
- case meta.type
510
+ case meta.andand.type
511
511
  when :decimal, :integer, :float; :right
512
512
  when :boolean; :centre
513
513
  else :left
@@ -2,9 +2,9 @@ module Clevic
2
2
  class FilterCommand
3
3
  # filter_block will be passed a Dataset to filter.
4
4
  # filter_message will be displayed.
5
- def initialize( table_view, message, &filter_block )
5
+ def initialize( table_view, message = nil, &filter_block )
6
6
  @table_view = table_view
7
- @message = message
7
+ @message = message || 'filtered'
8
8
  @filter_block = filter_block
9
9
  end
10
10
 
@@ -20,9 +20,9 @@ class Class
20
20
  # and exception. Otherwise if the named method already
21
21
  # exists, just leave it alone.
22
22
  def framework_responsibility( method_name )
23
- unless instance_methods.include?( method_name.to_s )
23
+ unless method_defined?( method_name.to_sym )
24
24
  define_method method_name do
25
- raise "Framework-specific code has not defined for for #{self.class}##{method_name}"
25
+ raise "Framework-specific code not defined for #{self.class}##{method_name}"
26
26
  end
27
27
  end
28
28
  end
@@ -395,7 +395,9 @@ class ModelBuilder
395
395
  end
396
396
 
397
397
  unless block.nil?
398
- if block.arity == -1
398
+ if RUBY_VERSION && RUBY_VERSION >= '1.9.0' && block.arity == 0
399
+ instance_eval( &block )
400
+ elsif block.arity == -1
399
401
  instance_eval( &block )
400
402
  else
401
403
  block.call( self )
@@ -644,9 +646,9 @@ protected
644
646
  # one-to-one relationships can be edited. many-to-one certainly can't
645
647
  entity_class.meta[attribute].type != :many_to_one
646
648
 
647
- when entity_class.instance_methods.include?( attribute.to_s )
649
+ when entity_class.method_defined?( attribute )
648
650
  # read-only if there's no setter for the attribute
649
- !entity_class.instance_methods.include?( "#{attribute.to_s}=" )
651
+ !entity_class.method_defined?( "#{attribute.to_s}=" )
650
652
 
651
653
  else
652
654
  # default to not read-only
@@ -33,6 +33,9 @@ class ModelColumn
33
33
  # TODO not sure where these are from
34
34
  attr_accessor :order, :class, :conditions
35
35
 
36
+ # a enw one in sequel 3.25.0
37
+ attr_accessor :block
38
+
36
39
  # For Sequel many_to_many
37
40
  attr_accessor :left_key,
38
41
  :left_keys,
data/lib/clevic/qt.rb CHANGED
@@ -16,7 +16,7 @@ require 'clevic/qt/table_view.rb'
16
16
 
17
17
  # all other files in the qt subdirectory
18
18
  require 'pathname'
19
- ( Pathname.new( __FILE__ ).parent + 'qt' ).children.grep( /.rb$/ ).each do |child|
19
+ ( Pathname.new( __FILE__ ).parent + 'qt' ).children.select{|x| x.to_s =~ /.rb$/ }.each do |child|
20
20
  require child.to_s
21
21
  end
22
22
 
@@ -1,4 +1,9 @@
1
- require 'fastercsv'
1
+ if defined?( RUBY_VERSION ) && RUBY_VERSION >= '1.9.0'
2
+ require 'csv'
3
+ else
4
+ require 'fastercsv'
5
+ end
6
+
2
7
  require 'qtext/action_builder.rb'
3
8
  require 'clevic/model_builder.rb'
4
9
  require 'clevic/filter_command.rb'
@@ -42,7 +42,7 @@ class Sampler
42
42
  else
43
43
  set
44
44
  end. \
45
- max{|a,b| a.to_s.length <=> b.to_s.length }.upcase
45
+ max{|a,b| a.to_s.length <=> b.to_s.length }.to_s.upcase
46
46
  else
47
47
  # choose samples based on the type of the field
48
48
  case meta.type
@@ -65,8 +65,8 @@ class Sampler
65
65
  related_sample
66
66
 
67
67
  else
68
- if meta.type != NilClass
69
- raise "Sampler#compute can't figure out sample for #{entity_class.name}.#{field_name} because it's a #{meta.type.inspect}"
68
+ unless meta.type.nil?
69
+ raise "Sampler#compute can't figure out sample for #{entity_class.name}##{field_name} because it's a #{meta.type.inspect}"
70
70
  end
71
71
  end
72
72
  end
data/lib/clevic/swing.rb CHANGED
@@ -13,7 +13,7 @@ require 'clevic/swing/table_view.rb'
13
13
 
14
14
  # all other files in the swing subdirectory
15
15
  require 'pathname'
16
- ( Pathname.new( __FILE__ ).parent + 'swing' ).children.grep( /.rb$/ ).each do |child|
16
+ ( Pathname.new( __FILE__ ).parent + 'swing' ).children.select{|x| x.to_s =~ /.rb$/ }.each do |child|
17
17
  require child.to_s
18
18
  end
19
19
 
@@ -1,4 +1,8 @@
1
- require 'fastercsv'
1
+ if defined?( RUBY_VERSION ) && RUBY_VERSION >= '1.9.0'
2
+ require 'csv'
3
+ else
4
+ require 'fastercsv'
5
+ end
2
6
 
3
7
  require 'clevic/swing/action_builder.rb'
4
8
  require 'clevic/swing/cell_editor.rb'
@@ -136,6 +136,7 @@ class TableModel
136
136
  true
137
137
  end
138
138
  rescue
139
+ puts "Error saving #{item.inspect}"
139
140
  puts $!.message
140
141
  puts $!.backtrace
141
142
  emit_data_error( index, nil, $!.message )
@@ -1,4 +1,9 @@
1
- require 'fastercsv'
1
+ if defined?( RUBY_VERSION ) && RUBY_VERSION >= '1.9.0'
2
+ require 'csv'
3
+ else
4
+ require 'fastercsv'
5
+ end
6
+
2
7
  require 'stringio'
3
8
 
4
9
  require 'clevic/model_builder.rb'
@@ -175,11 +180,13 @@ class TableView
175
180
  def ditto
176
181
  sanity_check_ditto
177
182
  sanity_check_read_only
178
- one_up_index = current_index.choppy { |i| i.row -= 1 }
179
- previous_value = one_up_index.attribute_value
180
- if current_index.attribute_value != previous_value
181
- current_index.attribute_value = previous_value
182
- model.data_changed( current_index )
183
+ selection_model.selected_indexes.each do |index|
184
+ one_up_index = index.choppy { |i| i.row -= 1 }
185
+ previous_value = one_up_index.attribute_value
186
+ if index.attribute_value != previous_value
187
+ index.attribute_value = previous_value
188
+ model.data_changed( index )
189
+ end
183
190
  end
184
191
  end
185
192
 
@@ -454,7 +461,7 @@ class TableView
454
461
  # actually, model.save will check if the record
455
462
  # is really changed before writing to DB.
456
463
  def save_row( index )
457
- if !index.nil? && index.valid?
464
+ if !index.nil? && index.valid? && index.entity
458
465
  saved = model.save( index )
459
466
  if !saved
460
467
  # construct error message(s)
@@ -463,7 +470,7 @@ class TableView
463
470
  "#{field} (#{abbr_value}) #{errors.join(',')}"
464
471
  end.join( "\n" )
465
472
 
466
- show_error( "#{index.rc} #{msg}", "Validation Errors" )
473
+ show_error( "Validation Errors: #{index.rc} #{msg}" )
467
474
  end
468
475
  saved
469
476
  end
@@ -534,8 +541,8 @@ class TableView
534
541
  unfilter_action.enabled = filtered?
535
542
  end
536
543
 
537
- def filter_by_dataset( message, &dataset_block )
538
- # clean this up and make it work AND for multiple columns, OR for multiple rows
544
+ def filter_by_dataset( message = nil, &dataset_block )
545
+ # TODO clean this up and make it work AND for multiple columns, OR for multiple rows
539
546
  self.filters << FilterCommand.new( self, message, &dataset_block )
540
547
 
541
548
  # try to end up on the same entity, even after the filter
@@ -625,31 +632,19 @@ class TableView
625
632
  # or entity_model. Return nil if no match found.
626
633
  # TODO doesn't really belong here because TableView will not always
627
634
  # be in a TabWidget context.
628
- unless instance_methods.include?( 'find_table_view' )
629
- def find_table_view( entity_model_or_view )
630
- raise "framework responsibility"
631
- end
632
- end
635
+ framework_responsibility :find_table_view
633
636
 
634
637
  # execute the block with the TableView instance
635
638
  # currently handling the entity_model_or_view.
636
639
  # Don't execute the block if nothing is found.
637
640
  # TODO doesn't really belong here because TableView will not always
638
641
  # be in a TabWidget context.
639
- unless instance_methods.include?( 'with_table_view' )
640
- def with_table_view( entity_model_or_view, &block )
641
- raise "framework responsibility"
642
- end
643
- end
642
+ framework_responsibility :with_table_view
644
643
 
645
644
  # make this window visible if it's in a TabWidget
646
645
  # TODO doesn't really belong here because TableView will not always
647
646
  # be in a TabWidget context.
648
- unless instance_methods.include?( 'raise_widget' )
649
- def raise_widget
650
- raise "framework responsibility"
651
- end
652
- end
647
+ framework_responsibility :raise_widget
653
648
 
654
649
  # set next_index for certain operations. Is only activated when
655
650
  # to_next_index is called.
@@ -672,10 +667,9 @@ class TableView
672
667
 
673
668
  protected
674
669
 
675
- # show a busy cursor, do the block, back to normal cursor
670
+ # Show a busy cursor, do the block, back to normal cursor
676
671
  # return value of block
677
- # TODO implement generic way of indicating framework responsibility
678
- # :busy_cursor
672
+ framework_responsibility :busy_cursor
679
673
 
680
674
  # return either the set of indexes with all invalid indexes
681
675
  # remove, or the current selection.
@@ -95,10 +95,10 @@ class TableView
95
95
 
96
96
  case text
97
97
  when /\t/
98
- paste_array( FasterCSV.parse( text, :col_sep => "\t" ) )
98
+ paste_array( CSV.parse( text, :col_sep => "\t" ) )
99
99
  # assume multi-line text, or text with commas, is csv
100
100
  when /[,\n]/
101
- paste_array( FasterCSV.parse( text, :col_sep => ',' ) )
101
+ paste_array( CSV.parse( text, :col_sep => ',' ) )
102
102
  else
103
103
  paste_value_to_selection( text )
104
104
  end
@@ -3,7 +3,7 @@ module Clevic #:nodoc:
3
3
  MAJOR = 0
4
4
  MINOR = 13
5
5
  TINY = 0
6
- PRE = 'b6'
6
+ PRE = 'b9'
7
7
 
8
8
  STRING = [MAJOR, MINOR, TINY, PRE].compact.join('.')
9
9
  end
metadata CHANGED
@@ -1,261 +1,184 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: clevic
3
- version: !ruby/object:Gem::Version
4
- hash: 171
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.13.0.b9
5
5
  prerelease: 7
6
- segments:
7
- - 0
8
- - 13
9
- - 0
10
- - b
11
- - 6
12
- version: 0.13.0.b6
13
6
  platform: ruby
14
- authors:
7
+ authors:
15
8
  - John Anderson
16
9
  autorequire:
17
10
  bindir: bin
18
11
  cert_chain: []
19
-
20
- date: 2011-05-27 00:00:00 +02:00
12
+ date: 2011-08-10 00:00:00.000000000 +02:00
21
13
  default_executable:
22
- dependencies:
23
- - !ruby/object:Gem::Dependency
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
24
16
  name: fastercsv
25
- prerelease: false
26
- requirement: &id001 !ruby/object:Gem::Requirement
17
+ requirement: &75363080 !ruby/object:Gem::Requirement
27
18
  none: false
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- hash: 25
32
- segments:
33
- - 1
34
- - 2
35
- - 3
19
+ requirements:
20
+ - - ! '>='
21
+ - !ruby/object:Gem::Version
36
22
  version: 1.2.3
37
23
  type: :runtime
38
- version_requirements: *id001
39
- - !ruby/object:Gem::Dependency
40
- name: gather
41
24
  prerelease: false
42
- requirement: &id002 !ruby/object:Gem::Requirement
25
+ version_requirements: *75363080
26
+ - !ruby/object:Gem::Dependency
27
+ name: gather
28
+ requirement: &75362580 !ruby/object:Gem::Requirement
43
29
  none: false
44
- requirements:
45
- - - ">="
46
- - !ruby/object:Gem::Version
47
- hash: 19
48
- segments:
49
- - 0
50
- - 0
51
- - 6
52
- version: 0.0.6
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: 0.0.8
53
34
  type: :runtime
54
- version_requirements: *id002
55
- - !ruby/object:Gem::Dependency
56
- name: andand
57
35
  prerelease: false
58
- requirement: &id003 !ruby/object:Gem::Requirement
36
+ version_requirements: *75362580
37
+ - !ruby/object:Gem::Dependency
38
+ name: andand
39
+ requirement: &75362180 !ruby/object:Gem::Requirement
59
40
  none: false
60
- requirements:
61
- - - ">="
62
- - !ruby/object:Gem::Version
63
- hash: 27
64
- segments:
65
- - 1
66
- - 3
67
- - 0
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
68
44
  version: 1.3.0
69
45
  type: :runtime
70
- version_requirements: *id003
71
- - !ruby/object:Gem::Dependency
72
- name: sequel
73
46
  prerelease: false
74
- requirement: &id004 !ruby/object:Gem::Requirement
47
+ version_requirements: *75362180
48
+ - !ruby/object:Gem::Dependency
49
+ name: sequel
50
+ requirement: &75361840 !ruby/object:Gem::Requirement
75
51
  none: false
76
- requirements:
77
- - - ">="
78
- - !ruby/object:Gem::Version
79
- hash: 39
80
- segments:
81
- - 3
82
- - 8
83
- - 0
52
+ requirements:
53
+ - - ! '>='
54
+ - !ruby/object:Gem::Version
84
55
  version: 3.8.0
85
56
  type: :runtime
86
- version_requirements: *id004
87
- - !ruby/object:Gem::Dependency
88
- name: bsearch
89
57
  prerelease: false
90
- requirement: &id005 !ruby/object:Gem::Requirement
58
+ version_requirements: *75361840
59
+ - !ruby/object:Gem::Dependency
60
+ name: bsearch
61
+ requirement: &75351120 !ruby/object:Gem::Requirement
91
62
  none: false
92
- requirements:
93
- - - ">="
94
- - !ruby/object:Gem::Version
95
- hash: 3
96
- segments:
97
- - 1
98
- - 5
99
- - 0
63
+ requirements:
64
+ - - ! '>='
65
+ - !ruby/object:Gem::Version
100
66
  version: 1.5.0
101
67
  type: :runtime
102
- version_requirements: *id005
103
- - !ruby/object:Gem::Dependency
104
- name: hpricot
105
68
  prerelease: false
106
- requirement: &id006 !ruby/object:Gem::Requirement
69
+ version_requirements: *75351120
70
+ - !ruby/object:Gem::Dependency
71
+ name: hpricot
72
+ requirement: &75350840 !ruby/object:Gem::Requirement
107
73
  none: false
108
- requirements:
109
- - - ">="
110
- - !ruby/object:Gem::Version
111
- hash: 61
112
- segments:
113
- - 0
114
- - 8
115
- - 1
74
+ requirements:
75
+ - - ! '>='
76
+ - !ruby/object:Gem::Version
116
77
  version: 0.8.1
117
78
  type: :runtime
118
- version_requirements: *id006
119
- - !ruby/object:Gem::Dependency
120
- name: hashery
121
79
  prerelease: false
122
- requirement: &id007 !ruby/object:Gem::Requirement
80
+ version_requirements: *75350840
81
+ - !ruby/object:Gem::Dependency
82
+ name: hashery
83
+ requirement: &75350520 !ruby/object:Gem::Requirement
123
84
  none: false
124
- requirements:
125
- - - ">="
126
- - !ruby/object:Gem::Version
127
- hash: 27
128
- segments:
129
- - 1
130
- - 3
131
- - 0
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
132
88
  version: 1.3.0
133
89
  type: :runtime
134
- version_requirements: *id007
135
- - !ruby/object:Gem::Dependency
136
- name: io-like
137
90
  prerelease: false
138
- requirement: &id008 !ruby/object:Gem::Requirement
91
+ version_requirements: *75350520
92
+ - !ruby/object:Gem::Dependency
93
+ name: io-like
94
+ requirement: &75350250 !ruby/object:Gem::Requirement
139
95
  none: false
140
- requirements:
141
- - - ">="
142
- - !ruby/object:Gem::Version
143
- hash: 19
144
- segments:
145
- - 0
146
- - 3
147
- - 0
96
+ requirements:
97
+ - - ! '>='
98
+ - !ruby/object:Gem::Version
148
99
  version: 0.3.0
149
100
  type: :runtime
150
- version_requirements: *id008
151
- - !ruby/object:Gem::Dependency
152
- name: qtbindings
153
101
  prerelease: false
154
- requirement: &id009 !ruby/object:Gem::Requirement
102
+ version_requirements: *75350250
103
+ - !ruby/object:Gem::Dependency
104
+ name: qtbindings
105
+ requirement: &75349950 !ruby/object:Gem::Requirement
155
106
  none: false
156
- requirements:
157
- - - ">="
158
- - !ruby/object:Gem::Version
159
- hash: 33
160
- segments:
161
- - 4
162
- - 6
163
- - 3
107
+ requirements:
108
+ - - ! '>='
109
+ - !ruby/object:Gem::Version
164
110
  version: 4.6.3
165
111
  type: :runtime
166
- version_requirements: *id009
167
- - !ruby/object:Gem::Dependency
168
- name: qtext
169
112
  prerelease: false
170
- requirement: &id010 !ruby/object:Gem::Requirement
113
+ version_requirements: *75349950
114
+ - !ruby/object:Gem::Dependency
115
+ name: qtext
116
+ requirement: &75349630 !ruby/object:Gem::Requirement
171
117
  none: false
172
- requirements:
173
- - - ">="
174
- - !ruby/object:Gem::Version
175
- hash: 9
176
- segments:
177
- - 0
178
- - 6
179
- - 7
118
+ requirements:
119
+ - - ! '>='
120
+ - !ruby/object:Gem::Version
180
121
  version: 0.6.7
181
122
  type: :runtime
182
- version_requirements: *id010
183
- - !ruby/object:Gem::Dependency
184
- name: test-unit
185
123
  prerelease: false
186
- requirement: &id011 !ruby/object:Gem::Requirement
124
+ version_requirements: *75349630
125
+ - !ruby/object:Gem::Dependency
126
+ name: test-unit
127
+ requirement: &75349350 !ruby/object:Gem::Requirement
187
128
  none: false
188
- requirements:
189
- - - ">="
190
- - !ruby/object:Gem::Version
191
- hash: 3
192
- segments:
193
- - 0
194
- version: "0"
129
+ requirements:
130
+ - - ! '>='
131
+ - !ruby/object:Gem::Version
132
+ version: '0'
195
133
  type: :development
196
- version_requirements: *id011
197
- - !ruby/object:Gem::Dependency
198
- name: shoulda
199
134
  prerelease: false
200
- requirement: &id012 !ruby/object:Gem::Requirement
135
+ version_requirements: *75349350
136
+ - !ruby/object:Gem::Dependency
137
+ name: shoulda
138
+ requirement: &75349000 !ruby/object:Gem::Requirement
201
139
  none: false
202
- requirements:
203
- - - ">="
204
- - !ruby/object:Gem::Version
205
- hash: 37
206
- segments:
207
- - 2
208
- - 11
209
- - 3
140
+ requirements:
141
+ - - ! '>='
142
+ - !ruby/object:Gem::Version
210
143
  version: 2.11.3
211
144
  type: :development
212
- version_requirements: *id012
213
- - !ruby/object:Gem::Dependency
214
- name: faker
215
145
  prerelease: false
216
- requirement: &id013 !ruby/object:Gem::Requirement
146
+ version_requirements: *75349000
147
+ - !ruby/object:Gem::Dependency
148
+ name: faker
149
+ requirement: &75348710 !ruby/object:Gem::Requirement
217
150
  none: false
218
- requirements:
219
- - - ">="
220
- - !ruby/object:Gem::Version
221
- hash: 17
222
- segments:
223
- - 0
224
- - 3
225
- - 1
226
- version: 0.3.1
151
+ requirements:
152
+ - - ! '>='
153
+ - !ruby/object:Gem::Version
154
+ version: '0'
227
155
  type: :development
228
- version_requirements: *id013
229
- - !ruby/object:Gem::Dependency
230
- name: bones
231
156
  prerelease: false
232
- requirement: &id014 !ruby/object:Gem::Requirement
157
+ version_requirements: *75348710
158
+ - !ruby/object:Gem::Dependency
159
+ name: bones
160
+ requirement: &75348280 !ruby/object:Gem::Requirement
233
161
  none: false
234
- requirements:
235
- - - ">="
236
- - !ruby/object:Gem::Version
237
- hash: 31
238
- segments:
239
- - 3
240
- - 6
241
- - 0
242
- version: 3.6.0
162
+ requirements:
163
+ - - ! '>='
164
+ - !ruby/object:Gem::Version
165
+ version: 3.7.0
243
166
  type: :development
244
- version_requirements: *id014
167
+ prerelease: false
168
+ version_requirements: *75348280
245
169
  description: SQL table GUI with Qt / Java Swing and Sequel
246
170
  email: panic@semiosix.com
247
- executables:
171
+ executables:
248
172
  - clevic
249
173
  extensions: []
250
-
251
- extra_rdoc_files:
174
+ extra_rdoc_files:
252
175
  - History.txt
253
- - README.txt
176
+ - README.rdoc
254
177
  - TODO
255
- files:
178
+ files:
256
179
  - History.txt
257
180
  - Manifest.txt
258
- - README.txt
181
+ - README.rdoc
259
182
  - Rakefile
260
183
  - TODO
261
184
  - bin/clevic
@@ -391,43 +314,33 @@ files:
391
314
  has_rdoc: true
392
315
  homepage: http://clevic.rubyforge.org
393
316
  licenses: []
394
-
395
317
  post_install_message:
396
- rdoc_options:
318
+ rdoc_options:
397
319
  - -W
398
320
  - http://gitweb.semiosix.com/gitweb.cgi?p=clevic;a=blob;f=%s;hb=HEAD
399
321
  - --main
400
322
  - README.txt
401
- require_paths:
323
+ require_paths:
402
324
  - lib
403
- required_ruby_version: !ruby/object:Gem::Requirement
325
+ required_ruby_version: !ruby/object:Gem::Requirement
404
326
  none: false
405
- requirements:
406
- - - ">="
407
- - !ruby/object:Gem::Version
408
- hash: 3
409
- segments:
410
- - 0
411
- version: "0"
412
- required_rubygems_version: !ruby/object:Gem::Requirement
327
+ requirements:
328
+ - - ! '>='
329
+ - !ruby/object:Gem::Version
330
+ version: '0'
331
+ required_rubygems_version: !ruby/object:Gem::Requirement
413
332
  none: false
414
- requirements:
415
- - - ">"
416
- - !ruby/object:Gem::Version
417
- hash: 25
418
- segments:
419
- - 1
420
- - 3
421
- - 1
333
+ requirements:
334
+ - - ! '>'
335
+ - !ruby/object:Gem::Version
422
336
  version: 1.3.1
423
337
  requirements: []
424
-
425
338
  rubyforge_project: clevic
426
- rubygems_version: 1.4.2
339
+ rubygems_version: 1.6.2
427
340
  signing_key:
428
341
  specification_version: 3
429
- summary: SQL table GUI with Qt / Java Swing and Sequel
430
- test_files:
342
+ summary: http://clevic.
343
+ test_files:
431
344
  - test/test_table_searcher.rb
432
345
  - test/test_model_index_extensions.rb
433
346
  - test/test_table_model.rb