activegroonga 0.0.6 → 0.0.7

Sign up to get free protection for your applications and to get access to all the features.
data/NEWS.ja.rdoc CHANGED
@@ -1,5 +1,9 @@
1
1
  = お知らせ
2
2
 
3
+ == 0.0.7: 2009-10-02
4
+
5
+ * Ruby/groonga 0.0.7対応
6
+
3
7
  == 0.0.6: 2009-07-31
4
8
 
5
9
  * Ruby/groonga 0.0.6対応
data/NEWS.rdoc CHANGED
@@ -1,5 +1,9 @@
1
1
  = NEWS
2
2
 
3
+ == 0.0.7: 2009-10-02
4
+
5
+ * Support Ruby/groonga 0.0.7.
6
+
3
7
  == 0.0.6: 2009-07-31
4
8
 
5
9
  * Support Ruby/groonga 0.0.6.
data/Rakefile CHANGED
@@ -106,7 +106,8 @@ Hoe.spec('activegroonga') do |_project|
106
106
  :extra_rdoc_files => Dir.glob("*.rdoc"),
107
107
  }
108
108
  project.readme_file = "README.ja.rdoc"
109
- project.extra_deps = [["groonga", "=#{version}"], ["activerecord", "=2.3.2"]]
109
+ project.extra_deps = [["groonga", "=#{version}"],
110
+ ["activerecord", "=2.3.4"]]
110
111
 
111
112
  news_of_current_release = File.read("NEWS.rdoc").split(/^==\s.*$/)[1]
112
113
  project.changes = cleanup_white_space(news_of_current_release)
@@ -375,7 +375,7 @@ module ActiveGroonga
375
375
 
376
376
  # Returns an array of column objects for the table associated with this class.
377
377
  def columns
378
- @columns ||= table.columns.collect do |column|
378
+ @columns ||= [IdColumn.new(table)] + table.columns.collect do |column|
379
379
  Column.new(column)
380
380
  end
381
381
  end
@@ -428,7 +428,13 @@ module ActiveGroonga
428
428
  elsif abstract_class?
429
429
  "#{super}(abstract)"
430
430
  elsif table_exists?
431
- attr_list = columns.map { |c| "#{c.name}: #{c.type}" } * ', '
431
+ attr_list = columns.collect do |column|
432
+ if column.id?
433
+ nil
434
+ else
435
+ "#{column.name}: #{column.type}"
436
+ end
437
+ end.compact.join(', ')
432
438
  "#{super}(#{attr_list})"
433
439
  else
434
440
  "#{super}(Table doesn't exist)"
@@ -1571,7 +1577,7 @@ module ActiveGroonga
1571
1577
  quoted = {}
1572
1578
  attribute_names.each do |name|
1573
1579
  column = column_for_attribute(name)
1574
- next if column.nil?
1580
+ next if column.nil? or column.id?
1575
1581
 
1576
1582
  value = read_attribute(name)
1577
1583
  # We need explicit to_yaml because quote() does not properly convert Time/Date fields to YAML.
@@ -1602,7 +1608,7 @@ module ActiveGroonga
1602
1608
  include Validations
1603
1609
  include AttributeMethods
1604
1610
  include Dirty
1605
- include Timestamp
1611
+ include Callbacks, Observing, Timestamp
1606
1612
  include Associations
1607
1613
  include Aggregations, Reflection
1608
1614
  end
@@ -0,0 +1,26 @@
1
+ # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ module ActiveGroonga
17
+ module Callbacks
18
+ class << self
19
+ def included(base)
20
+ base.class_eval do
21
+ include ActiveRecord::Callbacks
22
+ end
23
+ end
24
+ end
25
+ end
26
+ end
@@ -24,6 +24,10 @@ module ActiveGroonga
24
24
  @type = detect_type
25
25
  end
26
26
 
27
+ def id?
28
+ false
29
+ end
30
+
27
31
  def type_cast(value)
28
32
  return nil if value.nil?
29
33
  case type
@@ -65,7 +69,11 @@ module ActiveGroonga
65
69
  end
66
70
 
67
71
  def index_sources
68
- @column.sources
72
+ if @column
73
+ @column.sources
74
+ else
75
+ []
76
+ end
69
77
  end
70
78
 
71
79
  def reference_type?
@@ -113,4 +121,17 @@ module ActiveGroonga
113
121
  end
114
122
  end
115
123
  end
124
+
125
+ class IdColumn < Column
126
+ def initialize(table)
127
+ @column = nil
128
+ @table = table
129
+ @name = "id"
130
+ @type = :unsigned_integer
131
+ end
132
+
133
+ def id?
134
+ true
135
+ end
136
+ end
116
137
  end
@@ -0,0 +1,29 @@
1
+ # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License version 2.1 as published by the Free Software Foundation.
6
+ #
7
+ # This library is distributed in the hope that it will be useful,
8
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
9
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
10
+ # Lesser General Public License for more details.
11
+ #
12
+ # You should have received a copy of the GNU Lesser General Public
13
+ # License along with this library; if not, write to the Free Software
14
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
15
+
16
+ module ActiveGroonga
17
+ module Observing
18
+ class << self
19
+ def included(base)
20
+ base.class_eval do
21
+ include ActiveRecord::Observing
22
+ end
23
+ end
24
+ end
25
+ end
26
+
27
+ class Observer < ActiveRecord::Observer
28
+ end
29
+ end
@@ -46,8 +46,7 @@ module ActiveGroonga
46
46
  if inserted.include?(v)
47
47
  raise "Duplicate migration #{v}. Please renumber your migrations to resolve the conflict."
48
48
  elsif v < version
49
- migration = migrations_table.add
50
- migration["version"] = v.to_s
49
+ migration = migrations_table.add(v.to_s)
51
50
  inserted << v
52
51
  end
53
52
  end
@@ -83,6 +82,11 @@ module ActiveGroonga
83
82
  end
84
83
 
85
84
  def remove_column(table_name, *column_names)
85
+ if column_names.last.is_a?(Hash)
86
+ options = columns.pop
87
+ else
88
+ options = {}
89
+ end
86
90
  options_with_context = options.merge(:context => Base.context)
87
91
  Groonga::Schema.change_table(table_name, options_with_context) do |table|
88
92
  column_names.each do |column_name|
@@ -74,6 +74,7 @@ module ActiveGroonga
74
74
  table_schema.puts " create_table #{name.inspect}, #{options.join(', ')} do |t|"
75
75
  column_specs = []
76
76
  columns(name).each do |column|
77
+ next if column.id?
77
78
  if column.reference_type?
78
79
  @references << [name, column]
79
80
  next
@@ -17,7 +17,7 @@ module ActiveGroonga
17
17
  module VERSION
18
18
  MAJOR = 0
19
19
  MINOR = 0
20
- TINY = 6
20
+ TINY = 7
21
21
 
22
22
  STRING = [MAJOR, MINOR, TINY].join(".")
23
23
  end
@@ -28,7 +28,7 @@ require 'groonga'
28
28
 
29
29
  module ActiveGroonga
30
30
  def self.load_all!
31
- [Base]
31
+ [Base, Column]
32
32
  end
33
33
 
34
34
  autoload :VERSION, 'active_groonga/version'
@@ -45,6 +45,7 @@ module ActiveGroonga
45
45
  autoload :Calculations, 'active_groonga/calculations'
46
46
  autoload :Callbacks, 'active_groonga/callbacks'
47
47
  autoload :Column, 'active_groonga/column'
48
+ autoload :IdColumn, 'active_groonga/column'
48
49
  autoload :Dirty, 'active_groonga/dirty'
49
50
  autoload :DynamicRecordExpressionBuilder,
50
51
  'active_groonga/dynamic_record_expression_builder'
@@ -0,0 +1,30 @@
1
+ # Copyright (C) 2009 Kouhei Sutou <kou@clear-code.com>
2
+ #
3
+ # This library is free software; you can redistribute it and/or
4
+ # modify it under the terms of the GNU Lesser General Public
5
+ # License as published by the Free Software Foundation; either
6
+ # version 2.1 of the License.
7
+ #
8
+ # This library is distributed in the hope that it will be useful,
9
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
10
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11
+ # Lesser General Public License for more details.
12
+ #
13
+ # You should have received a copy of the GNU Lesser General Public
14
+ # License along with this library; if not, write to the Free Software
15
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
16
+
17
+ class TestCallbacks < Test::Unit::TestCase
18
+ include ActiveGroongaTestUtils
19
+
20
+ def test_before_save
21
+ bookmark = Bookmark.new
22
+ def bookmark.before_save
23
+ @called = true
24
+ end
25
+ bookmark.instance_variable_set("@called", false)
26
+ assert_equal(false, bookmark.instance_variable_get("@called"))
27
+ bookmark.save
28
+ assert_equal(true, bookmark.instance_variable_get("@called"))
29
+ end
30
+ end
data/test/test-schema.rb CHANGED
@@ -62,4 +62,16 @@ class TestSchema < Test::Unit::TestCase
62
62
 
63
63
  assert_predicate(index_file, :exist?)
64
64
  end
65
+
66
+ def test_remove_column
67
+ column_file = @tables_dir + "posts" + "columns" + "title.groonga"
68
+ assert_not_predicate(column_file, :exist?)
69
+ ActiveGroonga::Schema.create_table(:posts) do |table|
70
+ table.string :title
71
+ end
72
+ assert_predicate(column_file, :exist?)
73
+
74
+ ActiveGroonga::Schema.remove_column(:posts, :title)
75
+ assert_not_predicate(column_file, :exist?)
76
+ end
65
77
  end
@@ -880,7 +880,7 @@ EOT
880
880
  MaybeContainer.new(value, &formatter)
881
881
  end
882
882
 
883
- MAX_DIFF_TARGET_STRING_SIZE = 300
883
+ MAX_DIFF_TARGET_STRING_SIZE = 1000
884
884
  def diff_target_string?(string)
885
885
  if string.respond_to?(:bytesize)
886
886
  string.bytesize < MAX_DIFF_TARGET_STRING_SIZE
@@ -930,7 +930,10 @@ EOM
930
930
  if use_pp
931
931
  begin
932
932
  require 'pp' unless defined?(PP)
933
- return PP.pp(object, '').chomp
933
+ begin
934
+ return PP.pp(object, '').chomp
935
+ rescue NameError
936
+ end
934
937
  rescue LoadError
935
938
  self.use_pp = false
936
939
  end
@@ -102,15 +102,23 @@ module Test
102
102
  @to_run = []
103
103
  @color_scheme = ColorScheme.default
104
104
  @runner_options = {}
105
+ @default_arguments = []
105
106
  @workdir = nil
106
- default_config_file = "test-unit.yml"
107
- load_config(default_config_file) if File.exist?(default_config_file)
107
+ config_file = "test-unit.yml"
108
+ if File.exist?(config_file)
109
+ load_config(config_file)
110
+ else
111
+ global_config_file = File.expand_path("~/.test-unit.xml")
112
+ load_config(global_config_file) if File.exist?(global_config_file)
113
+ end
108
114
  yield(self) if block_given?
109
115
  end
110
116
 
111
117
  def process_args(args = ARGV)
118
+ default_arguments = @default_arguments.dup
112
119
  begin
113
- options.order!(args) {|arg| @to_run << arg}
120
+ @default_arguments.concat(args)
121
+ options.order!(@default_arguments) {|arg| @to_run << arg}
114
122
  rescue OptionParser::ParseError => e
115
123
  puts e
116
124
  puts options
@@ -119,6 +127,8 @@ module Test
119
127
  @filters << proc{false} unless(@filters.empty?)
120
128
  end
121
129
  not @to_run.empty?
130
+ ensure
131
+ @default_arguments = default_arguments
122
132
  end
123
133
 
124
134
  def options
@@ -304,7 +314,11 @@ module Test
304
314
  (config["#{runner_name}_options"] || {}).each do |key, value|
305
315
  key = key.to_sym
306
316
  value = ColorScheme[value] if key == :color_scheme
307
- runner_options[key.to_sym] = value
317
+ if key == :arguments
318
+ @default_arguments.concat(value.split)
319
+ else
320
+ runner_options[key.to_sym] = value
321
+ end
308
322
  end
309
323
  @runner_options = @runner_options.merge(runner_options)
310
324
  end
@@ -327,3 +341,4 @@ end
327
341
 
328
342
  require 'test/unit/runner/console'
329
343
  require 'test/unit/runner/emacs'
344
+ require 'test/unit/runner/tap'
@@ -76,7 +76,9 @@ module Test
76
76
  sub_test_suites << sub_test_suite unless sub_test_suite.empty?
77
77
  end
78
78
  else
79
- collect_file(path, sub_test_suites, already_gathered)
79
+ unless excluded_file?(path.basename.to_s)
80
+ collect_file(path, sub_test_suites, already_gathered)
81
+ end
80
82
  end
81
83
 
82
84
  test_suite = TestSuite.new(path.basename.to_s)
@@ -14,7 +14,11 @@ module Test
14
14
  "omission" => Color.new("blue", :bold => true),
15
15
  "notification" => Color.new("cyan", :bold => true),
16
16
  "error" => Color.new("yellow", :bold => true) +
17
- Color.new("black", :foreground => false))
17
+ Color.new("black", :foreground => false),
18
+ "case" => Color.new("white", :bold => true) +
19
+ Color.new("blue", :foreground => false),
20
+ "suite" => Color.new("white", :bold => true) +
21
+ Color.new("green", :foreground => false))
18
22
  end
19
23
 
20
24
  @@schemes = {}
@@ -69,18 +69,20 @@ module Test
69
69
  end
70
70
  end
71
71
 
72
+ NOT_PASS_THROUGH_EXCEPTIONS = []
72
73
  PASS_THROUGH_EXCEPTIONS = [NoMemoryError, SignalException, Interrupt,
73
74
  SystemExit]
74
75
  private
75
76
  def handle_all_exception(exception)
76
77
  case exception
78
+ when *NOT_PASS_THROUGH_EXCEPTIONS
77
79
  when *PASS_THROUGH_EXCEPTIONS
78
- false
79
- else
80
- problem_occurred
81
- add_error(exception)
82
- true
80
+ return false
83
81
  end
82
+
83
+ problem_occurred
84
+ add_error(exception)
85
+ true
84
86
  end
85
87
 
86
88
  def add_error(exception)
@@ -0,0 +1,8 @@
1
+ module Test
2
+ module Unit
3
+ AutoRunner.register_runner(:tap) do |auto_runner|
4
+ require 'test/unit/ui/tap/testrunner'
5
+ Test::Unit::UI::Tap::TestRunner
6
+ end
7
+ end
8
+ end
@@ -1,7 +1,9 @@
1
1
  #--
2
2
  #
3
3
  # Author:: Nathaniel Talbott.
4
- # Copyright:: Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
4
+ # Copyright::
5
+ # * Copyright (c) 2000-2003 Nathaniel Talbott. All rights reserved.
6
+ # * Copyright (c) 2008-2009 Kouhei Sutou <kou@clear-code.com>
5
7
  # License:: Ruby license.
6
8
 
7
9
  require 'test/unit/color-scheme'
@@ -36,6 +38,9 @@ module Test
36
38
  @progress_row_max = @options[:progress_row_max]
37
39
  @progress_row_max ||= guess_progress_row_max
38
40
  @already_outputted = false
41
+ @n_successes = 0
42
+ @indent = 0
43
+ @top_level = true
39
44
  @faults = []
40
45
  end
41
46
 
@@ -68,6 +73,8 @@ module Test
68
73
  @mediator.add_listener(TestRunnerMediator::FINISHED, &method(:finished))
69
74
  @mediator.add_listener(TestCase::STARTED, &method(:test_started))
70
75
  @mediator.add_listener(TestCase::FINISHED, &method(:test_finished))
76
+ @mediator.add_listener(TestSuite::STARTED, &method(:test_suite_started))
77
+ @mediator.add_listener(TestSuite::FINISHED, &method(:test_suite_finished))
71
78
  end
72
79
 
73
80
  def start_mediator
@@ -91,8 +98,6 @@ module Test
91
98
 
92
99
  def finished(elapsed_time)
93
100
  nl if output?(NORMAL) and !output?(VERBOSE)
94
- nl
95
- output("Finished in #{elapsed_time} seconds.")
96
101
  @faults.each_with_index do |fault, index|
97
102
  nl
98
103
  output_single("%3d) " % (index + 1))
@@ -101,25 +106,75 @@ module Test
101
106
  output(detail)
102
107
  end
103
108
  nl
109
+ output("Finished in #{elapsed_time} seconds.")
110
+ nl
104
111
  output(@result, result_color)
112
+ n_tests = @result.run_count
113
+ if n_tests.zero?
114
+ pass_percentage = 0
115
+ else
116
+ pass_percentage = 100.0 * (@n_successes / n_tests.to_f)
117
+ end
118
+ output("%g%% passed" % pass_percentage, result_color)
105
119
  end
106
120
 
107
121
  def format_fault(fault)
108
122
  fault.long_display
109
123
  end
110
-
124
+
111
125
  def test_started(name)
112
- output_single(name + ": ", nil, VERBOSE)
126
+ return unless output?(VERBOSE)
127
+
128
+ name = name.sub(/\(.+?\)\z/, '')
129
+ right_space = 8 * 2
130
+ left_space = @progress_row_max - right_space
131
+ left_space = left_space - indent.size - name.size
132
+ tab_stop = "\t" * ((left_space - 1) / 8)
133
+ output_single("#{indent}#{name}:#{tab_stop}", nil, VERBOSE)
134
+ @test_start = Time.now
113
135
  end
114
-
136
+
115
137
  def test_finished(name)
116
138
  unless @already_outputted
139
+ @n_successes += 1
117
140
  output_progress(".", color("success"))
118
141
  end
119
- nl(VERBOSE)
120
142
  @already_outputted = false
143
+
144
+ return unless output?(VERBOSE)
145
+
146
+ output(": (%f)" % (Time.now - @test_start), nil, VERBOSE)
121
147
  end
122
-
148
+
149
+ def test_suite_started(name)
150
+ if @top_level
151
+ @top_level = false
152
+ return
153
+ end
154
+
155
+ output_single(indent, nil, VERBOSE)
156
+ if /\A[A-Z]/ =~ name
157
+ _color = color("case")
158
+ else
159
+ _color = color("suite")
160
+ end
161
+ output_single(name, _color, VERBOSE)
162
+ output(": ", nil, VERBOSE)
163
+ @indent += 2
164
+ end
165
+
166
+ def test_suite_finished(name)
167
+ @indent -= 2
168
+ end
169
+
170
+ def indent
171
+ if output?(VERBOSE)
172
+ " " * @indent
173
+ else
174
+ ""
175
+ end
176
+ end
177
+
123
178
  def nl(level=NORMAL)
124
179
  output("", nil, level)
125
180
  end
@@ -0,0 +1,92 @@
1
+ #--
2
+ #
3
+ # Author:: Kouhei Sutou.
4
+ # Copyright:: Copyright (c) 2009 Kouhei Sutou <kou@clear-code.com>.
5
+ # License:: Ruby license.
6
+
7
+ require 'test/unit/ui/testrunner'
8
+ require 'test/unit/ui/testrunnermediator'
9
+
10
+ module Test
11
+ module Unit
12
+ module UI
13
+ module Tap
14
+
15
+ # Runs a Test::Unit::TestSuite and outputs result
16
+ # as TAP format.
17
+ class TestRunner < UI::TestRunner
18
+ def initialize(suite, options={})
19
+ super
20
+ @output = @options[:output] || STDOUT
21
+ @n_tests = 0
22
+ @already_outputted = false
23
+ end
24
+
25
+ # Begins the test run.
26
+ def start
27
+ setup_mediator
28
+ result = start_mediator
29
+ def result.passed?
30
+ true # for prove commend :<
31
+ end
32
+ result
33
+ end
34
+
35
+ private
36
+ def setup_mediator
37
+ @mediator = TestRunnerMediator.new(@suite)
38
+ attach_to_mediator
39
+ end
40
+
41
+ def attach_to_mediator
42
+ @mediator.add_listener(TestResult::FAULT, &method(:add_fault))
43
+ @mediator.add_listener(TestRunnerMediator::STARTED, &method(:started))
44
+ @mediator.add_listener(TestRunnerMediator::FINISHED, &method(:finished))
45
+ @mediator.add_listener(TestCase::STARTED, &method(:test_started))
46
+ @mediator.add_listener(TestCase::FINISHED, &method(:test_finished))
47
+ end
48
+
49
+ def start_mediator
50
+ @mediator.run_suite
51
+ end
52
+
53
+ def add_fault(fault)
54
+ puts("not ok #{@n_tests} - #{fault.short_display}")
55
+ fault.long_display.each_line do |line|
56
+ puts("# #{line}")
57
+ end
58
+ @already_outputted = true
59
+ end
60
+
61
+ def started(result)
62
+ @result = result
63
+ puts("1..#{@suite.size}")
64
+ end
65
+
66
+ def finished(elapsed_time)
67
+ puts("# Finished in #{elapsed_time} seconds.")
68
+ @result.to_s.each_line do |line|
69
+ puts("# #{line}")
70
+ end
71
+ end
72
+
73
+ def test_started(name)
74
+ @n_tests += 1
75
+ end
76
+
77
+ def test_finished(name)
78
+ unless @already_outputted
79
+ puts("ok #{@n_tests} - #{name}")
80
+ end
81
+ @already_outputted = false
82
+ end
83
+
84
+ def puts(*args)
85
+ @output.puts(*args)
86
+ @output.flush
87
+ end
88
+ end
89
+ end
90
+ end
91
+ end
92
+ end
@@ -240,11 +240,7 @@ EOT
240
240
  [:test, {:name => "test1_2"}]]],
241
241
  @test_case1.to_s)
242
242
 
243
- assert_collect([:suite, {:name => @no_load_sub_test_case5.basename.to_s},
244
- [:suite, {:name => _test_case_name("NoLoadSubTestCase5")},
245
- [:test, {:name => "test5_1"}],
246
- [:test, {:name => "test5_2"}]]],
247
- @no_load_sub_test_case5.to_s)
243
+ assert_collect(nil, @no_load_sub_test_case5.to_s)
248
244
  end
249
245
 
250
246
  def test_nil_pattern
@@ -8,6 +8,10 @@ class TestUnitColorScheme < Test::Unit::TestCase
8
8
  "notification" => color("cyan", :bold => true),
9
9
  "error" => color("yellow", :bold => true) +
10
10
  color("black", :foreground => false),
11
+ "case" => color("white", :bold => true) +
12
+ color("blue", :foreground => false),
13
+ "suite" => color("white", :bold => true) +
14
+ color("green", :foreground => false),
11
15
  },
12
16
  Test::Unit::ColorScheme.default.to_hash)
13
17
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: activegroonga
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.6
4
+ version: 0.0.7
5
5
  platform: ruby
6
6
  authors:
7
7
  - Kouhei Sutou
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-08-01 00:00:00 +09:00
12
+ date: 2009-10-02 00:00:00 +09:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -20,7 +20,7 @@ dependencies:
20
20
  requirements:
21
21
  - - "="
22
22
  - !ruby/object:Gem::Version
23
- version: 0.0.6
23
+ version: 0.0.7
24
24
  version:
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: activerecord
@@ -30,7 +30,7 @@ dependencies:
30
30
  requirements:
31
31
  - - "="
32
32
  - !ruby/object:Gem::Version
33
- version: 2.3.2
33
+ version: 2.3.4
34
34
  version:
35
35
  description: |-
36
36
  groonga provides both of full text search and column store
@@ -44,9 +44,9 @@ executables: []
44
44
  extensions: []
45
45
 
46
46
  extra_rdoc_files:
47
- - README.rdoc
48
- - NEWS.ja.rdoc
49
47
  - README.ja.rdoc
48
+ - NEWS.ja.rdoc
49
+ - README.rdoc
50
50
  - NEWS.rdoc
51
51
  files:
52
52
  - AUTHORS
@@ -61,11 +61,13 @@ files:
61
61
  - lib/active_groonga/associations/belongs_to_association.rb
62
62
  - lib/active_groonga/attribute_methods.rb
63
63
  - lib/active_groonga/base.rb
64
+ - lib/active_groonga/callbacks.rb
64
65
  - lib/active_groonga/column.rb
65
66
  - lib/active_groonga/dirty.rb
66
67
  - lib/active_groonga/dynamic_record_expression_builder.rb
67
68
  - lib/active_groonga/fixtures.rb
68
69
  - lib/active_groonga/migration.rb
70
+ - lib/active_groonga/observer.rb
69
71
  - lib/active_groonga/rails_support.rb
70
72
  - lib/active_groonga/reflection.rb
71
73
  - lib/active_groonga/schema.rb
@@ -121,12 +123,14 @@ files:
121
123
  - test-unit/lib/test/unit/priority.rb
122
124
  - test-unit/lib/test/unit/runner/console.rb
123
125
  - test-unit/lib/test/unit/runner/emacs.rb
126
+ - test-unit/lib/test/unit/runner/tap.rb
124
127
  - test-unit/lib/test/unit/testcase.rb
125
128
  - test-unit/lib/test/unit/testresult.rb
126
129
  - test-unit/lib/test/unit/testsuite.rb
127
130
  - test-unit/lib/test/unit/ui/console/outputlevel.rb
128
131
  - test-unit/lib/test/unit/ui/console/testrunner.rb
129
132
  - test-unit/lib/test/unit/ui/emacs/testrunner.rb
133
+ - test-unit/lib/test/unit/ui/tap/testrunner.rb
130
134
  - test-unit/lib/test/unit/ui/testrunner.rb
131
135
  - test-unit/lib/test/unit/ui/testrunnermediator.rb
132
136
  - test-unit/lib/test/unit/ui/testrunnerutilities.rb
@@ -175,12 +179,9 @@ files:
175
179
  - test/run-test.rb
176
180
  - test/test-associations.rb
177
181
  - test/test-base.rb
182
+ - test/test-callbacks.rb
178
183
  - test/test-schema-dumper.rb
179
184
  - test/test-schema.rb
180
- - test/tmp/database/database.groonga
181
- - test/tmp/database/database.groonga.0000000
182
- - test/tmp/database/database.groonga.0000100
183
- - test/tmp/database/database.groonga.0000101
184
185
  has_rdoc: true
185
186
  homepage: http://groonga.rubyforge.org/
186
187
  licenses: []
@@ -206,7 +207,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
206
207
  requirements: []
207
208
 
208
209
  rubyforge_project: groonga
209
- rubygems_version: 1.3.4
210
+ rubygems_version: 1.3.5
210
211
  signing_key:
211
212
  specification_version: 3
212
213
  summary: A library to use groonga with ActiveRecord like API.
Binary file